From d3920ccc4cd9c9e5ee012c2814c114fcadd93b2e Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Mon, 2 Mar 2026 23:43:07 -0500 Subject: [PATCH] Update TUI v3 plan and land parity fixes with smoke tests --- .../20260302T135526Z/report.json | 32 + .../20260302T142238Z/report.json | 32 + .../20260302T135526Z/report.json | 74 ++ .../20260302T135526Z/transcript.clean.txt | 1129 ++++++++++++++++ .../20260302T135526Z/transcript.raw.txt | 1130 +++++++++++++++++ .../20260302T142238Z/report.json | 74 ++ .../20260302T142238Z/transcript.clean.txt | 1129 ++++++++++++++++ .../20260302T142238Z/transcript.raw.txt | 1130 +++++++++++++++++ artifacts/coverage/coverage.json | 2 +- artifacts/coverage/coverage.tui2.slice.json | 1 + .../coverage.tui2_gate.candidate.json | 1 + artifacts/coverage/coverage.tui2_gate.json | 1 + artifacts/coverage/critical_gate.tui2.json | 21 + .../audit_20260302/bip39_seed_board.png | Bin 0 -> 33865 bytes .../audit_20260302/bip39_seed_board.svg | 250 ++++ .../ui_eval/audit_20260302/nostr_board.png | Bin 0 -> 31004 bytes .../ui_eval/audit_20260302/nostr_board.svg | 250 ++++ .../ui_eval/audit_20260302/note_board.png | Bin 0 -> 31067 bytes .../ui_eval/audit_20260302/note_board.svg | 250 ++++ .../ui_eval/audit_20260302/password_board.png | Bin 0 -> 32173 bytes .../ui_eval/audit_20260302/password_board.svg | 250 ++++ .../ui_eval/audit_20260302/pgp_board.png | Bin 0 -> 31323 bytes .../ui_eval/audit_20260302/pgp_board.svg | 250 ++++ .../ui_eval/audit_20260302/save_shot_test.png | 248 ++++ .../ui_eval/audit_20260302/ssh_board.png | Bin 0 -> 31112 bytes .../ui_eval/audit_20260302/ssh_board.svg | 250 ++++ .../ui_eval/audit_20260302/state_dump.txt | 336 +++++ .../audit_20260302/stored_password_board.png | Bin 0 -> 33033 bytes .../audit_20260302/stored_password_board.svg | 250 ++++ .../ui_eval/audit_20260302/totp_board.png | Bin 0 -> 30743 bytes .../ui_eval/audit_20260302/totp_board.svg | 250 ++++ artifacts/ui_eval/audit_20260302/ui_board.png | Bin 0 -> 30080 bytes artifacts/ui_eval/audit_20260302/ui_board.svg | 250 ++++ .../audit_20260302_phaseA/state_dump.txt | 66 + .../audit_20260302_phaseB/state_dump.txt | 31 + .../ui_eval/audit_20260302_phaseB2/screen.svg | 284 +++++ .../audit_20260302_phaseB2/state_dump.txt | 31 + .../ui_eval/audit_20260302_phaseB3/screen.svg | 284 +++++ .../audit_20260302_phaseB3/state_dump.txt | 25 + .../ui_eval/audit_20260302_phaseB4/screen.svg | 284 +++++ .../audit_20260302_phaseB4/state_dump.txt | 27 + .../ui_eval/audit_20260302_phaseB5/screen.svg | 284 +++++ .../audit_20260302_phaseB5/state_dump.txt | 24 + .../ui_eval/audit_20260302_phaseB6/screen.svg | 283 +++++ .../audit_20260302_phaseB6/state_dump.txt | 22 + .../audit_20260302_phaseC/state_dump.txt | 10 + .../audit_20260302_phaseC2/state_dump.txt | 2 + .../ui_eval/audit_20260302_phaseD/screen.svg | 159 +++ .../audit_20260302_phaseD/state_dump.txt | 53 + .../audit_20260302_phaseD2/state_dump.txt | 124 ++ .../audit_20260302_phaseD3/state_dump.txt | 24 + .../audit_20260302_phaseD4/state_dump.txt | 7 + .../ui_eval/audit_20260302_phaseE/screen.svg | 159 +++ .../audit_20260302_phaseE/state_dump.txt | 26 + .../ui_eval/audit_20260302_phaseE2/screen.svg | 159 +++ .../audit_20260302_phaseE2/state_dump.txt | 2 + .../ui_eval/audit_20260302_phaseE3/screen.svg | 284 +++++ .../audit_20260302_phaseE3/state_dump.txt | 8 + .../ui_eval/audit_20260302_phaseF/screen.svg | 159 +++ .../audit_20260302_phaseF/state_dump.txt | 7 + .../ui_eval/audit_20260302_phaseF2/screen.svg | 284 +++++ .../audit_20260302_phaseF2/state_dump.txt | 24 + .../ui_eval/audit_20260302_phaseF3/screen.svg | 282 ++++ .../audit_20260302_phaseF3/state_dump.txt | 9 + .../ui_eval/audit_20260302_phaseF4/screen.svg | 282 ++++ .../audit_20260302_phaseF4/state_dump.txt | 7 + .../ui_eval/audit_20260302_phaseF5/screen.svg | 282 ++++ .../audit_20260302_phaseF5/state_dump.txt | 4 + .../ui_eval/audit_20260302_phaseF6/screen.svg | 282 ++++ .../audit_20260302_phaseF6/state_dump.txt | 6 + .../ui_eval/audit_20260302_phaseF7/screen.svg | 282 ++++ .../audit_20260302_phaseF7/state_dump.txt | 6 + .../ui_eval/audit_20260302_phaseF8/screen.svg | 282 ++++ .../audit_20260302_phaseF8/state_dump.txt | 5 + .../audit_20260302_phaseFixA/screen.svg | 283 +++++ .../audit_20260302_phaseFixA/state_dump.txt | 5 + .../ui_eval/audit_20260302_phaseG/screen.svg | 159 +++ .../audit_20260302_phaseG/state_dump.txt | 56 + .../ui_eval/audit_20260302_phaseG2/screen.svg | 284 +++++ .../audit_20260302_phaseG2/state_dump.txt | 12 + .../ui_eval/audit_20260302_phaseH/screen.svg | 159 +++ .../audit_20260302_phaseH/state_dump.txt | 22 + .../ui_eval/audit_20260302_phaseH2/screen.svg | 282 ++++ .../audit_20260302_phaseH2/state_dump.txt | 6 + .../ui_eval/audit_20260302_phaseH3/screen.svg | 282 ++++ .../audit_20260302_phaseH3/state_dump.txt | 7 + .../ui_eval/audit_20260302_phaseH4/screen.svg | 282 ++++ .../audit_20260302_phaseH4/state_dump.txt | 5 + .../ui_eval/audit_20260302_phaseH5/screen.svg | 282 ++++ .../audit_20260302_phaseH5/state_dump.txt | 31 + .../ui_eval/audit_20260302_phaseH6/screen.svg | 282 ++++ .../audit_20260302_phaseH6/state_dump.txt | 9 + .../ui_eval/audit_20260302_phaseH7/screen.svg | 282 ++++ .../audit_20260302_phaseH7/state_dump.txt | 7 + .../ui_eval/audit_20260302_phaseH8/screen.svg | 282 ++++ .../audit_20260302_phaseH8/state_dump.txt | 19 + .../ui_eval/audit_20260302_phaseH9/screen.svg | 282 ++++ .../audit_20260302_phaseH9/state_dump.txt | 4 + .../board_managed_seed.png | 283 +++++ .../board_managed_seed.svg | 283 +++++ .../audit_20260303_after31/board_nostr.png | 283 +++++ .../audit_20260303_after31/board_nostr.svg | 283 +++++ .../audit_20260303_after31/board_note.png | 283 +++++ .../audit_20260303_after31/board_note.svg | 283 +++++ .../audit_20260303_after31/board_password.png | 283 +++++ .../audit_20260303_after31/board_password.svg | 283 +++++ .../audit_20260303_after31/board_pgp.png | 283 +++++ .../audit_20260303_after31/board_pgp.svg | 283 +++++ .../audit_20260303_after31/board_seed.png | 283 +++++ .../audit_20260303_after31/board_seed.svg | 283 +++++ .../audit_20260303_after31/board_ssh.png | 283 +++++ .../audit_20260303_after31/board_ssh.svg | 283 +++++ .../audit_20260303_after31/board_totp.png | 283 +++++ .../audit_20260303_after31/board_totp.svg | 283 +++++ .../audit_20260303_after31/state_dump.txt | 398 ++++++ .../audit_20260303_after31/ui_board_idle.png | 283 +++++ .../audit_20260303_after31/ui_board_idle.svg | 283 +++++ .../ui_board_managed_loaded.png | 283 +++++ .../ui_board_managed_loaded.svg | 283 +++++ .../audit_20260303_after32/state_dump.txt | 209 +++ .../audit_20260303_after34/state_dump.txt | 189 +++ artifacts/ui_eval/current_tui2.png | Bin 0 -> 16800 bytes artifacts/ui_eval/current_tui2.svg | 161 +++ artifacts/ui_eval/current_tui2_after.png | Bin 0 -> 37280 bytes artifacts/ui_eval/current_tui2_after.svg | 155 +++ artifacts/ui_eval/current_tui2_after10.png | Bin 0 -> 48793 bytes artifacts/ui_eval/current_tui2_after10.svg | 230 ++++ artifacts/ui_eval/current_tui2_after11.png | Bin 0 -> 54967 bytes artifacts/ui_eval/current_tui2_after11.svg | 230 ++++ artifacts/ui_eval/current_tui2_after12.png | Bin 0 -> 54523 bytes artifacts/ui_eval/current_tui2_after12.svg | 232 ++++ artifacts/ui_eval/current_tui2_after13.png | Bin 0 -> 49163 bytes artifacts/ui_eval/current_tui2_after13.svg | 231 ++++ artifacts/ui_eval/current_tui2_after14.png | Bin 0 -> 61888 bytes artifacts/ui_eval/current_tui2_after14.svg | 231 ++++ artifacts/ui_eval/current_tui2_after15.png | Bin 0 -> 61702 bytes artifacts/ui_eval/current_tui2_after15.svg | 230 ++++ artifacts/ui_eval/current_tui2_after16.png | Bin 0 -> 65490 bytes artifacts/ui_eval/current_tui2_after16.svg | 231 ++++ artifacts/ui_eval/current_tui2_after17.png | Bin 0 -> 63414 bytes artifacts/ui_eval/current_tui2_after17.svg | 230 ++++ artifacts/ui_eval/current_tui2_after18.png | Bin 0 -> 65689 bytes artifacts/ui_eval/current_tui2_after18.svg | 232 ++++ artifacts/ui_eval/current_tui2_after19.png | Bin 0 -> 54140 bytes artifacts/ui_eval/current_tui2_after19.svg | 228 ++++ artifacts/ui_eval/current_tui2_after2.png | Bin 0 -> 26116 bytes artifacts/ui_eval/current_tui2_after2.svg | 155 +++ artifacts/ui_eval/current_tui2_after20.png | Bin 0 -> 60068 bytes artifacts/ui_eval/current_tui2_after20.svg | 230 ++++ artifacts/ui_eval/current_tui2_after21.png | Bin 0 -> 60068 bytes artifacts/ui_eval/current_tui2_after21.svg | 230 ++++ artifacts/ui_eval/current_tui2_after22.png | Bin 0 -> 65697 bytes artifacts/ui_eval/current_tui2_after22.svg | 230 ++++ artifacts/ui_eval/current_tui2_after23.png | Bin 0 -> 64054 bytes artifacts/ui_eval/current_tui2_after23.svg | 230 ++++ .../ui_eval/current_tui2_after24_2fa.png | Bin 0 -> 57628 bytes .../ui_eval/current_tui2_after24_2fa.svg | 230 ++++ .../ui_eval/current_tui2_after24_note.png | Bin 0 -> 59273 bytes .../ui_eval/current_tui2_after24_note.svg | 230 ++++ .../ui_eval/current_tui2_after24_password.png | Bin 0 -> 64213 bytes .../ui_eval/current_tui2_after24_password.svg | 230 ++++ .../ui_eval/current_tui2_after25_nostr.png | Bin 0 -> 65316 bytes .../ui_eval/current_tui2_after25_nostr.svg | 230 ++++ .../ui_eval/current_tui2_after25_pgp.png | Bin 0 -> 57539 bytes .../ui_eval/current_tui2_after25_pgp.svg | 230 ++++ .../ui_eval/current_tui2_after25_ssh.png | Bin 0 -> 57531 bytes .../ui_eval/current_tui2_after25_ssh.svg | 230 ++++ .../ui_eval/current_tui2_after26_ssh.png | Bin 0 -> 57798 bytes .../ui_eval/current_tui2_after26_ssh.svg | 230 ++++ .../ui_eval/current_tui2_after27_nostr.png | Bin 0 -> 62039 bytes .../ui_eval/current_tui2_after27_nostr.svg | 230 ++++ .../ui_eval/current_tui2_after27_pgp.png | Bin 0 -> 58163 bytes .../ui_eval/current_tui2_after27_pgp.svg | 230 ++++ .../ui_eval/current_tui2_after28_nostr.png | Bin 0 -> 66221 bytes .../ui_eval/current_tui2_after28_nostr.svg | 230 ++++ .../ui_eval/current_tui2_after28_pgp.png | Bin 0 -> 64317 bytes .../ui_eval/current_tui2_after28_pgp.svg | 230 ++++ .../ui_eval/current_tui2_after29_nostr.png | Bin 0 -> 60088 bytes .../ui_eval/current_tui2_after29_nostr.svg | 231 ++++ .../ui_eval/current_tui2_after29_note.png | Bin 0 -> 58969 bytes .../ui_eval/current_tui2_after29_note.svg | 231 ++++ .../ui_eval/current_tui2_after29_password.png | Bin 0 -> 62272 bytes .../ui_eval/current_tui2_after29_password.svg | 231 ++++ .../ui_eval/current_tui2_after29_pgp.png | Bin 0 -> 61095 bytes .../ui_eval/current_tui2_after29_pgp.svg | 231 ++++ .../ui_eval/current_tui2_after29_ssh.png | Bin 0 -> 61228 bytes .../ui_eval/current_tui2_after29_ssh.svg | 231 ++++ .../ui_eval/current_tui2_after29_totp.png | Bin 0 -> 59486 bytes .../ui_eval/current_tui2_after29_totp.svg | 231 ++++ .../ui_eval/current_tui2_after2_convert.png | Bin 0 -> 16594 bytes artifacts/ui_eval/current_tui2_after3.png | Bin 0 -> 81744 bytes artifacts/ui_eval/current_tui2_after3.svg | 278 ++++ .../ui_eval/current_tui2_after30_nostr.png | 156 +++ .../ui_eval/current_tui2_after30_nostr.svg | 156 +++ .../ui_eval/current_tui2_after30_note.png | 156 +++ .../ui_eval/current_tui2_after30_note.svg | 156 +++ .../ui_eval/current_tui2_after30_password.png | 156 +++ .../ui_eval/current_tui2_after30_password.svg | 156 +++ .../ui_eval/current_tui2_after30_pgp.png | 156 +++ .../ui_eval/current_tui2_after30_pgp.svg | 156 +++ .../ui_eval/current_tui2_after30_ssh.png | 156 +++ .../ui_eval/current_tui2_after30_ssh.svg | 156 +++ .../ui_eval/current_tui2_after30_totp.png | 156 +++ .../ui_eval/current_tui2_after30_totp.svg | 156 +++ .../ui_eval/current_tui2_after31_nostr.png | 248 ++++ .../ui_eval/current_tui2_after31_nostr.svg | 248 ++++ .../ui_eval/current_tui2_after31_note.png | 248 ++++ .../ui_eval/current_tui2_after31_note.svg | 248 ++++ .../ui_eval/current_tui2_after31_password.png | 248 ++++ .../ui_eval/current_tui2_after31_password.svg | 248 ++++ .../ui_eval/current_tui2_after31_pgp.png | 248 ++++ .../ui_eval/current_tui2_after31_pgp.svg | 248 ++++ .../ui_eval/current_tui2_after31_ssh.png | 248 ++++ .../ui_eval/current_tui2_after31_ssh.svg | 248 ++++ .../current_tui2_after31_stored_password.png | 248 ++++ .../current_tui2_after31_stored_password.svg | 248 ++++ .../ui_eval/current_tui2_after31_totp.png | 248 ++++ .../ui_eval/current_tui2_after31_totp.svg | 248 ++++ .../ui_eval/current_tui2_after32_nostr.png | 246 ++++ .../ui_eval/current_tui2_after32_nostr.svg | 246 ++++ .../ui_eval/current_tui2_after32_pgp.png | 246 ++++ .../ui_eval/current_tui2_after32_pgp.svg | 246 ++++ .../ui_eval/current_tui2_after32_ssh.png | 246 ++++ .../ui_eval/current_tui2_after32_ssh.svg | 246 ++++ .../current_tui2_after33_managed_seed.png | 246 ++++ .../current_tui2_after33_managed_seed.svg | 246 ++++ .../ui_eval/current_tui2_after33_seed.png | 246 ++++ .../ui_eval/current_tui2_after33_seed.svg | 246 ++++ .../current_tui2_after34_managed_seed.png | Bin 0 -> 33071 bytes .../current_tui2_after34_managed_seed.svg | 247 ++++ .../current_tui2_after34_managed_seed.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_nostr.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_nostr.svg | 247 ++++ .../ui_eval/current_tui2_after34_nostr.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_note.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_note.svg | 247 ++++ .../ui_eval/current_tui2_after34_note.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_password.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_password.svg | 247 ++++ .../current_tui2_after34_password.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_pgp.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_pgp.svg | 247 ++++ .../ui_eval/current_tui2_after34_pgp.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_seed.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_seed.svg | 247 ++++ .../ui_eval/current_tui2_after34_seed.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_ssh.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_ssh.svg | 247 ++++ .../ui_eval/current_tui2_after34_ssh.svgsrc | 247 ++++ .../ui_eval/current_tui2_after34_totp.png | Bin 0 -> 33071 bytes .../ui_eval/current_tui2_after34_totp.svg | 247 ++++ .../ui_eval/current_tui2_after34_totp.svgsrc | 247 ++++ .../current_tui2_after35_managed_seed.svg | 245 ++++ .../ui_eval/current_tui2_after35_nostr.svg | 245 ++++ .../ui_eval/current_tui2_after35_note.svg | 245 ++++ .../ui_eval/current_tui2_after35_password.svg | 245 ++++ .../ui_eval/current_tui2_after35_pgp.svg | 245 ++++ .../ui_eval/current_tui2_after35_seed.svg | 245 ++++ .../ui_eval/current_tui2_after35_ssh.svg | 245 ++++ .../ui_eval/current_tui2_after35_totp.svg | 245 ++++ .../current_tui2_after36_managed_seed.svg | 245 ++++ .../ui_eval/current_tui2_after36_nostr.svg | 245 ++++ .../ui_eval/current_tui2_after36_note.svg | 245 ++++ .../ui_eval/current_tui2_after36_password.svg | 245 ++++ .../ui_eval/current_tui2_after36_pgp.svg | 245 ++++ .../ui_eval/current_tui2_after36_seed.svg | 245 ++++ .../ui_eval/current_tui2_after36_ssh.svg | 245 ++++ .../ui_eval/current_tui2_after36_totp.svg | 245 ++++ .../ui_eval/current_tui2_after37_totp.svg | 245 ++++ .../current_tui2_after38_note_compact.svg | 221 ++++ ...urrent_tui2_after39_note_compact_short.svg | 173 +++ .../current_tui2_after39_note_standard.svg | 245 ++++ artifacts/ui_eval/current_tui2_after4.png | Bin 0 -> 84555 bytes artifacts/ui_eval/current_tui2_after4.svg | 278 ++++ .../current_tui2_after40_managed_seed.svg | 245 ++++ .../ui_eval/current_tui2_after40_nostr.svg | 245 ++++ .../ui_eval/current_tui2_after40_note.svg | 245 ++++ .../ui_eval/current_tui2_after40_password.svg | 245 ++++ .../ui_eval/current_tui2_after40_pgp.svg | 245 ++++ .../ui_eval/current_tui2_after40_seed.svg | 245 ++++ .../ui_eval/current_tui2_after40_ssh.svg | 245 ++++ .../ui_eval/current_tui2_after40_totp.svg | 245 ++++ artifacts/ui_eval/current_tui2_after5.png | Bin 0 -> 84555 bytes artifacts/ui_eval/current_tui2_after5.svg | 278 ++++ artifacts/ui_eval/current_tui2_after6.png | Bin 0 -> 44721 bytes artifacts/ui_eval/current_tui2_after6.svg | 230 ++++ artifacts/ui_eval/current_tui2_after7.png | Bin 0 -> 54563 bytes artifacts/ui_eval/current_tui2_after7.svg | 230 ++++ artifacts/ui_eval/current_tui2_after8.png | Bin 0 -> 55837 bytes artifacts/ui_eval/current_tui2_after8.svg | 230 ++++ artifacts/ui_eval/current_tui2_after9.png | Bin 0 -> 56450 bytes artifacts/ui_eval/current_tui2_after9.svg | 230 ++++ .../ui_eval/current_tui2_before_nostr.png | Bin 0 -> 56417 bytes .../ui_eval/current_tui2_before_nostr.svg | 230 ++++ artifacts/ui_eval/current_tui2_before_pgp.png | Bin 0 -> 58163 bytes artifacts/ui_eval/current_tui2_before_pgp.svg | 230 ++++ artifacts/ui_eval/current_tui2_chrome.png | Bin 0 -> 46179 bytes docs/README.md | 3 +- docs/tui_v2_plan.md | 8 +- docs/tui_v3_plan.md | 127 ++ memory-update.md | 265 +--- scripts/interactive_agent_tui_test.py | 269 ++-- src/seedpass/tui_v3/app.py | 105 +- src/seedpass/tui_v3/widgets/grid.py | 7 + src/seedpass/tui_v3/widgets/sidebar.py | 21 +- src/tests/test_tui_v3_smoke.py | 167 +++ 306 files changed, 51128 insertions(+), 425 deletions(-) create mode 100644 artifacts/agent_tui2_test/20260302T135526Z/report.json create mode 100644 artifacts/agent_tui2_test/20260302T142238Z/report.json create mode 100644 artifacts/agent_tui_test/20260302T135526Z/report.json create mode 100644 artifacts/agent_tui_test/20260302T135526Z/transcript.clean.txt create mode 100644 artifacts/agent_tui_test/20260302T135526Z/transcript.raw.txt create mode 100644 artifacts/agent_tui_test/20260302T142238Z/report.json create mode 100644 artifacts/agent_tui_test/20260302T142238Z/transcript.clean.txt create mode 100644 artifacts/agent_tui_test/20260302T142238Z/transcript.raw.txt create mode 100644 artifacts/coverage/coverage.tui2.slice.json create mode 100644 artifacts/coverage/coverage.tui2_gate.candidate.json create mode 100644 artifacts/coverage/coverage.tui2_gate.json create mode 100644 artifacts/coverage/critical_gate.tui2.json create mode 100644 artifacts/ui_eval/audit_20260302/bip39_seed_board.png create mode 100644 artifacts/ui_eval/audit_20260302/bip39_seed_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/nostr_board.png create mode 100644 artifacts/ui_eval/audit_20260302/nostr_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/note_board.png create mode 100644 artifacts/ui_eval/audit_20260302/note_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/password_board.png create mode 100644 artifacts/ui_eval/audit_20260302/password_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/pgp_board.png create mode 100644 artifacts/ui_eval/audit_20260302/pgp_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/save_shot_test.png create mode 100644 artifacts/ui_eval/audit_20260302/ssh_board.png create mode 100644 artifacts/ui_eval/audit_20260302/ssh_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302/stored_password_board.png create mode 100644 artifacts/ui_eval/audit_20260302/stored_password_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/totp_board.png create mode 100644 artifacts/ui_eval/audit_20260302/totp_board.svg create mode 100644 artifacts/ui_eval/audit_20260302/ui_board.png create mode 100644 artifacts/ui_eval/audit_20260302/ui_board.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseA/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB2/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseB2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB3/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseB3/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB4/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseB4/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB5/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseB5/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseB6/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseB6/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseC/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseC2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseD/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseD/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseD2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseD3/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseD4/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseE/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseE/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseE2/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseE2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseE3/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseE3/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF2/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF3/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF3/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF4/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF4/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF5/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF5/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF6/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF6/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF7/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF7/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseF8/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseF8/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseFixA/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseFixA/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseG/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseG/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseG2/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseG2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH2/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH2/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH3/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH3/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH4/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH4/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH5/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH5/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH6/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH6/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH7/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH7/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH8/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH8/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260302_phaseH9/screen.svg create mode 100644 artifacts/ui_eval/audit_20260302_phaseH9/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_managed_seed.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_managed_seed.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_nostr.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_nostr.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_note.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_note.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_password.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_password.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_pgp.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_pgp.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_seed.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_seed.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_ssh.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_ssh.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_totp.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/board_totp.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260303_after31/ui_board_idle.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/ui_board_idle.svg create mode 100644 artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.png create mode 100644 artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.svg create mode 100644 artifacts/ui_eval/audit_20260303_after32/state_dump.txt create mode 100644 artifacts/ui_eval/audit_20260303_after34/state_dump.txt create mode 100644 artifacts/ui_eval/current_tui2.png create mode 100644 artifacts/ui_eval/current_tui2.svg create mode 100644 artifacts/ui_eval/current_tui2_after.png create mode 100644 artifacts/ui_eval/current_tui2_after.svg create mode 100644 artifacts/ui_eval/current_tui2_after10.png create mode 100644 artifacts/ui_eval/current_tui2_after10.svg create mode 100644 artifacts/ui_eval/current_tui2_after11.png create mode 100644 artifacts/ui_eval/current_tui2_after11.svg create mode 100644 artifacts/ui_eval/current_tui2_after12.png create mode 100644 artifacts/ui_eval/current_tui2_after12.svg create mode 100644 artifacts/ui_eval/current_tui2_after13.png create mode 100644 artifacts/ui_eval/current_tui2_after13.svg create mode 100644 artifacts/ui_eval/current_tui2_after14.png create mode 100644 artifacts/ui_eval/current_tui2_after14.svg create mode 100644 artifacts/ui_eval/current_tui2_after15.png create mode 100644 artifacts/ui_eval/current_tui2_after15.svg create mode 100644 artifacts/ui_eval/current_tui2_after16.png create mode 100644 artifacts/ui_eval/current_tui2_after16.svg create mode 100644 artifacts/ui_eval/current_tui2_after17.png create mode 100644 artifacts/ui_eval/current_tui2_after17.svg create mode 100644 artifacts/ui_eval/current_tui2_after18.png create mode 100644 artifacts/ui_eval/current_tui2_after18.svg create mode 100644 artifacts/ui_eval/current_tui2_after19.png create mode 100644 artifacts/ui_eval/current_tui2_after19.svg create mode 100644 artifacts/ui_eval/current_tui2_after2.png create mode 100644 artifacts/ui_eval/current_tui2_after2.svg create mode 100644 artifacts/ui_eval/current_tui2_after20.png create mode 100644 artifacts/ui_eval/current_tui2_after20.svg create mode 100644 artifacts/ui_eval/current_tui2_after21.png create mode 100644 artifacts/ui_eval/current_tui2_after21.svg create mode 100644 artifacts/ui_eval/current_tui2_after22.png create mode 100644 artifacts/ui_eval/current_tui2_after22.svg create mode 100644 artifacts/ui_eval/current_tui2_after23.png create mode 100644 artifacts/ui_eval/current_tui2_after23.svg create mode 100644 artifacts/ui_eval/current_tui2_after24_2fa.png create mode 100644 artifacts/ui_eval/current_tui2_after24_2fa.svg create mode 100644 artifacts/ui_eval/current_tui2_after24_note.png create mode 100644 artifacts/ui_eval/current_tui2_after24_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after24_password.png create mode 100644 artifacts/ui_eval/current_tui2_after24_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after25_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after25_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after25_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after25_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after25_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after25_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after26_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after26_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after27_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after27_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after27_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after27_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after28_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after28_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after28_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after28_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after29_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_note.png create mode 100644 artifacts/ui_eval/current_tui2_after29_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_password.png create mode 100644 artifacts/ui_eval/current_tui2_after29_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after29_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after29_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after29_totp.png create mode 100644 artifacts/ui_eval/current_tui2_after29_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after2_convert.png create mode 100644 artifacts/ui_eval/current_tui2_after3.png create mode 100644 artifacts/ui_eval/current_tui2_after3.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after30_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_note.png create mode 100644 artifacts/ui_eval/current_tui2_after30_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_password.png create mode 100644 artifacts/ui_eval/current_tui2_after30_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after30_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after30_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after30_totp.png create mode 100644 artifacts/ui_eval/current_tui2_after30_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after31_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_note.png create mode 100644 artifacts/ui_eval/current_tui2_after31_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_password.png create mode 100644 artifacts/ui_eval/current_tui2_after31_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after31_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after31_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_stored_password.png create mode 100644 artifacts/ui_eval/current_tui2_after31_stored_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after31_totp.png create mode 100644 artifacts/ui_eval/current_tui2_after31_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after32_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after32_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after32_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after32_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after32_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after32_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after33_managed_seed.png create mode 100644 artifacts/ui_eval/current_tui2_after33_managed_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after33_seed.png create mode 100644 artifacts/ui_eval/current_tui2_after33_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_managed_seed.png create mode 100644 artifacts/ui_eval/current_tui2_after34_managed_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_managed_seed.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_after34_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_nostr.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_note.png create mode 100644 artifacts/ui_eval/current_tui2_after34_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_note.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_password.png create mode 100644 artifacts/ui_eval/current_tui2_after34_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_password.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_after34_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_pgp.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_seed.png create mode 100644 artifacts/ui_eval/current_tui2_after34_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_seed.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_ssh.png create mode 100644 artifacts/ui_eval/current_tui2_after34_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_ssh.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after34_totp.png create mode 100644 artifacts/ui_eval/current_tui2_after34_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after34_totp.svgsrc create mode 100644 artifacts/ui_eval/current_tui2_after35_managed_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after35_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_managed_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after36_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after37_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after38_note_compact.svg create mode 100644 artifacts/ui_eval/current_tui2_after39_note_compact_short.svg create mode 100644 artifacts/ui_eval/current_tui2_after39_note_standard.svg create mode 100644 artifacts/ui_eval/current_tui2_after4.png create mode 100644 artifacts/ui_eval/current_tui2_after4.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_managed_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_note.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_password.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_seed.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_ssh.svg create mode 100644 artifacts/ui_eval/current_tui2_after40_totp.svg create mode 100644 artifacts/ui_eval/current_tui2_after5.png create mode 100644 artifacts/ui_eval/current_tui2_after5.svg create mode 100644 artifacts/ui_eval/current_tui2_after6.png create mode 100644 artifacts/ui_eval/current_tui2_after6.svg create mode 100644 artifacts/ui_eval/current_tui2_after7.png create mode 100644 artifacts/ui_eval/current_tui2_after7.svg create mode 100644 artifacts/ui_eval/current_tui2_after8.png create mode 100644 artifacts/ui_eval/current_tui2_after8.svg create mode 100644 artifacts/ui_eval/current_tui2_after9.png create mode 100644 artifacts/ui_eval/current_tui2_after9.svg create mode 100644 artifacts/ui_eval/current_tui2_before_nostr.png create mode 100644 artifacts/ui_eval/current_tui2_before_nostr.svg create mode 100644 artifacts/ui_eval/current_tui2_before_pgp.png create mode 100644 artifacts/ui_eval/current_tui2_before_pgp.svg create mode 100644 artifacts/ui_eval/current_tui2_chrome.png create mode 100644 docs/tui_v3_plan.md create mode 100644 src/tests/test_tui_v3_smoke.py diff --git a/artifacts/agent_tui2_test/20260302T135526Z/report.json b/artifacts/agent_tui2_test/20260302T135526Z/report.json new file mode 100644 index 00000000..d9d8336b --- /dev/null +++ b/artifacts/agent_tui2_test/20260302T135526Z/report.json @@ -0,0 +1,32 @@ +{ + "timestamp_utc": "20260302T135527Z", + "scenario": "extended", + "status": "passed", + "failure": "", + "duration_sec": 1.294, + "coverage_points": { + "startup": true, + "search": true, + "document_edit": true, + "graph_navigation": true, + "archive_restore": true, + "palette_navigation": true, + "help_overlay": true + }, + "steps": [ + { + "step_id": "extended", + "description": "Drive extended TUI v2 user/agent workflow.", + "status": "passed", + "duration_sec": 1.293994883002597, + "detail": null + } + ], + "activity_log": [ + "Unknown command: unknown-cmd", + "No entries match current filter/search", + "Moved to page 1/1", + "Help opened", + "Help closed" + ] +} \ No newline at end of file diff --git a/artifacts/agent_tui2_test/20260302T142238Z/report.json b/artifacts/agent_tui2_test/20260302T142238Z/report.json new file mode 100644 index 00000000..ca095401 --- /dev/null +++ b/artifacts/agent_tui2_test/20260302T142238Z/report.json @@ -0,0 +1,32 @@ +{ + "timestamp_utc": "20260302T142240Z", + "scenario": "extended", + "status": "passed", + "failure": "", + "duration_sec": 1.418, + "coverage_points": { + "startup": true, + "search": true, + "document_edit": true, + "graph_navigation": true, + "archive_restore": true, + "palette_navigation": true, + "help_overlay": true + }, + "steps": [ + { + "step_id": "extended", + "description": "Drive extended TUI v2 user/agent workflow.", + "status": "passed", + "duration_sec": 1.4178512609942118, + "detail": null + } + ], + "activity_log": [ + "Unknown command: unknown-cmd", + "No entries match current filter/search", + "Moved to page 1/1", + "Help opened", + "Help closed" + ] +} \ No newline at end of file diff --git a/artifacts/agent_tui_test/20260302T135526Z/report.json b/artifacts/agent_tui_test/20260302T135526Z/report.json new file mode 100644 index 00000000..8a7c7cf5 --- /dev/null +++ b/artifacts/agent_tui_test/20260302T135526Z/report.json @@ -0,0 +1,74 @@ +{ + "timestamp_utc": "20260302T135526Z", + "command": [ + ".venv/bin/python", + "/home/user/Documents/GitHub/SeedPass/src/main.py", + "--no-clipboard" + ], + "repo_root": "/home/user/Documents/GitHub/SeedPass", + "home_dir": "/tmp/seedpass-agent-home-o6cop6yv", + "scenario": "extended", + "stress_cycles": null, + "stress_seed": null, + "required_coverage_keys": [ + "startup_onboarding", + "main_menu", + "invalid_input_resilience", + "add_password_quick", + "invalid_length_validation", + "add_totp", + "add_all_entry_types", + "retrieve_entry", + "search_entries", + "list_entries", + "modify_entry", + "archive_restore", + "totp_codes_view", + "settings_toggles_lock_unlock", + "settings_stats", + "graceful_exit" + ], + "required_post_conditions": [ + "archive_restore_consistency", + "lock_unlock_recovers_retrieval" + ], + "duration_sec": 32.726, + "seedpass_exit_code": 0, + "status": "passed", + "failure": null, + "steps": [ + { + "step_id": "extended_scenario", + "description": "Drive end-to-end deterministic TUI coverage workflow.", + "status": "passed", + "duration_sec": 32.42278435899061, + "detail": null + } + ], + "coverage_points": { + "add_all_entry_types": true, + "add_password_quick": true, + "add_totp": true, + "archive_restore": true, + "graceful_exit": true, + "invalid_input_resilience": true, + "invalid_length_validation": true, + "list_entries": true, + "main_menu": true, + "modify_entry": true, + "retrieve_entry": true, + "search_entries": true, + "seeded_negative_campaign": false, + "settings_stats": true, + "settings_toggles_lock_unlock": true, + "startup_onboarding": true, + "stress_cycles": false, + "totp_codes_view": true + }, + "post_conditions": { + "archive_restore_consistency": true, + "lock_unlock_recovers_retrieval": true + }, + "transcript_clean": "/home/user/Documents/GitHub/SeedPass/artifacts/agent_tui_test/20260302T135526Z/transcript.clean.txt", + "transcript_raw": "/home/user/Documents/GitHub/SeedPass/artifacts/agent_tui_test/20260302T135526Z/transcript.raw.txt" +} \ No newline at end of file diff --git a/artifacts/agent_tui_test/20260302T135526Z/transcript.clean.txt b/artifacts/agent_tui_test/20260302T135526Z/transcript.clean.txt new file mode 100644 index 00000000..fc69e767 --- /dev/null +++ b/artifacts/agent_tui_test/20260302T135526Z/transcript.clean.txt @@ -0,0 +1,1129 @@ +Startup Options: +1. Continue +2. Restore from backup +Select an option: 1 +Initialized checksum for '/home/user/Documents/GitHub/SeedPass/src/seedpass/core/manager.py'. +Choose an option: +1. Paste in an existing seed in full +2. Enter an existing seed one word at a time +3. Generate a new seed +4. Restore from Nostr +5. Restore from local backup +Enter choice (1/2/3/4/5): 3 +Your new BIP-85 seed phrase is: +sea stick affair impose swing steel earth flash cricket chat scale shoulder +Please write this down and keep it in a safe place! +Do you want to use this generated seed? (Y/N): Y +Enter a new password: ************* +Confirm your password: ************* +c +=== Seed Profile Stats === +Total entries: 0 + password: 0 + totp: 0 + ssh: 0 + seed: 0 + pgp: 0 + nostr: 0 + key_value: 0 + managed_account: 0 + document: 0 +Relays configured: 3 +Backups: 0 (dir: /tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to continue. + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 99 +Invalid choice. Please select a valid option. +c1 +Seed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 99 +Invalid choice. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: abc +Error: Index must be a number. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Password +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Choose mode: [Q]uick or [A]dvanced? q +Enter the label or website name: agent.example +Enter the username (optional): agent +Enter the URL (optional): https://agent.example +Enter desired password length (default 16): 3 +Error: Password length must be between 8 and 128. +Enter desired password length (default 16): 12 +Include special characters? (Y/n): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459728.json.enc'. +[+] Entry added successfully at index 0. + +[+] Password generated and indexed with ID 0. + +Password for agent.example: Ib!002tI:^Ff + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: Ib!002tI:^Ff +Associated Username: agent +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 3 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter search string: agent +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Search Results: + +0. Password - agent.example (agent) +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > 2FA (TOTP) +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add TOTP: +1. Make 2FA +2. Import 2FA (paste otpauth URI or secret) +Select option or press Enter to go back: 1 +Label: agent-totp +Period (default 30): +Digits (default 6): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] TOTP entry added with ID 1. + +Add this URI to your authenticator app: +otpauth://totp/agent-totp?secret=YZ4OXCXU4YJPFJLHCQBFB57HDGNIPS2J&period=30&digits=6 +█▀▀▀▀▀▀▀█▀▀█▀█▀▀████▀▀█▀█▀▀████▀▀▀▀▀▀▀█ +█ █▀▀▀█ ██▀▄     ▀▀ ▀ ▀▀ █▄   █ █▀▀▀█ █ +█ █   █ █ ▄ ▄▀▀ ▀▀ ▀▄▀▀ ▀▄  ▀ █ █   █ █ +█ ▀▀▀▀▀ █ █ ▄▀▄ █ ▄ ▄▀█▀█ █ █ █ ▀▀▀▀▀ █ +█▀███▀█▀▀ █▀ ▀▄██▀▄ █▄▄▄▄▄█ ▀█▀▀▀▀▀██▀█ +█▀▀▀▀▄▄▀▀█ ▀  ▀▀▀██   ▄▄█▄ ▀▀▀█▀▄  ▄▄██ +█▀ █▀▄█▀█ ▀ █▄▀▀▄▄▄▀██ ▀▀▄█▄▀▄█  █ ▄ ▀█ +██ ▀ █▄▀  ██▀ █▀ ▄▀██▄█  ▀█▄ ▀██▄ ▀▀  █ +█▄▀▀ █ ▀▄▄▄▀▀█ █ █▄▀▀▄ █▀▄█▀▄▄██▀▄█ ▀██ +██▄█▀█ ▀▀▀▀█▀▄▄▀█   █▄█ ▀▄▄▀ ▄▄ ▄█▀█▄██ +█▄█▀███▀▄▄█▀▀▀ █▀█▄ ▄█ ▀█▀█▄█ ▀ ██  ▀▄█ +█ █ ▀  ▀█  ▄  ▀ ██▄▀█▀█▀ █ ▄   ▀▄▄█▀▀▀█ +██ ██ █▀▀  ▀▀█ █▄▀██▀▄ ▄▄▄▄▀▄█▄▀█ ▀ ▄▀█ +█▄▄▄█▀ ▀▀▀█▀▄ ▄▄▀█ ▄▀▄▀▄▄ ▀▀▀ ▄█▀▀ ████ +█▀▀ ▄▀ ▀▀█ ▄▀▄▄█▄ █ ▀  ▀█▄██▄  ▀ ▀  █▀█ +█▀▀▀▀▀▀▀█ ▄▀█ ▀█▄ ▀███▀█ ▀██▄ █▀█ ▄▀█▀█ +█ █▀▀▀█ █▀ █ ▄▄▀██▄  █▀▄ ▄█ █ ▀▀▀ ▀   █ +█ █   █ ██▀▄█▀▀██ █▀▀ █ ▄▄▄▀▄▄   █▄▄▀██ +█ ▀▀▀▀▀ █▀ ██ ▀ ▀█ ▄ █ ▀▄ █▀▄█ ▄█▀██ ▀█ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +Secret: YZ4OXCXU4YJPFJLHCQBFB57HDGNIPS2J + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 052417 [###################-] 1s + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 3 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > SSH Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label (key): agent-ssh +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying SSH keys reveals sensitive information. Continue? (Y/N): y + +[+] SSH key entry added with ID 2. + +Public Key: +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEARscAW8D7LYXy0Z04Qgvz8Ywo+nA2k2xzbcHqOiTci0Q= +-----END PUBLIC KEY----- + +Private Key: +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIDhdKI6dUw9j/k3ZXyuR4/owjuVRUGAUTjajq4RXiH1f +-----END PRIVATE KEY----- + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Seed Phrase +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-seed +Word count (12 or 24, default 24): 12 +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying the seed phrase reveals sensitive information. Continue? (Y/N): y + +[+] Seed entry 'agent-seed' added with ID 3. + +Index: 3 +Label: agent-seed +Seed Phrase: +quit huge harvest frozen expose oak tourist coffee welcome guide fall tower +Show Compact Seed QR? (Y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 5 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Nostr Key Pair +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-nostr +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Nostr key entry added with ID 4. + +npub: npub1ckwx8q3tsm7lv93lrl0c0t6kyyplje20dnre5frsfmkqtsav0q0sg4tmgj +nsec: nsec1aq92mhtr3vdlyu9daf9c775hcl7nsjcsw5w4spyxaknq9jdlzrvqe6hp0g +Show QR code for npub? (Y/N): n +WARNING: Displaying the nsec QR reveals your private key. Continue? (Y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > PGP Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-pgp +Key type (ed25519 or rsa, default ed25519): +User ID (optional): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying the PGP key reveals sensitive information. Continue? (Y/N): y + +[+] PGP key entry added with ID 5. + +Fingerprint: 9D26BEE44B42970E5E8EC62ADE88674EED7637C5 +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xVgEOG1DgBYJKwYBBAHaRw8BAQdAuHTnUKchhMfu38WyFXP8tu+5G6rZjZka+FfW +PSK9SQ8AAP4rwf501VvOr1ODceFUj2Gn/+yBzeTpUhXbD6IQt+/s7RSkzQDChAQT +FggALAUCOG1DgAIbDgILCQIVCAIWAgIeARYhBJ0mvuRLQpcOXo7GKt6IZ07tdjfF +AAoJEN6IZ07tdjfFV5wBAPLFLQ7OEb0nDxPbS8tuT6QcBtNir2rGvcuKBQ92THeY +AQDxAIpKpjPtE4iPR7lJ6MtJ0QsLbAh5qwz/wvZR1hyvBA== +=/pea +-----END PGP PRIVATE KEY BLOCK----- + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Key/Value +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-kv +Key: token +Value: abc123 +Notes (optional): +Enter tags (comma-separated, optional): +Add custom field? (y/N): n +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Key/Value entry added with ID 6. + +Value: abc123 +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 8 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Managed Account +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-managed +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Managed account 'agent-managed' added with ID 7. + +Reveal seed now? (y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +1. Totp - agent-totp +2. Ssh - agent-ssh +3. Seed - agent-seed +4. Nostr - agent-nostr +5. Pgp - agent-pgp +6. Key_value - agent-kv +7. Managed_account - agent-managed +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 5 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Modify Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to modify: 0 +Modifying entry for 'agent.example' (Index: 0): +Current Label: agent.example +Current Username: agent +Current URL: https://agent.example +Current Archived Status: Active +Enter new label (leave blank to keep "agent.example"): +Enter new username (leave blank to keep "agent"): agent2 +Enter new URL (leave blank to keep "https://agent.example"): +Archive this password? (Y/N, current: N): n +Enter new notes (leave blank to keep "N/A"): +Edit custom fields? (y/N): n +Enter tags (comma-separated, leave blank to keep current): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +Entry updated successfully for index 0. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: Ib!002tI:^Ff +Associated Username: agent2 +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: A +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +U. Unarchive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Archived Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Archived Entries: + +0. agent.example +Enter index to manage or press Enter to go back: 0 +Enter 'v' to view details, 'r' to restore, or press Enter to go back: r +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +Press Enter to continue... +All entries restored. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 528602 [#-------------------] 28s + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 15 +Secret mode is currently OFF +Enable secret mode? (y/n, blank to keep): y +Clipboard clear delay in seconds [45]: +Secret mode enabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 16 +Offline mode is currently ON +Enable offline mode? (y/n, blank to keep): n +Offline mode disabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 17 +Quick Unlock is currently OFF +Enable Quick Unlock? (y/n, blank to keep): y +Quick Unlock enabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 13 +Vault locked. Please re-enter your password. +Enter your master password: ************* +Deriving key... +Decrypting seed... +Connecting to relays... +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry + +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example +[+] Password for 'agent.example' copied to clipboard. Will clear in 45 seconds. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions + + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 14 +c +=== Seed Profile Stats === +Total entries: 8 + password: 1 + totp: 1 + ssh: 1 + seed: 1 + pgp: 1 + nostr: 1 + key_value: 1 + managed_account: 1 + document: 0 +Relays configured: 3 +Backups: 2 (dir: /tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Press Enter to continue. + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: +Exiting the program. diff --git a/artifacts/agent_tui_test/20260302T135526Z/transcript.raw.txt b/artifacts/agent_tui_test/20260302T135526Z/transcript.raw.txt new file mode 100644 index 00000000..ff565d79 --- /dev/null +++ b/artifacts/agent_tui_test/20260302T135526Z/transcript.raw.txt @@ -0,0 +1,1130 @@ +Startup Options: +1. Continue +2. Restore from backup +Select an option: 1 +Initialized checksum for '/home/user/Documents/GitHub/SeedPass/src/seedpass/core/manager.py'. +Choose an option: +1. Paste in an existing seed in full +2. Enter an existing seed one word at a time +3. Generate a new seed +4. Restore from Nostr +5. Restore from local backup +Enter choice (1/2/3/4/5): 3 +Your new BIP-85 seed phrase is: +sea stick affair impose swing steel earth flash cricket chat scale shoulder +Please write this down and keep it in a safe place! +Do you want to use this generated seed? (Y/N): Y +Enter a new password: ************* +Confirm your password: ************* +c +=== Seed Profile Stats === +Total entries: 0 + password: 0 + totp: 0 + ssh: 0 + seed: 0 + pgp: 0 + nostr: 0 + key_value: 0 + managed_account: 0 + document: 0 +Relays configured: 3 +Backups: 0 (dir: /tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to continue. + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 99 +Invalid choice. Please select a valid option. +c1 +Seed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 99 +Invalid choice. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: abc +Error: Index must be a number. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Password +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Choose mode: [Q]uick or [A]dvanced? q +Enter the label or website name: agent.example +Enter the username (optional): agent +Enter the URL (optional): https://agent.example +Enter desired password length (default 16): 3 +Error: Password length must be between 8 and 128. +Enter desired password length (default 16): 12 +Include special characters? (Y/n): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459728.json.enc'. +[+] Entry added successfully at index 0. + +[+] Password generated and indexed with ID 0. + +Password for agent.example: Ib!002tI:^Ff + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: Ib!002tI:^Ff +Associated Username: agent +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 3 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter search string: agent +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Search Results: + +0. Password - agent.example (agent) +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > 2FA (TOTP) +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add TOTP: +1. Make 2FA +2. Import 2FA (paste otpauth URI or secret) +Select option or press Enter to go back: 1 +Label: agent-totp +Period (default 30): +Digits (default 6): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] TOTP entry added with ID 1. + +Add this URI to your authenticator app: +otpauth://totp/agent-totp?secret=YZ4OXCXU4YJPFJLHCQBFB57HDGNIPS2J&period=30&digits=6 +█▀▀▀▀▀▀▀█▀▀█▀█▀▀████▀▀█▀█▀▀████▀▀▀▀▀▀▀█ +█ █▀▀▀█ ██▀▄     ▀▀ ▀ ▀▀ █▄   █ █▀▀▀█ █ +█ █   █ █ ▄ ▄▀▀ ▀▀ ▀▄▀▀ ▀▄  ▀ █ █   █ █ +█ ▀▀▀▀▀ █ █ ▄▀▄ █ ▄ ▄▀█▀█ █ █ █ ▀▀▀▀▀ █ +█▀███▀█▀▀ █▀ ▀▄██▀▄ █▄▄▄▄▄█ ▀█▀▀▀▀▀██▀█ +█▀▀▀▀▄▄▀▀█ ▀  ▀▀▀██   ▄▄█▄ ▀▀▀█▀▄  ▄▄██ +█▀ █▀▄█▀█ ▀ █▄▀▀▄▄▄▀██ ▀▀▄█▄▀▄█  █ ▄ ▀█ +██ ▀ █▄▀  ██▀ █▀ ▄▀██▄█  ▀█▄ ▀██▄ ▀▀  █ +█▄▀▀ █ ▀▄▄▄▀▀█ █ █▄▀▀▄ █▀▄█▀▄▄██▀▄█ ▀██ +██▄█▀█ ▀▀▀▀█▀▄▄▀█   █▄█ ▀▄▄▀ ▄▄ ▄█▀█▄██ +█▄█▀███▀▄▄█▀▀▀ █▀█▄ ▄█ ▀█▀█▄█ ▀ ██  ▀▄█ +█ █ ▀  ▀█  ▄  ▀ ██▄▀█▀█▀ █ ▄   ▀▄▄█▀▀▀█ +██ ██ █▀▀  ▀▀█ █▄▀██▀▄ ▄▄▄▄▀▄█▄▀█ ▀ ▄▀█ +█▄▄▄█▀ ▀▀▀█▀▄ ▄▄▀█ ▄▀▄▀▄▄ ▀▀▀ ▄█▀▀ ████ +█▀▀ ▄▀ ▀▀█ ▄▀▄▄█▄ █ ▀  ▀█▄██▄  ▀ ▀  █▀█ +█▀▀▀▀▀▀▀█ ▄▀█ ▀█▄ ▀███▀█ ▀██▄ █▀█ ▄▀█▀█ +█ █▀▀▀█ █▀ █ ▄▄▀██▄  █▀▄ ▄█ █ ▀▀▀ ▀   █ +█ █   █ ██▀▄█▀▀██ █▀▀ █ ▄▄▄▀▄▄   █▄▄▀██ +█ ▀▀▀▀▀ █▀ ██ ▀ ▀█ ▄ █ ▀▄ █▀▄█ ▄█▀██ ▀█ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +Secret: YZ4OXCXU4YJPFJLHCQBFB57HDGNIPS2J + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 052417 [###################-] 1s + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 3 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > SSH Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label (key): agent-ssh +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying SSH keys reveals sensitive information. Continue? (Y/N): y + +[+] SSH key entry added with ID 2. + +Public Key: +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEARscAW8D7LYXy0Z04Qgvz8Ywo+nA2k2xzbcHqOiTci0Q= +-----END PUBLIC KEY----- + +Private Key: +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIDhdKI6dUw9j/k3ZXyuR4/owjuVRUGAUTjajq4RXiH1f +-----END PRIVATE KEY----- + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Seed Phrase +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-seed +Word count (12 or 24, default 24): 12 +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying the seed phrase reveals sensitive information. Continue? (Y/N): y + +[+] Seed entry 'agent-seed' added with ID 3. + +Index: 3 +Label: agent-seed +Seed Phrase: +quit huge harvest frozen expose oak tourist coffee welcome guide fall tower +Show Compact Seed QR? (Y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 5 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Nostr Key Pair +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-nostr +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Nostr key entry added with ID 4. + +npub: npub1ckwx8q3tsm7lv93lrl0c0t6kyyplje20dnre5frsfmkqtsav0q0sg4tmgj +nsec: nsec1aq92mhtr3vdlyu9daf9c775hcl7nsjcsw5w4spyxaknq9jdlzrvqe6hp0g +Show QR code for npub? (Y/N): n +WARNING: Displaying the nsec QR reveals your private key. Continue? (Y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > PGP Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-pgp +Key type (ed25519 or rsa, default ed25519): +User ID (optional): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +WARNING: Displaying the PGP key reveals sensitive information. Continue? (Y/N): y + +[+] PGP key entry added with ID 5. + +Fingerprint: 9D26BEE44B42970E5E8EC62ADE88674EED7637C5 +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xVgEOG1DgBYJKwYBBAHaRw8BAQdAuHTnUKchhMfu38WyFXP8tu+5G6rZjZka+FfW +PSK9SQ8AAP4rwf501VvOr1ODceFUj2Gn/+yBzeTpUhXbD6IQt+/s7RSkzQDChAQT +FggALAUCOG1DgAIbDgILCQIVCAIWAgIeARYhBJ0mvuRLQpcOXo7GKt6IZ07tdjfF +AAoJEN6IZ07tdjfFV5wBAPLFLQ7OEb0nDxPbS8tuT6QcBtNir2rGvcuKBQ92THeY +AQDxAIpKpjPtE4iPR7lJ6MtJ0QsLbAh5qwz/wvZR1hyvBA== +=/pea +-----END PGP PRIVATE KEY BLOCK----- + +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Key/Value +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-kv +Key: token +Value: abc123 +Notes (optional): +Enter tags (comma-separated, optional): +Add custom field? (y/N): n +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Key/Value entry added with ID 6. + +Value: abc123 +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 8 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Add Entry > Managed Account +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-managed +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. + +[+] Managed account 'agent-managed' added with ID 7. + +Reveal seed now? (y/N): n +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +1. Totp - agent-totp +2. Ssh - agent-ssh +3. Seed - agent-seed +4. Nostr - agent-nostr +5. Pgp - agent-pgp +6. Key_value - agent-kv +7. Managed_account - agent-managed +Enter index to view details or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 5 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Modify Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to modify: 0 +Modifying entry for 'agent.example' (Index: 0): +Current Label: agent.example +Current Username: agent +Current URL: https://agent.example +Current Archived Status: Active +Enter new label (leave blank to keep "agent.example"): +Enter new username (leave blank to keep "agent"): agent2 +Enter new URL (leave blank to keep "https://agent.example"): +Archive this password? (Y/N, current: N): n +Enter new notes (leave blank to keep "N/A"): +Edit custom fields? (y/N): n +Enter tags (comma-separated, leave blank to keep current): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +Entry updated successfully for index 0. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: Ib!002tI:^Ff +Associated Username: agent2 +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: A +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +U. Unarchive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Archived Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Archived Entries: + +0. agent.example +Enter index to manage or press Enter to go back: 0 +Enter 'v' to view details, 'r' to restore, or press Enter to go back: r +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups/entries_db_backup_1772459729.json.enc'. +[+] Entry at index 0 modified successfully. +Press Enter to continue... +All entries restored. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 528602 [#-------------------] 28s + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 15 +Secret mode is currently OFF +Enable secret mode? (y/n, blank to keep): y +Clipboard clear delay in seconds [45]: +Secret mode enabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 16 +Offline mode is currently ON +Enable offline mode? (y/n, blank to keep): n +Offline mode disabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 17 +Quick Unlock is currently OFF +Enable Quick Unlock? (y/n, blank to keep): y +Quick Unlock enabled. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 13 +Vault locked. Please re-enter your password. +Enter your master password: ************* +Deriving key... +Decrypting seed... +Connecting to relays... +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Retrieve Entry + +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example +[+] Password for 'agent.example' copied to clipboard. Will clear in 45 seconds. +Press Enter to continue... +cSeed Profile: 2B16DE10D7B2CA14 > Entry Actions + + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 14 +c +=== Seed Profile Stats === +Total entries: 8 + password: 1 + totp: 1 + ssh: 1 + seed: 1 + pgp: 1 + nostr: 1 + key_value: 1 + managed_account: 1 + document: 0 +Relays configured: 3 +Backups: 2 (dir: /tmp/seedpass-agent-home-o6cop6yv/.seedpass/2B16DE10D7B2CA14/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Press Enter to continue. + +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 2B16DE10D7B2CA14 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: +Exiting the program. + \ No newline at end of file diff --git a/artifacts/agent_tui_test/20260302T142238Z/report.json b/artifacts/agent_tui_test/20260302T142238Z/report.json new file mode 100644 index 00000000..4daabe00 --- /dev/null +++ b/artifacts/agent_tui_test/20260302T142238Z/report.json @@ -0,0 +1,74 @@ +{ + "timestamp_utc": "20260302T142238Z", + "command": [ + ".venv/bin/python", + "/home/user/Documents/GitHub/SeedPass/src/main.py", + "--no-clipboard" + ], + "repo_root": "/home/user/Documents/GitHub/SeedPass", + "home_dir": "/tmp/seedpass-agent-home-eo0nlwk8", + "scenario": "extended", + "stress_cycles": null, + "stress_seed": null, + "required_coverage_keys": [ + "startup_onboarding", + "main_menu", + "invalid_input_resilience", + "add_password_quick", + "invalid_length_validation", + "add_totp", + "add_all_entry_types", + "retrieve_entry", + "search_entries", + "list_entries", + "modify_entry", + "archive_restore", + "totp_codes_view", + "settings_toggles_lock_unlock", + "settings_stats", + "graceful_exit" + ], + "required_post_conditions": [ + "archive_restore_consistency", + "lock_unlock_recovers_retrieval" + ], + "duration_sec": 33.215, + "seedpass_exit_code": 0, + "status": "passed", + "failure": null, + "steps": [ + { + "step_id": "extended_scenario", + "description": "Drive end-to-end deterministic TUI coverage workflow.", + "status": "passed", + "duration_sec": 32.381062211003155, + "detail": null + } + ], + "coverage_points": { + "add_all_entry_types": true, + "add_password_quick": true, + "add_totp": true, + "archive_restore": true, + "graceful_exit": true, + "invalid_input_resilience": true, + "invalid_length_validation": true, + "list_entries": true, + "main_menu": true, + "modify_entry": true, + "retrieve_entry": true, + "search_entries": true, + "seeded_negative_campaign": false, + "settings_stats": true, + "settings_toggles_lock_unlock": true, + "startup_onboarding": true, + "stress_cycles": false, + "totp_codes_view": true + }, + "post_conditions": { + "archive_restore_consistency": true, + "lock_unlock_recovers_retrieval": true + }, + "transcript_clean": "/home/user/Documents/GitHub/SeedPass/artifacts/agent_tui_test/20260302T142238Z/transcript.clean.txt", + "transcript_raw": "/home/user/Documents/GitHub/SeedPass/artifacts/agent_tui_test/20260302T142238Z/transcript.raw.txt" +} \ No newline at end of file diff --git a/artifacts/agent_tui_test/20260302T142238Z/transcript.clean.txt b/artifacts/agent_tui_test/20260302T142238Z/transcript.clean.txt new file mode 100644 index 00000000..c264405a --- /dev/null +++ b/artifacts/agent_tui_test/20260302T142238Z/transcript.clean.txt @@ -0,0 +1,1129 @@ +Startup Options: +1. Continue +2. Restore from backup +Select an option: 1 +Initialized checksum for '/home/user/Documents/GitHub/SeedPass/src/seedpass/core/manager.py'. +Choose an option: +1. Paste in an existing seed in full +2. Enter an existing seed one word at a time +3. Generate a new seed +4. Restore from Nostr +5. Restore from local backup +Enter choice (1/2/3/4/5): 3 +Your new BIP-85 seed phrase is: +clump antenna will garbage unveil small present three seek budget select cover +Please write this down and keep it in a safe place! +Do you want to use this generated seed? (Y/N): Y +Enter a new password: ************* +Confirm your password: ************* +c +=== Seed Profile Stats === +Total entries: 0 + password: 0 + totp: 0 + ssh: 0 + seed: 0 + pgp: 0 + nostr: 0 + key_value: 0 + managed_account: 0 + document: 0 +Relays configured: 3 +Backups: 0 (dir: /tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to continue. + +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 99 +Invalid choice. Please select a valid option. +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 99 +Invalid choice. +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: abc +Error: Index must be a number. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Password +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Choose mode: [Q]uick or [A]dvanced? q +Enter the label or website name: agent.example +Enter the username (optional): agent +Enter the URL (optional): https://agent.example +Enter desired password length (default 16): 3 +Error: Password length must be between 8 and 128. +Enter desired password length (default 16): 12 +Include special characters? (Y/n): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +[+] Entry added successfully at index 0. + +[+] Password generated and indexed with ID 0. + +Password for agent.example: ATxE<8j=2[u8 + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: ATxE<8j=2[u8 +Associated Username: agent +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 3 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter search string: agent +cSeed Profile: 264DB5C456225BB5 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Search Results: + +0. Password - agent.example (agent) +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > 2FA (TOTP) +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add TOTP: +1. Make 2FA +2. Import 2FA (paste otpauth URI or secret) +Select option or press Enter to go back: 1 +Label: agent-totp +Period (default 30): +Digits (default 6): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. + +[+] TOTP entry added with ID 1. + +Add this URI to your authenticator app: +otpauth://totp/agent-totp?secret=NWIVCHHZ426DNNFOIP5TQ46LVKLJ3JC6&period=30&digits=6 +█▀▀▀▀▀▀▀█▀██▀█▀▀████▀▀█▀█▀▀████▀▀▀▀▀▀▀█ +█ █▀▀▀█ ████▄▄█  █▀ ▀ ▀▀ █▄   █ █▀▀▀█ █ +█ █   █ █  ▀█▄   ▄ ▀▄▀▀ ▀▄  ▀ █ █   █ █ +█ ▀▀▀▀▀ █ ▄▀█▀▄▀█ ▄ ▄▀█▀█ █ █ █ ▀▀▀▀▀ █ +█▀███▀█▀▀ ▄ ▄▄█▄▄ ▄ █▄▄▄▄▄█ ▀█▀▀▀▀▀██▀█ +█ ▀▄▄██▀▄██  █▄▄▀█▀   ▄▄█▄ ▀▀▀▄ ▀█▄▀▄██ +█ ▀ █ ▀▀▄█ ▄▄▀ ▀▄▄ ▀██ ▀▀▄█▄█▄█ ▀█▀█ ▀█ +█▀▄  ▄▄▀█ ▀   ▄▀ ▄▀▄█▄█  ▀█▄ ▀▀▀▄ ▀▀  █ +█▄▄█ ▄ ▀▄▀ ▀ ▀█▀▀▄▄▀▀▄ █▀▄█▀▄  ▀█ █ ▄██ +█▄▄█ █▄▀  ▀▄ ██ █ ▄▄█▄█ ▀▄▄▀▀█▄▀▄██▄▄██ +█ █▄▄▄ ▀▀▄▀▄▄  █▀█ ▄▄█ ▀█▀█▄▄ ▀ █▄█▄▀▄█ +█▀▄ █▀▄▀▀██    ▄▀▀▄ █▀█▀ █ ▄  ▄█▄▄█▀▀▄█ +█ ██  ▀▀ ▀▄▀▀▄▀ ▄ ██▀▄ ▄▄▄▄▀▄▀█▄█ ▀ ▀ █ +█▄▄█ ▀ ▀▄ ▀▄▄█  ▀█ ▄▀▄▀▄▄ ▀▀█▀█▄█ █████ +█▀▀█  ▄▀▀█ █▀▄█▄▄   ▀  ▀█▄███▀ ▀▀▀ ▄█▀█ +█▀▀▀▀▀▀▀█ ▄▀▄▀ ▀██▀▄██▀█ ▀██▄ █▀█ ▄▀ ██ +█ █▀▀▀█ █▀▀▄█▀ ▀▄█▄  █▀▄ ▄█ █ ▀▀▀ ▀ ▄ █ +█ █   █ ██▀ ▄▀  █  █▀ █ ▄▄▄▀▄▄   █▄▄▀██ +█ ▀▀▀▀▀ █▀▀█ ▀ ▄▀▀▀▀ █ ▀▄ █▀▄█▄ █▀▀█ ▀█ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +Secret: NWIVCHHZ426DNNFOIP5TQ46LVKLJ3JC6 + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 359712 [#######-------------] 19s + +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 3 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > SSH Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label (key): agent-ssh +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +WARNING: Displaying SSH keys reveals sensitive information. Continue? (Y/N): y + +[+] SSH key entry added with ID 2. + +Public Key: +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEAWRsURdgKgPOzgIAQyBhx6AoL2b7lApEZF1ok6e3xRjg= +-----END PUBLIC KEY----- + +Private Key: +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIHG4VY16i/5SGm8W+JPHnF7E9UA527giLvU1F9CJHN5F +-----END PRIVATE KEY----- + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Seed Phrase +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-seed +Word count (12 or 24, default 24): 12 +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +WARNING: Displaying the seed phrase reveals sensitive information. Continue? (Y/N): y + +[+] Seed entry 'agent-seed' added with ID 3. + +Index: 3 +Label: agent-seed +Seed Phrase: +still cloth pear feed purity reopen quality hawk mystery wheat army route +Show Compact Seed QR? (Y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 5 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Nostr Key Pair +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-nostr +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Nostr key entry added with ID 4. + +npub: npub1vjfeudsm3auxhxvpl6nux025t00unffzmhwhgqwk622gvm2w8h4qhvj24l +nsec: nsec1vra0f6wdawn8gvwmgl6ck5250euf0y3n20gkrmp4l8qeehtwzc2qpmkrq5 +Show QR code for npub? (Y/N): n +WARNING: Displaying the nsec QR reveals your private key. Continue? (Y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > PGP Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-pgp +Key type (ed25519 or rsa, default ed25519): +User ID (optional): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +WARNING: Displaying the PGP key reveals sensitive information. Continue? (Y/N): y + +[+] PGP key entry added with ID 5. + +Fingerprint: E07C38F66D4D4049802E3906C3ED3DC9D9AD0BE2 +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xVgEOG1DgBYJKwYBBAHaRw8BAQdAeCkSURrZO+3zfOVctCopjXfSiFSaertj78zH +hUTLbjsAAQD+oxrX9l+aQ9TWuUxSe3sSCPMGWrdiso0rqXN8FBXDUA+AzQDChAQT +FggALAUCOG1DgAIbDgILCQIVCAIWAgIeARYhBOB8OPZtTUBJgC45BsPtPcnZrQvi +AAoJEMPtPcnZrQvild8BAInLE2Dch9wIVAt+kpXrCXYCOsMzSJboPvrse1R6x3eM +AQD7Xa1ipMffGO860MnAn+F0GiWA15l6Wtwb5oTigHZFCg== +=MUOv +-----END PGP PRIVATE KEY BLOCK----- + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Key/Value +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-kv +Key: token +Value: abc123 +Notes (optional): +Enter tags (comma-separated, optional): +Add custom field? (y/N): n +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Key/Value entry added with ID 6. + +Value: abc123 +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 8 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Managed Account +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-managed +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Managed account 'agent-managed' added with ID 7. + +Reveal seed now? (y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +1. Totp - agent-totp +2. Ssh - agent-ssh +3. Seed - agent-seed +4. Nostr - agent-nostr +5. Pgp - agent-pgp +6. Key_value - agent-kv +7. Managed_account - agent-managed +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 5 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Modify Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to modify: 0 +Modifying entry for 'agent.example' (Index: 0): +Current Label: agent.example +Current Username: agent +Current URL: https://agent.example +Current Archived Status: Active +Enter new label (leave blank to keep "agent.example"): +Enter new username (leave blank to keep "agent"): agent2 +Enter new URL (leave blank to keep "https://agent.example"): +Archive this password? (Y/N, current: N): n +Enter new notes (leave blank to keep "N/A"): +Edit custom fields? (y/N): n +Enter tags (comma-separated, leave blank to keep current): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +Entry updated successfully for index 0. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: ATxE<8j=2[u8 +Associated Username: agent2 +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: A +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +U. Unarchive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Archived Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Archived Entries: + +0. agent.example +Enter index to manage or press Enter to go back: 0 +Enter 'v' to view details, 'r' to restore, or press Enter to go back: r +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +Press Enter to continue... +All entries restored. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 359712 [##########----------] 15s + +cSeed Profile: 264DB5C456225BB5 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 15 +Secret mode is currently OFF +Enable secret mode? (y/n, blank to keep): y +Clipboard clear delay in seconds [45]: +Secret mode enabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 16 +Offline mode is currently ON +Enable offline mode? (y/n, blank to keep): n +Offline mode disabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 17 +Quick Unlock is currently OFF +Enable Quick Unlock? (y/n, blank to keep): y +Quick Unlock enabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 13 +Vault locked. Please re-enter your password. +Enter your master password: ************* +Deriving key... +Decrypting seed... +Connecting to relays... +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry + +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example +[+] Password for 'agent.example' copied to clipboard. Will clear in 45 seconds. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions + + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 14 +c +=== Seed Profile Stats === +Total entries: 8 + password: 1 + totp: 1 + ssh: 1 + seed: 1 + pgp: 1 + nostr: 1 + key_value: 1 + managed_account: 1 + document: 0 +Relays configured: 3 +Backups: 2 (dir: /tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Press Enter to continue. + +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: +Exiting the program. diff --git a/artifacts/agent_tui_test/20260302T142238Z/transcript.raw.txt b/artifacts/agent_tui_test/20260302T142238Z/transcript.raw.txt new file mode 100644 index 00000000..f3e63080 --- /dev/null +++ b/artifacts/agent_tui_test/20260302T142238Z/transcript.raw.txt @@ -0,0 +1,1130 @@ +Startup Options: +1. Continue +2. Restore from backup +Select an option: 1 +Initialized checksum for '/home/user/Documents/GitHub/SeedPass/src/seedpass/core/manager.py'. +Choose an option: +1. Paste in an existing seed in full +2. Enter an existing seed one word at a time +3. Generate a new seed +4. Restore from Nostr +5. Restore from local backup +Enter choice (1/2/3/4/5): 3 +Your new BIP-85 seed phrase is: +clump antenna will garbage unveil small present three seek budget select cover +Please write this down and keep it in a safe place! +Do you want to use this generated seed? (Y/N): Y +Enter a new password: ************* +Confirm your password: ************* +c +=== Seed Profile Stats === +Total entries: 0 + password: 0 + totp: 0 + ssh: 0 + seed: 0 + pgp: 0 + nostr: 0 + key_value: 0 + managed_account: 0 + document: 0 +Relays configured: 3 +Backups: 0 (dir: /tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to continue. + +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 99 +Invalid choice. Please select a valid option. +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 99 +Invalid choice. +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: abc +Error: Index must be a number. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Password +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Choose mode: [Q]uick or [A]dvanced? q +Enter the label or website name: agent.example +Enter the username (optional): agent +Enter the URL (optional): https://agent.example +Enter desired password length (default 16): 3 +Error: Password length must be between 8 and 128. +Enter desired password length (default 16): 12 +Include special characters? (Y/n): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +[+] Entry added successfully at index 0. + +[+] Password generated and indexed with ID 0. + +Password for agent.example: ATxE<8j=2[u8 + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: ATxE<8j=2[u8 +Associated Username: agent +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 3 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter search string: agent +cSeed Profile: 264DB5C456225BB5 > Main Menu > Search Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Search Results: + +0. Password - agent.example (agent) +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > 2FA (TOTP) +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add TOTP: +1. Make 2FA +2. Import 2FA (paste otpauth URI or secret) +Select option or press Enter to go back: 1 +Label: agent-totp +Period (default 30): +Digits (default 6): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. + +[+] TOTP entry added with ID 1. + +Add this URI to your authenticator app: +otpauth://totp/agent-totp?secret=NWIVCHHZ426DNNFOIP5TQ46LVKLJ3JC6&period=30&digits=6 +█▀▀▀▀▀▀▀█▀██▀█▀▀████▀▀█▀█▀▀████▀▀▀▀▀▀▀█ +█ █▀▀▀█ ████▄▄█  █▀ ▀ ▀▀ █▄   █ █▀▀▀█ █ +█ █   █ █  ▀█▄   ▄ ▀▄▀▀ ▀▄  ▀ █ █   █ █ +█ ▀▀▀▀▀ █ ▄▀█▀▄▀█ ▄ ▄▀█▀█ █ █ █ ▀▀▀▀▀ █ +█▀███▀█▀▀ ▄ ▄▄█▄▄ ▄ █▄▄▄▄▄█ ▀█▀▀▀▀▀██▀█ +█ ▀▄▄██▀▄██  █▄▄▀█▀   ▄▄█▄ ▀▀▀▄ ▀█▄▀▄██ +█ ▀ █ ▀▀▄█ ▄▄▀ ▀▄▄ ▀██ ▀▀▄█▄█▄█ ▀█▀█ ▀█ +█▀▄  ▄▄▀█ ▀   ▄▀ ▄▀▄█▄█  ▀█▄ ▀▀▀▄ ▀▀  █ +█▄▄█ ▄ ▀▄▀ ▀ ▀█▀▀▄▄▀▀▄ █▀▄█▀▄  ▀█ █ ▄██ +█▄▄█ █▄▀  ▀▄ ██ █ ▄▄█▄█ ▀▄▄▀▀█▄▀▄██▄▄██ +█ █▄▄▄ ▀▀▄▀▄▄  █▀█ ▄▄█ ▀█▀█▄▄ ▀ █▄█▄▀▄█ +█▀▄ █▀▄▀▀██    ▄▀▀▄ █▀█▀ █ ▄  ▄█▄▄█▀▀▄█ +█ ██  ▀▀ ▀▄▀▀▄▀ ▄ ██▀▄ ▄▄▄▄▀▄▀█▄█ ▀ ▀ █ +█▄▄█ ▀ ▀▄ ▀▄▄█  ▀█ ▄▀▄▀▄▄ ▀▀█▀█▄█ █████ +█▀▀█  ▄▀▀█ █▀▄█▄▄   ▀  ▀█▄███▀ ▀▀▀ ▄█▀█ +█▀▀▀▀▀▀▀█ ▄▀▄▀ ▀██▀▄██▀█ ▀██▄ █▀█ ▄▀ ██ +█ █▀▀▀█ █▀▀▄█▀ ▀▄█▄  █▀▄ ▄█ █ ▀▀▀ ▀ ▄ █ +█ █   █ ██▀ ▄▀  █  █▀ █ ▄▄▄▀▄▄   █▄▄▀██ +█ ▀▀▀▀▀ █▀▀█ ▀ ▄▀▀▀▀ █ ▀▄ █▀▄█▄ █▀▀█ ▀█ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +Secret: NWIVCHHZ426DNNFOIP5TQ46LVKLJ3JC6 + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 359712 [#######-------------] 19s + +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 3 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > SSH Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label (key): agent-ssh +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +WARNING: Displaying SSH keys reveals sensitive information. Continue? (Y/N): y + +[+] SSH key entry added with ID 2. + +Public Key: +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEAWRsURdgKgPOzgIAQyBhx6AoL2b7lApEZF1ok6e3xRjg= +-----END PUBLIC KEY----- + +Private Key: +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIHG4VY16i/5SGm8W+JPHnF7E9UA527giLvU1F9CJHN5F +-----END PRIVATE KEY----- + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Seed Phrase +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-seed +Word count (12 or 24, default 24): 12 +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461361.json.enc'. +WARNING: Displaying the seed phrase reveals sensitive information. Continue? (Y/N): y + +[+] Seed entry 'agent-seed' added with ID 3. + +Index: 3 +Label: agent-seed +Seed Phrase: +still cloth pear feed purity reopen quality hawk mystery wheat army route +Show Compact Seed QR? (Y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 5 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Nostr Key Pair +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-nostr +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Nostr key entry added with ID 4. + +npub: npub1vjfeudsm3auxhxvpl6nux025t00unffzmhwhgqwk622gvm2w8h4qhvj24l +nsec: nsec1vra0f6wdawn8gvwmgl6ck5250euf0y3n20gkrmp4l8qeehtwzc2qpmkrq5 +Show QR code for npub? (Y/N): n +WARNING: Displaying the nsec QR reveals your private key. Continue? (Y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > PGP Key +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-pgp +Key type (ed25519 or rsa, default ed25519): +User ID (optional): +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +WARNING: Displaying the PGP key reveals sensitive information. Continue? (Y/N): y + +[+] PGP key entry added with ID 5. + +Fingerprint: E07C38F66D4D4049802E3906C3ED3DC9D9AD0BE2 +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xVgEOG1DgBYJKwYBBAHaRw8BAQdAeCkSURrZO+3zfOVctCopjXfSiFSaertj78zH +hUTLbjsAAQD+oxrX9l+aQ9TWuUxSe3sSCPMGWrdiso0rqXN8FBXDUA+AzQDChAQT +FggALAUCOG1DgAIbDgILCQIVCAIWAgIeARYhBOB8OPZtTUBJgC45BsPtPcnZrQvi +AAoJEMPtPcnZrQvild8BAInLE2Dch9wIVAt+kpXrCXYCOsMzSJboPvrse1R6x3eM +AQD7Xa1ipMffGO860MnAn+F0GiWA15l6Wtwb5oTigHZFCg== +=MUOv +-----END PGP PRIVATE KEY BLOCK----- + +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Key/Value +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-kv +Key: token +Value: abc123 +Notes (optional): +Enter tags (comma-separated, optional): +Add custom field? (y/N): n +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Key/Value entry added with ID 6. + +Value: abc123 +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +Add Entry: +1. Password +2. 2FA (TOTP) +3. SSH Key +4. Seed Phrase +5. Nostr Key Pair +6. PGP Key +7. Key/Value +8. Managed Account +9. Document +Select entry type or press Enter to go back: 8 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Add Entry > Managed Account +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Label: agent-managed +Notes (optional): +Enter tags (comma-separated, optional): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. + +[+] Managed account 'agent-managed' added with ID 7. + +Reveal seed now? (y/N): n +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 4 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: 1 +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entries: + +0. Password - agent.example +1. Totp - agent-totp +2. Ssh - agent-ssh +3. Seed - agent-seed +4. Nostr - agent-nostr +5. Pgp - agent-pgp +6. Key_value - agent-kv +7. Managed_account - agent-managed +Enter index to view details or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu > List Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +List Entries: +1. All +2. Password +3. Totp +4. Ssh +5. Seed +6. Pgp +7. Nostr +8. Key Value +9. Managed Account +10. Document +Select entry type or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 5 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Modify Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to modify: 0 +Modifying entry for 'agent.example' (Index: 0): +Current Label: agent.example +Current Username: agent +Current URL: https://agent.example +Current Archived Status: Active +Enter new label (leave blank to keep "agent.example"): +Enter new username (leave blank to keep "agent"): agent2 +Enter new URL (leave blank to keep "https://agent.example"): +Archive this password? (Y/N, current: N): n +Enter new notes (leave blank to keep "N/A"): +Edit custom fields? (y/N): n +Enter tags (comma-separated, leave blank to keep current): +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +Entry updated successfully for index 0. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example + +[+] Retrieved Password for agent.example: + +Password: ATxE<8j=2[u8 +Associated Username: agent2 +Associated URL: https://agent.example +Archived Status: Active +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: A +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +cSeed Profile: 264DB5C456225BB5 > Entry Actions +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Entry Actions: +U. Unarchive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Archived Entries +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + +[+] Archived Entries: + +0. agent.example +Enter index to manage or press Enter to go back: 0 +Enter 'v' to view details, 'r' to restore, or press Enter to go back: r +[+] Checksum updated successfully. +Backup created successfully at '/tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups/entries_db_backup_1772461362.json.enc'. +[+] Entry at index 0 modified successfully. +Press Enter to continue... +All entries restored. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +Only 0 relay(s) responded with your latest event. Consider adding more relays via Settings. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 8 +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 6 +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. +cSeed Profile: 264DB5C456225BB5 > Main Menu > 2FA Codes +No archived entries found. +Press Enter to return to the menu. + +Imported 2FA Codes: +[1] agent-totp: 359712 [##########----------] 15s + +cSeed Profile: 264DB5C456225BB5 > Main Menu +No archived entries found. + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 15 +Secret mode is currently OFF +Enable secret mode? (y/n, blank to keep): y +Clipboard clear delay in seconds [45]: +Secret mode enabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 16 +Offline mode is currently ON +Enable offline mode? (y/n, blank to keep): n +Offline mode disabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 17 +Quick Unlock is currently OFF +Enable Quick Unlock? (y/n, blank to keep): y +Quick Unlock enabled. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings +No archived entries found. + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 13 +Vault locked. Please re-enter your password. +Enter your master password: ************* +Deriving key... +Decrypting seed... +Connecting to relays... +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 2 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Retrieve Entry + +Enter the index number of the entry to retrieve: 0 +Retrieving password for 'agent.example' with length 12. +Username: agent2 +URL: https://agent.example +[+] Password for 'agent.example' copied to clipboard. Will clear in 45 seconds. +Press Enter to continue... +cSeed Profile: 264DB5C456225BB5 > Entry Actions + + +[+] Entry Actions: +A. Archive +N. Add Note +C. Add Custom Field +H. Add Hidden Field +E. Edit +T. Edit Tags +Select an action or press Enter to return: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: 7 +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: 14 +c +=== Seed Profile Stats === +Total entries: 8 + password: 1 + totp: 1 + ssh: 1 + seed: 1 + pgp: 1 + nostr: 1 + key_value: 1 + managed_account: 1 + document: 0 +Relays configured: 3 +Backups: 2 (dir: /tmp/seedpass-agent-home-eo0nlwk8/.seedpass/264DB5C456225BB5/backups) +Schema version: 4 +Database checksum ok: no +Script checksum ok: yes +Snapshot chunks: 0 +Pending deltas: 0 +Press Enter to continue. + +cSeed Profile: 264DB5C456225BB5 > Main Menu > Settings + + +Settings: +1. Profiles +2. Nostr +3. Change password +4. Verify Script Checksum +5. Generate Script Checksum +6. Backup Parent Seed +7. Export database +8. Import database +9. Export 2FA codes +10. Set additional backup location +11. KDF strength & benchmark +12. Set inactivity timeout +13. Lock Vault +14. Stats +15. Toggle Secret Mode +16. Toggle Offline Mode (default ON) +17. Toggle Quick Unlock +Select an option or press Enter to go back: +cSeed Profile: 264DB5C456225BB5 > Main Menu + + + Select an option: + 1. Add Entry + 2. Retrieve Entry + 3. Search Entries + 4. List Entries + 5. Modify an Existing Entry + 6. 2FA Codes + 7. Settings + 8. List Archived + +Enter your choice (1-8) or press Enter to exit: +Exiting the program. + \ No newline at end of file diff --git a/artifacts/coverage/coverage.json b/artifacts/coverage/coverage.json index 1977be8a..2470e171 100644 --- a/artifacts/coverage/coverage.json +++ b/artifacts/coverage/coverage.json @@ -1 +1 @@ -{"meta": {"format": 3, "version": "7.13.4", "timestamp": "2026-03-02T19:21:51.771299", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 35, 36, 37, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91"}, "missing_lines": [38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [38, 39], "excluded_lines": [], "start_line": 33}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 35, 36, 37, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91"}, "missing_lines": [38, 39], "excluded_lines": [], "start_line": 1}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [9, 10, 11], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [9, 10, 11], "excluded_lines": [], "start_line": 1}}}, "src/local_bip85/bip85.py": {"executed_lines": [16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 38, 41, 42, 50, 51, 52, 54, 55, 61, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 148, 150, 151, 152, 153], "summary": {"covered_lines": 59, "num_statements": 74, "percent_covered": 79.72972972972973, "percent_covered_display": "80", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 79.72972972972973, "percent_statements_covered_display": "80"}, "missing_lines": [56, 57, 58, 59, 107, 110, 113, 143, 144, 145, 146, 154, 155, 156, 157], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [50, 51, 52, 54, 55], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 55.55555555555556, "percent_statements_covered_display": "56"}, "missing_lines": [56, 57, 58, 59], "excluded_lines": [], "start_line": 42}, "BIP85.derive_entropy": {"executed_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 21, "num_statements": 24, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [107, 110, 113], "excluded_lines": [], "start_line": 61}, "BIP85.derive_mnemonic": {"executed_lines": [125, 126, 127, 128, 129, 131, 137, 138, 141, 142], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [143, 144, 145, 146], "excluded_lines": [], "start_line": 124}, "BIP85.derive_symmetric_key": {"executed_lines": [150, 151, 152, 153], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [154, 155, 156, 157], "excluded_lines": [], "start_line": 148}, "": {"executed_lines": [16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "BIP85": {"executed_lines": [50, 51, 52, 54, 55, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 150, 151, 152, 153], "summary": {"covered_lines": 40, "num_statements": 55, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73"}, "missing_lines": [56, 57, 58, 59, 107, 110, 113, 143, 144, 145, 146, 154, 155, 156, 157], "excluded_lines": [], "start_line": 41}, "": {"executed_lines": [16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/main.py": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 62, 63, 64, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115, 118, 119, 136, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 167, 168, 174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202, 212, 225, 227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 250, 251, 252, 253, 254, 256, 273, 278, 284, 285, 286, 290, 291, 292, 293, 294, 300, 318, 326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 365, 374, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407, 410, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444, 447, 449, 450, 451, 461, 462, 469, 470, 471, 477, 482, 485, 502, 504, 505, 506, 507, 508, 513, 526, 528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554, 557, 559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591, 594, 596, 597, 600, 602, 603, 604, 605, 610, 613, 615, 616, 617, 626, 628, 629, 630, 631, 632, 633, 635, 637, 639, 643, 645, 651, 652, 653, 654, 655, 656, 657, 658, 666, 669, 671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709, 712, 746, 748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789, 795, 844, 863, 865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908, 914, 916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945, 951, 953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983, 989, 991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035, 1042, 1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099, 1116, 1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230, 1247, 1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401, 1404, 1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1622, 1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1661, 1663, 1664, 1665, 1671, 1672, 1674, 1675, 1677, 1678, 1680, 1681, 1683, 1685, 1686, 1687, 1695, 1696, 1697, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1712, 1713, 1714, 1720, 1723, 1724, 1725, 1735, 1737, 1740, 1741, 1742, 1743, 1744, 1745, 1748, 1753, 1754, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770, 1771, 1776, 1777, 1778, 1779, 1780, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1798, 1799, 1800, 1801, 1802, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1828, 1834, 1846, 1847, 1849, 1850, 1886, 1889], "summary": {"covered_lines": 801, "num_statements": 1356, "percent_covered": 59.07079646017699, "percent_covered_display": "59", "missing_lines": 555, "excluded_lines": 5, "percent_statements_covered": 59.07079646017699, "percent_statements_covered_display": "59"}, "missing_lines": [8, 65, 66, 126, 127, 128, 129, 130, 131, 133, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 163, 177, 183, 192, 193, 203, 204, 206, 207, 208, 209, 218, 219, 220, 221, 222, 230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275, 287, 288, 295, 296, 297, 304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 367, 368, 390, 392, 394, 396, 398, 405, 440, 441, 442, 452, 458, 459, 465, 466, 467, 468, 478, 479, 480, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 509, 510, 515, 516, 517, 518, 519, 520, 521, 522, 523, 530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552, 561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589, 598, 599, 606, 607, 608, 618, 619, 620, 621, 623, 634, 636, 638, 640, 648, 649, 650, 662, 663, 664, 674, 675, 676, 705, 706, 707, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792, 797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860, 872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911, 923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948, 960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986, 1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039, 1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619, 1688, 1694, 1698, 1699, 1700, 1701, 1711, 1715, 1716, 1717, 1718, 1721, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1736, 1738, 1749, 1750, 1751, 1752, 1755, 1756, 1772, 1773, 1774, 1775, 1781, 1794, 1795, 1796, 1797, 1803, 1820, 1821, 1829, 1830, 1831, 1832, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1890], "excluded_lines": [335, 336, 369, 370, 371], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [62, 63, 64], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [65, 66], "excluded_lines": [], "start_line": 60}, "load_global_config": {"executed_lines": [75, 76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "configure_logging": {"executed_lines": [89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [126, 127, 128, 129, 130, 131, 133], "excluded_lines": [], "start_line": 119}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "excluded_lines": [], "start_line": 136}, "get_notification_text": {"executed_lines": [153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [163], "excluded_lines": [], "start_line": 151}, "handle_switch_fingerprint": {"executed_lines": [174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202], "summary": {"covered_lines": 13, "num_statements": 23, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 56.52173913043478, "percent_statements_covered_display": "57"}, "missing_lines": [177, 183, 192, 193, 203, 204, 206, 207, 208, 209], "excluded_lines": [], "start_line": 168}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [218, 219, 220, 221, 222], "excluded_lines": [], "start_line": 212}, "handle_remove_fingerprint": {"executed_lines": [227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 256, 273], "summary": {"covered_lines": 15, "num_statements": 26, "percent_covered": 57.69230769230769, "percent_covered_display": "58", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 57.69230769230769, "percent_statements_covered_display": "58"}, "missing_lines": [230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275], "excluded_lines": [], "start_line": 225}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [250, 251, 252, 253, 254], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 249}, "handle_list_fingerprints": {"executed_lines": [284, 285, 286, 290, 291, 292, 293, 294], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 61.53846153846154, "percent_statements_covered_display": "62"}, "missing_lines": [287, 288, 295, 296, 297], "excluded_lines": [], "start_line": 278}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315], "excluded_lines": [], "start_line": 300}, "_display_live_stats": {"executed_lines": [326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348], "summary": {"covered_lines": 19, "num_statements": 32, "percent_covered": 59.375, "percent_covered_display": "59", "missing_lines": 13, "excluded_lines": 2, "percent_statements_covered": 59.375, "percent_statements_covered_display": "59"}, "missing_lines": [350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "excluded_lines": [335, 336], "start_line": 318}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [367, 368], "excluded_lines": [369, 370, 371], "start_line": 365}, "print_matches": {"executed_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407], "summary": {"covered_lines": 22, "num_statements": 28, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [390, 392, 394, 396, 398, 405], "excluded_lines": [], "start_line": 374}, "handle_post_to_nostr": {"executed_lines": [416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 88.46153846153847, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88"}, "missing_lines": [440, 441, 442], "excluded_lines": [], "start_line": 410}, "handle_retrieve_from_nostr": {"executed_lines": [449, 450, 451, 461, 462, 469, 470, 471, 477, 482], "summary": {"covered_lines": 10, "num_statements": 20, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [452, 458, 459, 465, 466, 467, 468, 478, 479, 480], "excluded_lines": [], "start_line": 447}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499], "excluded_lines": [], "start_line": 485}, "_safe_close_client_pool": {"executed_lines": [504, 505, 506, 507, 508], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [509, 510], "excluded_lines": [], "start_line": 502}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [515, 516, 517, 518, 519, 520, 521, 522, 523], "excluded_lines": [], "start_line": 513}, "handle_add_relay": {"executed_lines": [528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554], "summary": {"covered_lines": 15, "num_statements": 26, "percent_covered": 57.69230769230769, "percent_covered_display": "58", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 57.69230769230769, "percent_statements_covered_display": "58"}, "missing_lines": [530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552], "excluded_lines": [], "start_line": 526}, "handle_remove_relay": {"executed_lines": [559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591], "summary": {"covered_lines": 16, "num_statements": 27, "percent_covered": 59.25925925925926, "percent_covered_display": "59", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 59.25925925925926, "percent_statements_covered_display": "59"}, "missing_lines": [561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589], "excluded_lines": [], "start_line": 557}, "handle_reset_relays": {"executed_lines": [596, 597, 600, 602, 603, 604, 605, 610], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 61.53846153846154, "percent_statements_covered_display": "62"}, "missing_lines": [598, 599, 606, 607, 608], "excluded_lines": [], "start_line": 594}, "_get_profile_state_manager": {"executed_lines": [615, 616, 617], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 37.5, "percent_statements_covered_display": "38"}, "missing_lines": [618, 619, 620, 621, 623], "excluded_lines": [], "start_line": 613}, "_clear_nostr_runtime_state": {"executed_lines": [628, 629, 630, 631, 632, 633, 635, 637, 639], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [634, 636, 638, 640], "excluded_lines": [], "start_line": 626}, "handle_reset_nostr_sync_state": {"executed_lines": [645, 651, 652, 653, 654, 655, 656, 657, 658, 666], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [648, 649, 650, 662, 663, 664], "excluded_lines": [], "start_line": 643}, "handle_start_fresh_nostr_namespace": {"executed_lines": [671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [674, 675, 676, 705, 706, 707], "excluded_lines": [], "start_line": 669}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743], "excluded_lines": [], "start_line": 712}, "handle_set_kdf_iterations": {"executed_lines": [748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789], "summary": {"covered_lines": 20, "num_statements": 38, "percent_covered": 52.63157894736842, "percent_covered_display": "53", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 52.63157894736842, "percent_statements_covered_display": "53"}, "missing_lines": [753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792], "excluded_lines": [], "start_line": 746}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841], "excluded_lines": [], "start_line": 795}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860], "excluded_lines": [], "start_line": 844}, "handle_toggle_secret_mode": {"executed_lines": [865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908], "summary": {"covered_lines": 26, "num_statements": 46, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 56.52173913043478, "percent_statements_covered_display": "57"}, "missing_lines": [872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911], "excluded_lines": [], "start_line": 863}, "handle_toggle_quick_unlock": {"executed_lines": [916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945], "summary": {"covered_lines": 17, "num_statements": 32, "percent_covered": 53.125, "percent_covered_display": "53", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 53.125, "percent_statements_covered_display": "53"}, "missing_lines": [923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948], "excluded_lines": [], "start_line": 914}, "handle_toggle_offline_mode": {"executed_lines": [953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983], "summary": {"covered_lines": 18, "num_statements": 33, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55"}, "missing_lines": [960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986], "excluded_lines": [], "start_line": 951}, "handle_profiles_menu": {"executed_lines": [991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035], "summary": {"covered_lines": 25, "num_statements": 38, "percent_covered": 65.78947368421052, "percent_covered_display": "66", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 65.78947368421052, "percent_statements_covered_display": "66"}, "missing_lines": [1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039], "excluded_lines": [], "start_line": 989}, "handle_nostr_menu": {"executed_lines": [1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099], "summary": {"covered_lines": 33, "num_statements": 58, "percent_covered": 56.89655172413793, "percent_covered_display": "57", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 56.89655172413793, "percent_statements_covered_display": "57"}, "missing_lines": [1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113], "excluded_lines": [], "start_line": 1042}, "handle_semantic_index_menu": {"executed_lines": [1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230], "summary": {"covered_lines": 49, "num_statements": 77, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244], "excluded_lines": [], "start_line": 1116}, "handle_settings": {"executed_lines": [1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401], "summary": {"covered_lines": 84, "num_statements": 130, "percent_covered": 64.61538461538461, "percent_covered_display": "65", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 64.61538461538461, "percent_statements_covered_display": "65"}, "missing_lines": [1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397], "excluded_lines": [], "start_line": 1247}, "display_menu": {"executed_lines": [1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615], "summary": {"covered_lines": 105, "num_statements": 140, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619], "excluded_lines": [], "start_line": 1404}, "main": {"executed_lines": [1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1661, 1663, 1664, 1665, 1671, 1672, 1674, 1675, 1677, 1678, 1680, 1681, 1683, 1685, 1686, 1687, 1695, 1696, 1697, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1712, 1713, 1714, 1720, 1723, 1724, 1725, 1735, 1737, 1740, 1741, 1742, 1743, 1744, 1745, 1748, 1753, 1754, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770, 1771, 1776, 1777, 1778, 1779, 1780, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1798, 1799, 1800, 1801, 1802, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1828, 1834, 1846, 1847, 1849, 1850, 1886], "summary": {"covered_lines": 113, "num_statements": 190, "percent_covered": 59.473684210526315, "percent_covered_display": "59", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 59.473684210526315, "percent_statements_covered_display": "59"}, "missing_lines": [1688, 1694, 1698, 1699, 1700, 1701, 1711, 1715, 1716, 1717, 1718, 1721, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1736, 1738, 1749, 1750, 1751, 1752, 1755, 1756, 1772, 1773, 1774, 1775, 1781, 1794, 1795, 1796, 1797, 1803, 1820, 1821, 1829, 1830, 1831, 1832, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885], "excluded_lines": [], "start_line": 1622}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844], "excluded_lines": [], "start_line": 1834}, "": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 73, 86, 118, 119, 136, 151, 167, 168, 212, 225, 278, 300, 318, 365, 374, 410, 447, 485, 502, 513, 526, 557, 594, 613, 626, 643, 669, 712, 746, 795, 844, 863, 914, 951, 989, 1042, 1116, 1247, 1404, 1622, 1889], "summary": {"covered_lines": 73, "num_statements": 75, "percent_covered": 97.33333333333333, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 97.33333333333333, "percent_statements_covered_display": "97"}, "missing_lines": [8, 1890], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 62, 63, 64, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115, 118, 119, 136, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 167, 168, 174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202, 212, 225, 227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 250, 251, 252, 253, 254, 256, 273, 278, 284, 285, 286, 290, 291, 292, 293, 294, 300, 318, 326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 365, 374, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407, 410, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444, 447, 449, 450, 451, 461, 462, 469, 470, 471, 477, 482, 485, 502, 504, 505, 506, 507, 508, 513, 526, 528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554, 557, 559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591, 594, 596, 597, 600, 602, 603, 604, 605, 610, 613, 615, 616, 617, 626, 628, 629, 630, 631, 632, 633, 635, 637, 639, 643, 645, 651, 652, 653, 654, 655, 656, 657, 658, 666, 669, 671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709, 712, 746, 748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789, 795, 844, 863, 865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908, 914, 916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945, 951, 953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983, 989, 991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035, 1042, 1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099, 1116, 1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230, 1247, 1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401, 1404, 1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1622, 1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1661, 1663, 1664, 1665, 1671, 1672, 1674, 1675, 1677, 1678, 1680, 1681, 1683, 1685, 1686, 1687, 1695, 1696, 1697, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1712, 1713, 1714, 1720, 1723, 1724, 1725, 1735, 1737, 1740, 1741, 1742, 1743, 1744, 1745, 1748, 1753, 1754, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770, 1771, 1776, 1777, 1778, 1779, 1780, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1798, 1799, 1800, 1801, 1802, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1828, 1834, 1846, 1847, 1849, 1850, 1886, 1889], "summary": {"covered_lines": 801, "num_statements": 1356, "percent_covered": 59.07079646017699, "percent_covered_display": "59", "missing_lines": 555, "excluded_lines": 5, "percent_statements_covered": 59.07079646017699, "percent_statements_covered_display": "59"}, "missing_lines": [8, 65, 66, 126, 127, 128, 129, 130, 131, 133, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 163, 177, 183, 192, 193, 203, 204, 206, 207, 208, 209, 218, 219, 220, 221, 222, 230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275, 287, 288, 295, 296, 297, 304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 367, 368, 390, 392, 394, 396, 398, 405, 440, 441, 442, 452, 458, 459, 465, 466, 467, 468, 478, 479, 480, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 509, 510, 515, 516, 517, 518, 519, 520, 521, 522, 523, 530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552, 561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589, 598, 599, 606, 607, 608, 618, 619, 620, 621, 623, 634, 636, 638, 640, 648, 649, 650, 662, 663, 664, 674, 675, 676, 705, 706, 707, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792, 797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860, 872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911, 923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948, 960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986, 1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039, 1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619, 1688, 1694, 1698, 1699, 1700, 1701, 1711, 1715, 1716, 1717, 1718, 1721, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1736, 1738, 1749, 1750, 1751, 1752, 1755, 1756, 1772, 1773, 1774, 1775, 1781, 1794, 1795, 1796, 1797, 1803, 1820, 1821, 1829, 1830, 1831, 1832, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1890], "excluded_lines": [335, 336, 369, 370, 371], "start_line": 1}}}, "src/nostr/__init__.py": {"executed_lines": [5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [31, 33], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [31, 33], "excluded_lines": [], "start_line": 1}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 42, 43, 45, 46, 49, 52, 63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110, 113], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 2, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97"}, "missing_lines": [93, 94], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [93, 94], "excluded_lines": [], "start_line": 52}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 42, 43, 45, 46, 49, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [38, 39], "start_line": 1}}, "classes": {"NostrClient": {"executed_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [93, 94], "excluded_lines": [], "start_line": 49}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 42, 43, 45, 46, 49, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [38, 39], "start_line": 1}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 10, 11, 12, 14, 15, 20, 21, 26, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 42, 43, 45, 46], "summary": {"covered_lines": 26, "num_statements": 33, "percent_covered": 78.78787878787878, "percent_covered_display": "79", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 78.78787878787878, "percent_statements_covered_display": "79"}, "missing_lines": [13, 17, 18, 22, 23, 24, 38], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [11, 12, 14, 15, 20, 21, 26], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 53.84615384615385, "percent_statements_covered_display": "54"}, "missing_lines": [13, 17, 18, 22, 23, 24], "excluded_lines": [], "start_line": 10}, "Keys.hex_to_bech32": {"executed_lines": [31, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "Keys.bech32_to_hex": {"executed_lines": [36, 37, 39, 40], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [38], "excluded_lines": [], "start_line": 35}, "Keys.private_key_hex": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "Keys.public_key_hex": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "": {"executed_lines": [1, 3, 4, 7, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Keys": {"executed_lines": [11, 12, 14, 15, 20, 21, 26, 31, 32, 36, 37, 39, 40, 43, 46], "summary": {"covered_lines": 15, "num_statements": 22, "percent_covered": 68.18181818181819, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 68.18181818181819, "percent_statements_covered_display": "68"}, "missing_lines": [13, 17, 18, 22, 23, 24, 38], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [1, 3, 4, 7, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 25, 27, 29, 30, 32, 38, 40, 42, 43, 45, 46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67, 69, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 93, 103, 105, 107, 109, 148, 150, 152, 153, 155, 157, 158, 159, 160, 161, 162, 164, 168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199, 201, 225, 227, 228, 231, 232], "summary": {"covered_lines": 91, "num_statements": 155, "percent_covered": 58.70967741935484, "percent_covered_display": "59", "missing_lines": 64, "excluded_lines": 0, "percent_statements_covered": 58.70967741935484, "percent_statements_covered_display": "59"}, "missing_lines": [28, 34, 35, 36, 41, 47, 54, 55, 57, 90, 91, 94, 95, 96, 97, 98, 101, 106, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 151, 169, 181, 193, 194, 195, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 229, 230], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [27, 29, 30], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [28], "excluded_lines": [], "start_line": 25}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [34, 35, 36], "excluded_lines": [], "start_line": 32}, "ConnectionHandler._connect_async": {"executed_lines": [40, 42, 43], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [41], "excluded_lines": [], "start_line": 38}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67], "summary": {"covered_lines": 13, "num_statements": 17, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 76.47058823529412, "percent_statements_covered_display": "76"}, "missing_lines": [47, 54, 55, 57], "excluded_lines": [], "start_line": 45}, "ConnectionHandler._ping_relay": {"executed_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85"}, "missing_lines": [90, 91], "excluded_lines": [], "start_line": 69}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": [], "start_line": 93}, "ConnectionHandler.check_relay_health": {"executed_lines": [105, 107], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [106], "excluded_lines": [], "start_line": 103}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": [], "start_line": 109}, "ConnectionHandler.publish_event": {"executed_lines": [150, 152, 153], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [151], "excluded_lines": [], "start_line": 148}, "ConnectionHandler.update_relays": {"executed_lines": [157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [169, 181, 193, 194, 195], "excluded_lines": [], "start_line": 164}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": [], "start_line": 201}, "ConnectionHandler.close_client_pool": {"executed_lines": [227, 228, 231, 232], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [229, 230], "excluded_lines": [], "start_line": 225}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ConnectionHandler": {"executed_lines": [27, 29, 30, 40, 42, 43, 46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 105, 107, 150, 152, 153, 157, 158, 159, 160, 161, 162, 168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199, 227, 228, 231, 232], "summary": {"covered_lines": 65, "num_statements": 129, "percent_covered": 50.3875968992248, "percent_covered_display": "50", "missing_lines": 64, "excluded_lines": 0, "percent_statements_covered": 50.3875968992248, "percent_statements_covered_display": "50"}, "missing_lines": [28, 34, 35, 36, 41, 47, 54, 55, 57, 90, 91, 94, 95, 96, 97, 98, 101, 106, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 151, 169, 181, 193, 194, 195, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 229, 230], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 21, 36, 37, 41, 46, 47, 48, 49, 54, 57, 58, 64, 71, 72, 73, 74, 75, 80, 82, 83, 85, 89, 90, 91, 92, 97, 111, 122, 129, 131, 138, 140, 147, 148, 149, 150, 151, 152, 157], "summary": {"covered_lines": 49, "num_statements": 84, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58"}, "missing_lines": [38, 42, 60, 61, 62, 76, 77, 78, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [36, 37, 41, 46, 47, 48, 49, 54, 57, 58], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [38, 42, 60, 61, 62], "excluded_lines": [], "start_line": 21}, "KeyManager.initialize_bip85": {"executed_lines": [71, 72, 73, 74, 75], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [76, 77, 78], "excluded_lines": [], "start_line": 64}, "KeyManager.generate_nostr_keys": {"executed_lines": [82, 83, 85, 89, 90, 91, 92], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [93, 94, 95], "excluded_lines": [], "start_line": 80}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": [], "start_line": 97}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": [], "start_line": 111}, "KeyManager.get_public_key_hex": {"executed_lines": [129], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122}, "KeyManager.get_private_key_hex": {"executed_lines": [138], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 131}, "KeyManager.get_npub": {"executed_lines": [147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [153, 154, 155], "excluded_lines": [], "start_line": 140}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 157}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"KeyManager": {"executed_lines": [36, 37, 41, 46, 47, 48, 49, 54, 57, 58, 71, 72, 73, 74, 75, 82, 83, 85, 89, 90, 91, 92, 129, 138, 147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 30, "num_statements": 65, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 46.15384615384615, "percent_statements_covered_display": "46"}, "missing_lines": [38, 42, 60, 61, 62, 76, 77, 78, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 33, 34, 35, 36, 37, 45, 46, 49, 57, 58, 59, 62, 65, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 137, 140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219, 221, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277, 279, 281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 312, 314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346, 348, 349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 394, 395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 433, 434, 435, 437, 438, 439, 441, 442, 443], "summary": {"covered_lines": 232, "num_statements": 264, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 32, "excluded_lines": 11, "percent_statements_covered": 87.87878787878788, "percent_statements_covered_display": "88"}, "missing_lines": [70, 84, 85, 96, 97, 155, 156, 205, 209, 210, 211, 213, 246, 252, 253, 262, 263, 282, 290, 291, 308, 309, 310, 315, 331, 332, 334, 340, 341, 350, 365, 396], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [33, 34, 35, 36, 37, 45, 46], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "new_manifest_id": {"executed_lines": [57, 58, 59], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "SnapshotHandler.publish_snapshot": {"executed_lines": [68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "summary": {"covered_lines": 36, "num_statements": 41, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 87.8048780487805, "percent_statements_covered_display": "88"}, "missing_lines": [70, 84, 85, 96, 97], "excluded_lines": [], "start_line": 65}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219], "summary": {"covered_lines": 50, "num_statements": 57, "percent_covered": 87.71929824561404, "percent_covered_display": "88", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 87.71929824561404, "percent_statements_covered_display": "88"}, "missing_lines": [155, 156, 205, 209, 210, 211, 213], "excluded_lines": [], "start_line": 137}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 11, "percent_statements_covered": 77.27272727272727, "percent_statements_covered_display": "77"}, "missing_lines": [246, 252, 253, 262, 263], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "start_line": 221}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "summary": {"covered_lines": 20, "num_statements": 26, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [282, 290, 291, 308, 309, 310], "excluded_lines": [], "start_line": 279}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [315, 331, 332, 334, 340, 341], "excluded_lines": [], "start_line": 312}, "SnapshotHandler.publish_delta": {"executed_lines": [349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91"}, "missing_lines": [350, 365], "excluded_lines": [], "start_line": 348}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96"}, "missing_lines": [396], "excluded_lines": [], "start_line": 394}, "SnapshotHandler.get_current_manifest": {"executed_lines": [434, 435], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 433}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [438, 439], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 437}, "SnapshotHandler.get_delta_events": {"executed_lines": [442, 443], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 441}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SnapshotHandler": {"executed_lines": [68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277, 281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346, 349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "summary": {"covered_lines": 193, "num_statements": 225, "percent_covered": 85.77777777777777, "percent_covered_display": "86", "missing_lines": 32, "excluded_lines": 11, "percent_statements_covered": 85.77777777777777, "percent_statements_covered_display": "86"}, "missing_lines": [70, 84, 85, 96, 97, 155, 156, 205, 209, 210, 211, 213, 246, 252, 253, 262, 263, 282, 290, 291, 308, 309, 310, 315, 331, 332, 334, 340, 341, 350, 365, 396], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "start_line": 62}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 33, 34, 35, 36, 37, 45, 46, 49, 57, 58, 59, 62, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/api.py": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 83, 84, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 124, 125, 129, 132, 133, 134, 135, 138, 140, 141, 142, 143, 146, 147, 149, 150, 158, 159, 160, 161, 162, 165, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 182, 194, 195, 198, 200, 201, 202, 203, 204, 205, 208, 209, 210, 211, 214, 216, 217, 218, 221, 222, 225, 231, 232, 233, 234, 235, 238, 239, 242, 243, 250, 251, 252, 254, 255, 257, 260, 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, 277, 278, 279, 280, 281, 283, 284, 287, 289, 292, 293, 294, 295, 298, 299, 302, 305, 315, 328, 331, 332, 335, 336, 337, 338, 346, 347, 350, 351, 356, 357, 358, 359, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 376, 377, 387, 396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442, 445, 451, 452, 455, 456, 457, 458, 459, 472, 473, 476, 477, 478, 479, 480, 489, 490, 497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523, 530, 531, 534, 535, 536, 537, 538, 539, 544, 547, 548, 553, 554, 555, 556, 559, 560, 565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605, 608, 609, 614, 615, 616, 618, 621, 622, 628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686, 703, 704, 713, 714, 715, 716, 718, 728, 729, 735, 736, 737, 738, 740, 750, 751, 757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781, 789, 790, 864, 865, 870, 871, 872, 873, 875, 876, 877, 878, 879, 884, 893, 894, 899, 900, 901, 902, 904, 905, 907, 908, 909, 912, 920, 921, 926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942, 945, 946, 951, 952, 953, 954, 957, 958, 963, 964, 965, 966, 967, 970, 971, 977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129, 1150, 1151, 1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185, 1188, 1189, 1195, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1213, 1214, 1215, 1216, 1218, 1219, 1227, 1230, 1231, 1238, 1239, 1240, 1241, 1243, 1244, 1251, 1254, 1255, 1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280, 1283, 1284, 1291, 1292, 1293, 1295, 1296, 1307, 1310, 1311, 1315, 1316, 1317, 1318, 1319, 1322, 1323, 1327, 1328, 1329, 1330, 1331, 1334, 1335, 1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349, 1352, 1353, 1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388, 1391, 1392, 1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1413, 1414, 1417, 1418, 1419, 1422, 1423, 1426, 1427, 1428, 1431, 1432, 1435, 1436, 1437, 1440, 1441, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461, 1464, 1465, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485, 1491, 1492, 1495, 1496, 1497, 1500, 1501, 1505, 1506, 1507, 1508, 1509, 1512, 1513, 1517, 1518, 1519, 1520, 1521, 1524, 1525, 1529, 1530, 1531, 1533, 1535, 1536, 1539, 1540, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599, 1602, 1603, 1607, 1608, 1609, 1610, 1613, 1614, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1630, 1631, 1632, 1633, 1634, 1635, 1638, 1639, 1641, 1642, 1643, 1644, 1645, 1648, 1649, 1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668, 1671, 1672, 1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689, 1692, 1693, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705, 1708, 1709, 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1725, 1726, 1727, 1728, 1729, 1732, 1733, 1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765, 1776, 1777, 1781, 1782, 1783, 1784, 1795, 1796, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876, 1879, 1880, 1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1911, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935, 1938, 1939, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008, 2011, 2012, 2016, 2017, 2018, 2019, 2021, 2024, 2025, 2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048, 2051, 2052, 2056, 2057, 2058, 2059, 2062, 2063, 2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2086, 2087, 2090, 2091, 2093], "summary": {"covered_lines": 901, "num_statements": 1066, "percent_covered": 84.52157598499062, "percent_covered_display": "85", "missing_lines": 165, "excluded_lines": 0, "percent_statements_covered": 84.52157598499062, "percent_statements_covered_display": "85"}, "missing_lines": [105, 119, 120, 123, 144, 145, 148, 163, 164, 197, 199, 253, 256, 282, 285, 286, 288, 339, 340, 341, 342, 343, 398, 406, 407, 408, 410, 411, 446, 447, 448, 502, 504, 507, 508, 513, 519, 520, 521, 522, 540, 541, 542, 543, 571, 574, 577, 603, 604, 617, 633, 638, 645, 654, 657, 717, 739, 761, 764, 769, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854, 874, 882, 883, 903, 906, 910, 911, 931, 983, 1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147, 1200, 1201, 1217, 1225, 1226, 1242, 1249, 1250, 1267, 1276, 1277, 1278, 1279, 1301, 1302, 1303, 1304, 1305, 1306, 1348, 1363, 1385, 1404, 1457, 1482, 1534, 1566, 1659, 1664, 1683, 1685, 1745, 1757, 1758, 1857, 1858, 1862, 1874, 1895, 1919, 1931, 1973, 1974, 1983, 1992, 1996, 2071], "excluded_lines": [], "functions": {"dynamic_cors_headers": {"executed_lines": [83, 84, 89, 90, 91, 92, 93], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "_get_pm": {"executed_lines": [97, 98, 99, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "_check_token": {"executed_lines": [104, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [105], "excluded_lines": [], "start_line": 103}, "_enforce_rate_limit": {"executed_lines": [115, 116, 117, 118, 121, 122, 124, 125, 129], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [119, 120, 123], "excluded_lines": [], "start_line": 114}, "_request_rate_key": {"executed_lines": [133, 134, 135], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 132}, "_enforce_unlock_attempt_limit": {"executed_lines": [140, 141, 142, 143, 146, 147, 149, 150], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73"}, "missing_lines": [144, 145, 148], "excluded_lines": [], "start_line": 138}, "_record_unlock_failure": {"executed_lines": [159, 160, 161, 162, 165], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [163, 164], "excluded_lines": [], "start_line": 158}, "_reload_relays": {"executed_lines": [170, 171, 172, 173, 174, 175, 176, 177, 178, 179], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168}, "start_server": {"executed_lines": [194, 195, 198, 200, 201, 202, 203, 204, 205], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [197, 199], "excluded_lines": [], "start_line": 182}, "_require_password": {"executed_lines": [209, 210, 211], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 208}, "_require_unlocked": {"executed_lines": [216, 217, 218], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214}, "_semantic_service": {"executed_lines": [222], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221}, "_validate_encryption_path": {"executed_lines": [231, 232, 233, 234, 235], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225}, "_header_truthy": {"executed_lines": [239], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 238}, "_active_fingerprint": {"executed_lines": [243], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242}, "_policy_isolation_kinds": {"executed_lines": [251, 252, 254, 255, 257], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [253, 256], "excluded_lines": [], "start_line": 250}, "_require_high_risk_session": {"executed_lines": [263, 264, 265, 266, 267, 268, 269, 270, 271], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 260}, "_hydrate_partitioned_entry_if_needed": {"executed_lines": [277, 278, 279, 280, 281, 283, 284, 287, 289], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [282, 285, 286, 288], "excluded_lines": [], "start_line": 274}, "_job_profile_command": {"executed_lines": [293, 294, 295], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 292}, "_cron_template": {"executed_lines": [299], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298}, "_systemd_templates": {"executed_lines": [305, 315, 328], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 302}, "_template_key_path": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 331}, "_load_template_signing_key": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 37.5, "percent_statements_covered_display": "38"}, "missing_lines": [339, 340, 341, 342, 343], "excluded_lines": [], "start_line": 335}, "_canonical_json": {"executed_lines": [347], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 346}, "_template_content": {"executed_lines": [351, 356, 357, 358, 359, 360, 361, 362, 363, 364], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 350}, "_template_manifest": {"executed_lines": [368, 369, 370, 371, 372, 373, 376, 377], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 367}, "_build_job_profile_template_payload": {"executed_lines": [396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [398, 406, 407, 408, 410, 411], "excluded_lines": [], "start_line": 387}, "_mask_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [446, 447, 448], "excluded_lines": [], "start_line": 445}, "search_entry": {"executed_lines": [455, 456, 457, 458, 459], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 452}, "high_risk_status": {"executed_lines": [476, 477, 478, 479, 480], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 473}, "high_risk_unlock": {"executed_lines": [497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523], "summary": {"covered_lines": 16, "num_statements": 25, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 64.0, "percent_statements_covered_display": "64"}, "missing_lines": [502, 504, 507, 508, 513, 519, 520, 521, 522], "excluded_lines": [], "start_line": 490}, "high_risk_lock": {"executed_lines": [534, 535, 536, 537, 538, 539, 544], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [540, 541, 542, 543], "excluded_lines": [], "start_line": 531}, "list_agent_job_profiles": {"executed_lines": [553, 554, 555, 556], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 548}, "create_agent_job_profile": {"executed_lines": [565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605], "summary": {"covered_lines": 19, "num_statements": 24, "percent_covered": 79.16666666666667, "percent_covered_display": "79", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 79.16666666666667, "percent_statements_covered_display": "79"}, "missing_lines": [571, 574, 577, 603, 604], "excluded_lines": [], "start_line": 560}, "revoke_agent_job_profile": {"executed_lines": [614, 615, 616, 618], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [617], "excluded_lines": [], "start_line": 609}, "run_agent_job_profile": {"executed_lines": [628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686], "summary": {"covered_lines": 27, "num_statements": 32, "percent_covered": 84.375, "percent_covered_display": "84", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 84.375, "percent_statements_covered_display": "84"}, "missing_lines": [633, 638, 645, 654, 657], "excluded_lines": [], "start_line": 622}, "template_agent_job_profile": {"executed_lines": [713, 714, 715, 716, 718], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [717], "excluded_lines": [], "start_line": 704}, "template_agent_job_profile_post": {"executed_lines": [735, 736, 737, 738, 740], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [739], "excluded_lines": [], "start_line": 729}, "verify_agent_job_profile_template": {"executed_lines": [757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [761, 764, 769], "excluded_lines": [], "start_line": 751}, "check_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854], "excluded_lines": [], "start_line": 790}, "agent_recovery_split": {"executed_lines": [870, 871, 872, 873, 875, 876, 877, 878, 879, 884], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [874, 882, 883], "excluded_lines": [], "start_line": 865}, "agent_recovery_recover": {"executed_lines": [899, 900, 901, 902, 904, 905, 907, 908, 909, 912], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [903, 906, 910, 911], "excluded_lines": [], "start_line": 894}, "agent_recovery_drill": {"executed_lines": [926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [931], "excluded_lines": [], "start_line": 921}, "agent_recovery_drills": {"executed_lines": [951, 952, 953, 954], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 946}, "agent_recovery_drills_verify": {"executed_lines": [963, 964, 965, 966, 967], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 958}, "get_entry": {"executed_lines": [977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [983], "excluded_lines": [], "start_line": 971}, "create_entry": {"executed_lines": [1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129], "summary": {"covered_lines": 30, "num_statements": 49, "percent_covered": 61.224489795918366, "percent_covered_display": "61", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 61.224489795918366, "percent_statements_covered_display": "61"}, "missing_lines": [1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147], "excluded_lines": [], "start_line": 993}, "update_entry": {"executed_lines": [1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1151}, "get_entry_links": {"executed_lines": [1195, 1196, 1197, 1198, 1199, 1202], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [1200, 1201], "excluded_lines": [], "start_line": 1189}, "add_entry_link": {"executed_lines": [1213, 1214, 1215, 1216, 1218, 1219, 1227], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [1217, 1225, 1226], "excluded_lines": [], "start_line": 1206}, "remove_entry_link": {"executed_lines": [1238, 1239, 1240, 1241, 1243, 1244, 1251], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [1242, 1249, 1250], "excluded_lines": [], "start_line": 1231}, "import_document_entry": {"executed_lines": [1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 61.53846153846154, "percent_statements_covered_display": "62"}, "missing_lines": [1267, 1276, 1277, 1278, 1279], "excluded_lines": [], "start_line": 1255}, "export_document_entry": {"executed_lines": [1291, 1292, 1293, 1295, 1296, 1307], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [1301, 1302, 1303, 1304, 1305, 1306], "excluded_lines": [], "start_line": 1284}, "archive_entry": {"executed_lines": [1315, 1316, 1317, 1318, 1319], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1311}, "unarchive_entry": {"executed_lines": [1327, 1328, 1329, 1330, 1331], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1323}, "get_config": {"executed_lines": [1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [1348], "excluded_lines": [], "start_line": 1335}, "update_config": {"executed_lines": [1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [1363, 1385], "excluded_lines": [], "start_line": 1353}, "set_secret_mode": {"executed_lines": [1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [1404], "excluded_lines": [], "start_line": 1392}, "semantic_status": {"executed_lines": [1417, 1418, 1419], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1414}, "semantic_build": {"executed_lines": [1426, 1427, 1428], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1423}, "semantic_rebuild": {"executed_lines": [1435, 1436, 1437], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1432}, "semantic_search": {"executed_lines": [1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [1457], "excluded_lines": [], "start_line": 1441}, "semantic_config": {"executed_lines": [1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [1482], "excluded_lines": [], "start_line": 1465}, "list_fingerprints": {"executed_lines": [1495, 1496, 1497], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1492}, "add_fingerprint": {"executed_lines": [1505, 1506, 1507, 1508, 1509], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1501}, "remove_fingerprint": {"executed_lines": [1517, 1518, 1519, 1520, 1521], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1513}, "select_fingerprint": {"executed_lines": [1529, 1530, 1531, 1533, 1535, 1536], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [1534], "excluded_lines": [], "start_line": 1525}, "export_totp": {"executed_lines": [1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [1566], "excluded_lines": [], "start_line": 1540}, "get_totp_codes": {"executed_lines": [1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1576}, "get_profile_stats": {"executed_lines": [1607, 1608, 1609, 1610], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1603}, "get_notifications": {"executed_lines": [1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1614}, "get_nostr_pubkey": {"executed_lines": [1632, 1633, 1634, 1635], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1631}, "list_relays": {"executed_lines": [1641, 1642, 1643, 1644, 1645], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1639}, "add_relay": {"executed_lines": [1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [1659, 1664], "excluded_lines": [], "start_line": 1649}, "remove_relay": {"executed_lines": [1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85"}, "missing_lines": [1683, 1685], "excluded_lines": [], "start_line": 1672}, "reset_relays": {"executed_lines": [1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1693}, "verify_checksum": {"executed_lines": [1713, 1714, 1715, 1716, 1717], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1709}, "update_checksum": {"executed_lines": [1725, 1726, 1727, 1728, 1729], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1721}, "export_check": {"executed_lines": [1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [1745, 1757, 1758], "excluded_lines": [], "start_line": 1733}, "verify_export_manifest": {"executed_lines": [1781, 1782, 1783, 1784], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1777}, "export_vault": {"executed_lines": [1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 89.1891891891892, "percent_statements_covered_display": "89"}, "missing_lines": [1857, 1858, 1862, 1874], "excluded_lines": [], "start_line": 1796}, "import_vault": {"executed_lines": [1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 88.46153846153847, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88"}, "missing_lines": [1895, 1919, 1931], "excluded_lines": [], "start_line": 1880}, "import_vault._handle_upload": {"executed_lines": [1904, 1905, 1906, 1907, 1908, 1909, 1911], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1903}, "backup_parent_seed": {"executed_lines": [1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008], "summary": {"covered_lines": 25, "num_statements": 30, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [1973, 1974, 1983, 1992, 1996], "excluded_lines": [], "start_line": 1939}, "change_password": {"executed_lines": [2016, 2017, 2018, 2019, 2021], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2012}, "generate_password": {"executed_lines": [2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2025}, "lock_vault": {"executed_lines": [2056, 2057, 2058, 2059], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2052}, "unlock_vault": {"executed_lines": [2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [2071], "excluded_lines": [], "start_line": 2063}, "shutdown_server": {"executed_lines": [2090, 2091, 2093], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2087}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 225, 238, 242, 250, 260, 274, 292, 298, 302, 331, 335, 346, 350, 367, 387, 445, 451, 452, 472, 473, 489, 490, 530, 531, 547, 548, 559, 560, 608, 609, 621, 622, 703, 704, 728, 729, 750, 751, 789, 790, 864, 865, 893, 894, 920, 921, 945, 946, 957, 958, 970, 971, 992, 993, 1150, 1151, 1188, 1189, 1205, 1206, 1230, 1231, 1254, 1255, 1283, 1284, 1310, 1311, 1322, 1323, 1334, 1335, 1352, 1353, 1391, 1392, 1413, 1414, 1422, 1423, 1431, 1432, 1440, 1441, 1464, 1465, 1491, 1492, 1500, 1501, 1512, 1513, 1524, 1525, 1539, 1540, 1575, 1576, 1602, 1603, 1613, 1614, 1630, 1631, 1638, 1639, 1648, 1649, 1671, 1672, 1692, 1693, 1708, 1709, 1720, 1721, 1732, 1733, 1776, 1777, 1795, 1796, 1879, 1880, 1938, 1939, 2011, 2012, 2024, 2025, 2051, 2052, 2062, 2063, 2086, 2087], "summary": {"covered_lines": 189, "num_statements": 189, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 83, 84, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 124, 125, 129, 132, 133, 134, 135, 138, 140, 141, 142, 143, 146, 147, 149, 150, 158, 159, 160, 161, 162, 165, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 182, 194, 195, 198, 200, 201, 202, 203, 204, 205, 208, 209, 210, 211, 214, 216, 217, 218, 221, 222, 225, 231, 232, 233, 234, 235, 238, 239, 242, 243, 250, 251, 252, 254, 255, 257, 260, 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, 277, 278, 279, 280, 281, 283, 284, 287, 289, 292, 293, 294, 295, 298, 299, 302, 305, 315, 328, 331, 332, 335, 336, 337, 338, 346, 347, 350, 351, 356, 357, 358, 359, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 376, 377, 387, 396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442, 445, 451, 452, 455, 456, 457, 458, 459, 472, 473, 476, 477, 478, 479, 480, 489, 490, 497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523, 530, 531, 534, 535, 536, 537, 538, 539, 544, 547, 548, 553, 554, 555, 556, 559, 560, 565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605, 608, 609, 614, 615, 616, 618, 621, 622, 628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686, 703, 704, 713, 714, 715, 716, 718, 728, 729, 735, 736, 737, 738, 740, 750, 751, 757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781, 789, 790, 864, 865, 870, 871, 872, 873, 875, 876, 877, 878, 879, 884, 893, 894, 899, 900, 901, 902, 904, 905, 907, 908, 909, 912, 920, 921, 926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942, 945, 946, 951, 952, 953, 954, 957, 958, 963, 964, 965, 966, 967, 970, 971, 977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129, 1150, 1151, 1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185, 1188, 1189, 1195, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1213, 1214, 1215, 1216, 1218, 1219, 1227, 1230, 1231, 1238, 1239, 1240, 1241, 1243, 1244, 1251, 1254, 1255, 1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280, 1283, 1284, 1291, 1292, 1293, 1295, 1296, 1307, 1310, 1311, 1315, 1316, 1317, 1318, 1319, 1322, 1323, 1327, 1328, 1329, 1330, 1331, 1334, 1335, 1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349, 1352, 1353, 1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388, 1391, 1392, 1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1413, 1414, 1417, 1418, 1419, 1422, 1423, 1426, 1427, 1428, 1431, 1432, 1435, 1436, 1437, 1440, 1441, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461, 1464, 1465, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485, 1491, 1492, 1495, 1496, 1497, 1500, 1501, 1505, 1506, 1507, 1508, 1509, 1512, 1513, 1517, 1518, 1519, 1520, 1521, 1524, 1525, 1529, 1530, 1531, 1533, 1535, 1536, 1539, 1540, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599, 1602, 1603, 1607, 1608, 1609, 1610, 1613, 1614, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1630, 1631, 1632, 1633, 1634, 1635, 1638, 1639, 1641, 1642, 1643, 1644, 1645, 1648, 1649, 1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668, 1671, 1672, 1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689, 1692, 1693, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705, 1708, 1709, 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1725, 1726, 1727, 1728, 1729, 1732, 1733, 1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765, 1776, 1777, 1781, 1782, 1783, 1784, 1795, 1796, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876, 1879, 1880, 1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1911, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935, 1938, 1939, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008, 2011, 2012, 2016, 2017, 2018, 2019, 2021, 2024, 2025, 2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048, 2051, 2052, 2056, 2057, 2058, 2059, 2062, 2063, 2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2086, 2087, 2090, 2091, 2093], "summary": {"covered_lines": 901, "num_statements": 1066, "percent_covered": 84.52157598499062, "percent_covered_display": "85", "missing_lines": 165, "excluded_lines": 0, "percent_statements_covered": 84.52157598499062, "percent_statements_covered_display": "85"}, "missing_lines": [105, 119, 120, 123, 144, 145, 148, 163, 164, 197, 199, 253, 256, 282, 285, 286, 288, 339, 340, 341, 342, 343, 398, 406, 407, 408, 410, 411, 446, 447, 448, 502, 504, 507, 508, 513, 519, 520, 521, 522, 540, 541, 542, 543, 571, 574, 577, 603, 604, 617, 633, 638, 645, 654, 657, 717, 739, 761, 764, 769, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854, 874, 882, 883, 903, 906, 910, 911, 931, 983, 1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147, 1200, 1201, 1217, 1225, 1226, 1242, 1249, 1250, 1267, 1276, 1277, 1278, 1279, 1301, 1302, 1303, 1304, 1305, 1306, 1348, 1363, 1385, 1404, 1457, 1482, 1534, 1566, 1659, 1664, 1683, 1685, 1745, 1757, 1758, 1857, 1858, 1862, 1874, 1895, 1919, 1931, 1973, 1974, 1983, 1992, 1996, 2071], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 80, 81, 82, 86, 94, 95, 105, 106, 107, 121, 123, 124, 127, 128, 141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177, 180, 181, 183, 184, 185, 188, 189, 203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247, 250, 251, 253, 254, 257, 258, 271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335], "summary": {"covered_lines": 103, "num_statements": 123, "percent_covered": 83.73983739837398, "percent_covered_display": "84", "missing_lines": 20, "excluded_lines": 4, "percent_statements_covered": 83.73983739837398, "percent_statements_covered_display": "84"}, "missing_lines": [71, 72, 73, 74, 75, 83, 153, 157, 211, 215, 234, 276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": [117, 118, 338, 339], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71, 72, 73, 74, 75], "excluded_lines": [], "start_line": 69}, "_gui_backend_available": {"executed_lines": [80, 81, 82], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [83], "excluded_lines": [], "start_line": 78}, "_prime_tui2_service": {"executed_lines": [94, 95, 105, 106, 107], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [117, 118], "start_line": 86}, "_launch_legacy_tui": {"executed_lines": [123, 124], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "main": {"executed_lines": [141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85"}, "missing_lines": [153, 157], "excluded_lines": [], "start_line": 128}, "root_lock": {"executed_lines": [183, 184, 185], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 181}, "tui2": {"executed_lines": [203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [211, 215, 234], "excluded_lines": [], "start_line": 189}, "legacy_tui": {"executed_lines": [253, 254], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251}, "gui": {"executed_lines": [271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": [], "start_line": 258}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 86, 121, 127, 128, 180, 181, 188, 189, 250, 251, 257, 258], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [338, 339], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 80, 81, 82, 86, 94, 95, 105, 106, 107, 121, 123, 124, 127, 128, 141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177, 180, 181, 183, 184, 185, 188, 189, 203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247, 250, 251, 253, 254, 257, 258, 271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335], "summary": {"covered_lines": 103, "num_statements": 123, "percent_covered": 83.73983739837398, "percent_covered_display": "84", "missing_lines": 20, "excluded_lines": 4, "percent_statements_covered": 83.73983739837398, "percent_statements_covered_display": "84"}, "missing_lines": [71, 72, 73, 74, 75, 83, 153, 157, 211, 215, 234, 276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": [117, 118, 338, 339], "start_line": 1}}}, "src/seedpass/cli/agent.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 194, 196, 199, 211, 220, 222, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380, 383, 384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412, 416, 417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574, 581, 582, 583, 584, 585, 586, 589, 590, 591, 594, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 673, 675, 681, 682, 684, 687, 688, 689, 690, 691, 692, 695, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 743, 746, 754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 883, 884, 887, 888, 889, 891, 892, 893, 894, 896, 899, 906, 907, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1789, 1790, 1793, 1794, 1823, 1830, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1934, 1935, 1939, 1948, 1949, 1968, 1969, 2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2220, 2221, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2532, 2533, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2641, 2642, 2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754, 2757, 2758, 2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3090, 3091, 3101, 3108, 3111, 3112, 3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 1119, "num_statements": 1539, "percent_covered": 72.70955165692008, "percent_covered_display": "73", "missing_lines": 420, "excluded_lines": 2, "percent_statements_covered": 72.70955165692008, "percent_statements_covered_display": "73"}, "missing_lines": [193, 195, 221, 223, 269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287, 377, 378, 386, 390, 393, 397, 400, 405, 413, 425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522, 566, 569, 570, 571, 575, 576, 577, 578, 592, 593, 595, 670, 674, 676, 683, 693, 694, 696, 742, 758, 760, 763, 767, 771, 776, 777, 778, 796, 822, 823, 855, 859, 862, 864, 865, 866, 880, 890, 895, 908, 909, 910, 911, 912, 913, 914, 928, 929, 934, 935, 936, 937, 938, 940, 941, 1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200, 1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275, 1399, 1479, 1480, 1481, 1482, 1489, 1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1684, 1746, 1747, 1748, 1749, 1750, 1786, 1787, 1788, 1831, 1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897, 1933, 1951, 1952, 1953, 1954, 1955, 1965, 2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2123, 2124, 2128, 2138, 2143, 2144, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2321, 2324, 2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491, 2528, 2529, 2537, 2538, 2539, 2540, 2541, 2542, 2624, 2691, 2743, 2811, 2814, 2842, 2843, 2844, 2845, 2879, 2880, 2881, 3000, 3024, 3039, 3048, 3049, 3087, 3097, 3098, 3099, 3100, 3126, 3127, 3128, 3129, 3131, 3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602, 3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653, 3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828, 3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116, 4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": [408, 409], "functions": {"_utcnow": {"executed_lines": [168], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167}, "_policy_path": {"executed_lines": [172], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 171}, "_token_store_path": {"executed_lines": [176], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175}, "_audit_key_path": {"executed_lines": [180], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179}, "_audit_log_path": {"executed_lines": [184], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 183}, "_ensure_dir": {"executed_lines": [188], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187}, "_mask_secret": {"executed_lines": [192, 194, 196], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [193, 195], "excluded_lines": [], "start_line": 191}, "_automation_job_command": {"executed_lines": [211, 220, 222, 226], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [221, 223], "excluded_lines": [], "start_line": 199}, "_cron_template": {"executed_lines": [230], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229}, "_systemd_templates": {"executed_lines": [236, 246, 259], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 233}, "_resolve_secret_for_kind": {"executed_lines": [265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280], "summary": {"covered_lines": 12, "num_statements": 23, "percent_covered": 52.17391304347826, "percent_covered_display": "52", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 52.17391304347826, "percent_statements_covered_display": "52"}, "missing_lines": [269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287], "excluded_lines": [], "start_line": 262}, "_deny_all_policy": {"executed_lines": [291, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290}, "_normalize_legacy_policy": {"executed_lines": [315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [377, 378], "excluded_lines": [], "start_line": 313}, "_validate_rule": {"executed_lines": [384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 70.83333333333333, "percent_covered_display": "71", "missing_lines": 7, "excluded_lines": 2, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71"}, "missing_lines": [386, 390, 393, 397, 400, 405, 413], "excluded_lines": [408, 409], "start_line": 383}, "_normalize_policy": {"executed_lines": [417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554], "summary": {"covered_lines": 60, "num_statements": 85, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 70.58823529411765, "percent_statements_covered_display": "71"}, "missing_lines": [425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522], "excluded_lines": [], "start_line": 416}, "_load_policy": {"executed_lines": [558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574], "summary": {"covered_lines": 11, "num_statements": 19, "percent_covered": 57.89473684210526, "percent_covered_display": "58", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 57.89473684210526, "percent_statements_covered_display": "58"}, "missing_lines": [566, 569, 570, 571, 575, 576, 577, 578], "excluded_lines": [], "start_line": 557}, "_save_policy": {"executed_lines": [582, 583, 584, 585, 586], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 581}, "_load_policy_from_file": {"executed_lines": [590, 591, 594, 596], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [592, 593, 595], "excluded_lines": [], "start_line": 589}, "_policy_json_lines": {"executed_lines": [600], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 599}, "_policy_full_hash": {"executed_lines": [604, 607], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 603}, "_policy_diff_summary": {"executed_lines": [613, 614, 616, 617, 618, 619, 620, 626], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 610}, "_agent_password": {"executed_lines": [651, 652, 659, 660], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 643}, "_seed_from_inputs": {"executed_lines": [668, 669, 673, 675, 681, 682, 684], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [670, 674, 676, 683], "excluded_lines": [], "start_line": 663}, "_load_token_store": {"executed_lines": [688, 689, 690, 691, 692, 695, 697], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [693, 694, 696], "excluded_lines": [], "start_line": 687}, "_save_token_store": {"executed_lines": [701, 702, 703, 704], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 700}, "_hash_token": {"executed_lines": [708], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 707}, "_issue_token_record": {"executed_lines": [720, 721, 722, 723, 736], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 711}, "_parse_iso8601": {"executed_lines": [740, 741, 743], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [742], "excluded_lines": [], "start_line": 739}, "_validate_token": {"executed_lines": [754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794], "summary": {"covered_lines": 26, "num_statements": 35, "percent_covered": 74.28571428571429, "percent_covered_display": "74", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 74.28571428571429, "percent_statements_covered_display": "74"}, "missing_lines": [758, 760, 763, 767, 771, 776, 777, 778, 796], "excluded_lines": [], "start_line": 746}, "_load_audit_key": {"executed_lines": [800, 801, 802, 803, 804, 805, 806, 807], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 799}, "_append_audit_event": {"executed_lines": [811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89"}, "missing_lines": [822, 823], "excluded_lines": [], "start_line": 810}, "_policy_decision": {"executed_lines": [849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879], "summary": {"covered_lines": 22, "num_statements": 29, "percent_covered": 75.86206896551724, "percent_covered_display": "76", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 75.86206896551724, "percent_statements_covered_display": "76"}, "missing_lines": [855, 859, 862, 864, 865, 866, 880], "excluded_lines": [], "start_line": 840}, "_build_entry_path": {"executed_lines": [884], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 883}, "_high_risk_lock_required": {"executed_lines": [888, 889, 891, 892, 893, 894, 896], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [890, 895], "excluded_lines": [], "start_line": 887}, "_hydrate_partition_entry_if_needed": {"executed_lines": [906, 907], "summary": {"covered_lines": 2, "num_statements": 9, "percent_covered": 22.22222222222222, "percent_covered_display": "22", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 22.22222222222222, "percent_statements_covered_display": "22"}, "missing_lines": [908, 909, 910, 911, 912, 913, 914], "excluded_lines": [], "start_line": 899}, "_token_posture_summary": {"executed_lines": [918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943], "summary": {"covered_lines": 17, "num_statements": 26, "percent_covered": 65.38461538461539, "percent_covered_display": "65", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 65.38461538461539, "percent_statements_covered_display": "65"}, "missing_lines": [928, 929, 934, 935, 936, 937, 938, 940, 941], "excluded_lines": [], "start_line": 917}, "_severity_rank": {"executed_lines": [953, 954], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 952}, "_posture_findings": {"executed_lines": [960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218], "summary": {"covered_lines": 82, "num_statements": 102, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 80.3921568627451, "percent_statements_covered_display": "80"}, "missing_lines": [1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200], "excluded_lines": [], "start_line": 957}, "_runtime_config_findings": {"executed_lines": [1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275], "excluded_lines": [], "start_line": 1221}, "_remediation_actions": {"executed_lines": [1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [1399], "excluded_lines": [], "start_line": 1280}, "agent_init": {"executed_lines": [1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523], "summary": {"covered_lines": 29, "num_statements": 34, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 85.29411764705883, "percent_statements_covered_display": "85"}, "missing_lines": [1479, 1480, 1481, 1482, 1489], "excluded_lines": [], "start_line": 1416}, "agent_policy_show": {"executed_lines": [1529, 1530, 1531, 1532, 1533], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1527}, "agent_policy_lint": {"executed_lines": [1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571], "summary": {"covered_lines": 8, "num_statements": 16, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570], "excluded_lines": [], "start_line": 1537}, "agent_policy_review": {"executed_lines": [1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633], "summary": {"covered_lines": 11, "num_statements": 27, "percent_covered": 40.74074074074074, "percent_covered_display": "41", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 40.74074074074074, "percent_statements_covered_display": "41"}, "missing_lines": [1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632], "excluded_lines": [], "start_line": 1575}, "agent_policy_apply": {"executed_lines": [1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [1684], "excluded_lines": [], "start_line": 1637}, "agent_policy_set": {"executed_lines": [1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1689}, "agent_identity_create": {"executed_lines": [1739, 1740, 1751, 1760], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 44.44444444444444, "percent_statements_covered_display": "44"}, "missing_lines": [1746, 1747, 1748, 1749, 1750], "excluded_lines": [], "start_line": 1728}, "agent_identity_list": {"executed_lines": [1768], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1764}, "agent_identity_revoke": {"executed_lines": [1785, 1789, 1790], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [1786, 1787, 1788], "excluded_lines": [], "start_line": 1781}, "agent_high_risk_factor_set": {"executed_lines": [1823, 1830, 1832, 1833, 1834], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [1831], "excluded_lines": [], "start_line": 1794}, "agent_high_risk_unlock": {"executed_lines": [1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915], "summary": {"covered_lines": 13, "num_statements": 24, "percent_covered": 54.166666666666664, "percent_covered_display": "54", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 54.166666666666664, "percent_statements_covered_display": "54"}, "missing_lines": [1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897], "excluded_lines": [], "start_line": 1838}, "agent_high_risk_lock": {"executed_lines": [1931, 1932, 1934, 1935, 1939], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [1933], "excluded_lines": [], "start_line": 1929}, "agent_high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1951, 1952, 1953, 1954, 1955, 1965], "excluded_lines": [], "start_line": 1949}, "agent_high_risk_partition_migrate": {"executed_lines": [2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075], "summary": {"covered_lines": 13, "num_statements": 21, "percent_covered": 61.904761904761905, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 61.904761904761905, "percent_statements_covered_display": "62"}, "missing_lines": [2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050], "excluded_lines": [], "start_line": 1969}, "agent_token_issue": {"executed_lines": [2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [2123, 2124, 2128, 2138, 2143, 2144], "excluded_lines": [], "start_line": 2079}, "agent_token_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2198, 2199, 2200, 2201, 2202, 2203, 2217], "excluded_lines": [], "start_line": 2194}, "agent_token_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242], "excluded_lines": [], "start_line": 2221}, "agent_approval_issue": {"executed_lines": [2280, 2287, 2297], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2246}, "agent_approval_list": {"executed_lines": [2305, 2306], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2301}, "agent_approval_revoke": {"executed_lines": [2320, 2325, 2326], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [2321, 2324], "excluded_lines": [], "start_line": 2316}, "agent_lease_consume": {"executed_lines": [2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520], "summary": {"covered_lines": 38, "num_statements": 70, "percent_covered": 54.285714285714285, "percent_covered_display": "54", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 54.285714285714285, "percent_statements_covered_display": "54"}, "missing_lines": [2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491], "excluded_lines": [], "start_line": 2330}, "agent_lease_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2528, 2529], "excluded_lines": [], "start_line": 2524}, "agent_lease_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2537, 2538, 2539, 2540, 2541, 2542], "excluded_lines": [], "start_line": 2533}, "agent_job_run": {"executed_lines": [2614, 2615, 2616, 2621, 2622], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [2624], "excluded_lines": [], "start_line": 2548}, "agent_job_template": {"executed_lines": [2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754], "summary": {"covered_lines": 19, "num_statements": 21, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.47619047619048, "percent_statements_covered_display": "90"}, "missing_lines": [2691, 2743], "excluded_lines": [], "start_line": 2642}, "agent_job_profile_create": {"executed_lines": [2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857], "summary": {"covered_lines": 14, "num_statements": 20, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [2811, 2814, 2842, 2843, 2844, 2845], "excluded_lines": [], "start_line": 2758}, "agent_job_profile_list": {"executed_lines": [2867, 2868], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2863}, "agent_job_profile_revoke": {"executed_lines": [2878, 2882, 2883], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [2879, 2880, 2881], "excluded_lines": [], "start_line": 2874}, "agent_job_profile_run": {"executed_lines": [2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2887}, "agent_job_profile_check": {"executed_lines": [2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 82.75862068965517, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.75862068965517, "percent_statements_covered_display": "83"}, "missing_lines": [3000, 3024, 3039, 3048, 3049], "excluded_lines": [], "start_line": 2977}, "agent_recovery_split": {"executed_lines": [3085, 3086, 3090, 3091, 3101, 3108], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55"}, "missing_lines": [3087, 3097, 3098, 3099, 3100], "excluded_lines": [], "start_line": 3065}, "agent_recovery_recover": {"executed_lines": [3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 68.75, "percent_covered_display": "69", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 68.75, "percent_statements_covered_display": "69"}, "missing_lines": [3126, 3127, 3128, 3129, 3131], "excluded_lines": [], "start_line": 3112}, "agent_recovery_drill": {"executed_lines": [3169, 3170, 3176, 3177, 3178], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3148}, "agent_recovery_drill_list": {"executed_lines": [3186, 3187], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3182}, "agent_bootstrap_context": {"executed_lines": [3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3197}, "agent_posture_check": {"executed_lines": [3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439], "summary": {"covered_lines": 33, "num_statements": 44, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434], "excluded_lines": [], "start_line": 3317}, "agent_posture_remediate": {"executed_lines": [3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544], "summary": {"covered_lines": 22, "num_statements": 33, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520], "excluded_lines": [], "start_line": 3443}, "agent_export_check": {"executed_lines": [3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602], "excluded_lines": [], "start_line": 3548}, "agent_export_manifest_verify": {"executed_lines": [3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672], "summary": {"covered_lines": 12, "num_statements": 20, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653], "excluded_lines": [], "start_line": 3622}, "agent_document_import": {"executed_lines": [3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855], "summary": {"covered_lines": 25, "num_statements": 46, "percent_covered": 54.34782608695652, "percent_covered_display": "54", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 54.34782608695652, "percent_statements_covered_display": "54"}, "missing_lines": [3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828], "excluded_lines": [], "start_line": 3676}, "agent_document_export": {"executed_lines": [3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142], "summary": {"covered_lines": 33, "num_statements": 82, "percent_covered": 40.24390243902439, "percent_covered_display": "40", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 40.24390243902439, "percent_statements_covered_display": "40"}, "missing_lines": [3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116], "excluded_lines": [], "start_line": 3859}, "agent_get": {"executed_lines": [4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 80, "num_statements": 96, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": [], "start_line": 4146}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 171, 175, 179, 183, 187, 191, 199, 229, 233, 262, 290, 313, 383, 416, 557, 581, 589, 599, 603, 610, 643, 663, 687, 700, 707, 711, 739, 746, 799, 810, 840, 883, 887, 899, 917, 952, 957, 1221, 1280, 1415, 1416, 1526, 1527, 1536, 1537, 1574, 1575, 1636, 1637, 1688, 1689, 1727, 1728, 1763, 1764, 1780, 1781, 1793, 1794, 1837, 1838, 1928, 1929, 1948, 1949, 1968, 1969, 2078, 2079, 2193, 2194, 2220, 2221, 2245, 2246, 2300, 2301, 2315, 2316, 2329, 2330, 2523, 2524, 2532, 2533, 2547, 2548, 2641, 2642, 2757, 2758, 2862, 2863, 2873, 2874, 2886, 2887, 2976, 2977, 3064, 3065, 3111, 3112, 3147, 3148, 3181, 3182, 3196, 3197, 3316, 3317, 3442, 3443, 3547, 3548, 3621, 3622, 3675, 3676, 3858, 3859, 4145, 4146], "summary": {"covered_lines": 166, "num_statements": 166, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 194, 196, 199, 211, 220, 222, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380, 383, 384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412, 416, 417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574, 581, 582, 583, 584, 585, 586, 589, 590, 591, 594, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 673, 675, 681, 682, 684, 687, 688, 689, 690, 691, 692, 695, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 743, 746, 754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 883, 884, 887, 888, 889, 891, 892, 893, 894, 896, 899, 906, 907, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1789, 1790, 1793, 1794, 1823, 1830, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1934, 1935, 1939, 1948, 1949, 1968, 1969, 2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2220, 2221, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2532, 2533, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2641, 2642, 2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754, 2757, 2758, 2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3090, 3091, 3101, 3108, 3111, 3112, 3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 1119, "num_statements": 1539, "percent_covered": 72.70955165692008, "percent_covered_display": "73", "missing_lines": 420, "excluded_lines": 2, "percent_statements_covered": 72.70955165692008, "percent_statements_covered_display": "73"}, "missing_lines": [193, 195, 221, 223, 269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287, 377, 378, 386, 390, 393, 397, 400, 405, 413, 425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522, 566, 569, 570, 571, 575, 576, 577, 578, 592, 593, 595, 670, 674, 676, 683, 693, 694, 696, 742, 758, 760, 763, 767, 771, 776, 777, 778, 796, 822, 823, 855, 859, 862, 864, 865, 866, 880, 890, 895, 908, 909, 910, 911, 912, 913, 914, 928, 929, 934, 935, 936, 937, 938, 940, 941, 1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200, 1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275, 1399, 1479, 1480, 1481, 1482, 1489, 1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1684, 1746, 1747, 1748, 1749, 1750, 1786, 1787, 1788, 1831, 1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897, 1933, 1951, 1952, 1953, 1954, 1955, 1965, 2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2123, 2124, 2128, 2138, 2143, 2144, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2321, 2324, 2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491, 2528, 2529, 2537, 2538, 2539, 2540, 2541, 2542, 2624, 2691, 2743, 2811, 2814, 2842, 2843, 2844, 2845, 2879, 2880, 2881, 3000, 3024, 3039, 3048, 3049, 3087, 3097, 3098, 3099, 3100, 3126, 3127, 3128, 3129, 3131, 3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602, 3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653, 3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828, 3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116, 4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": [408, 409], "start_line": 1}}}, "src/seedpass/cli/api.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 63, 66, 67, 76, 77, 80, 83, 84], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 2, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [61, 74, 75, 90, 92, 93], "excluded_lines": [98, 99], "functions": {"api_start": {"executed_lines": [58, 59, 60, 63, 66, 67, 76, 77, 80], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [61, 74, 75], "excluded_lines": [], "start_line": 19}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [90, 92, 93], "excluded_lines": [98, 99], "start_line": 84}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 83, 84], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 63, 66, 67, 76, 77, 80, 83, 84], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 2, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [61, 74, 75, 90, 92, 93], "excluded_lines": [98, 99], "start_line": 1}}}, "src/seedpass/cli/capabilities.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 12, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 321, 322, 323, 332], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"build_capabilities": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "emit_capabilities": {"executed_lines": [280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279}, "register_capabilities_command": {"executed_lines": [323], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 321}, "register_capabilities_command.capabilities_command": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 323}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 279, 321, 322], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 10, 12, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 321, 322, 323, 332], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/common.py": {"executed_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 32, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [25, 26, 27, 29, 30, 32, 34], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [31, 33], "excluded_lines": [], "start_line": 23}, "_get_services": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "_get_entry_service": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "_get_config_service": {"executed_lines": [52, 53], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "_get_util_service": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "_get_nostr_service": {"executed_lines": [62, 63], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 61}, "": {"executed_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 32, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [31, 33], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/config.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 54, "num_statements": 62, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 8, "excluded_lines": 15, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87"}, "missing_lines": [16, 69, 78, 79, 80, 81, 82, 113], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [13, 14, 15, 18], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [16], "excluded_lines": [], "start_line": 11}, "config_set": {"executed_lines": [24, 26, 27, 32, 33, 34, 35, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [36, 37, 38], "start_line": 22}, "config_toggle_secret_mode": {"executed_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91], "summary": {"covered_lines": 18, "num_statements": 24, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 6, "excluded_lines": 6, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [69, 78, 79, 80, 81, 82], "excluded_lines": [54, 55, 56, 86, 87, 88], "start_line": 44}, "config_toggle_offline": {"executed_lines": [97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 6, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [113], "excluded_lines": [100, 101, 102, 119, 120, 121], "start_line": 95}, "": {"executed_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 54, "num_statements": 62, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 8, "excluded_lines": 15, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87"}, "missing_lines": [16, 69, 78, 79, 80, 81, 82, 113], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "start_line": 1}}}, "src/seedpass/cli/entry.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 50, 52, 55, 56, 68, 69, 70, 71, 74, 75, 76, 78, 80, 83, 84, 86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 428, 431, 432, 440, 441, 442, 446, 449, 450, 459, 460, 461, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 179, "num_statements": 220, "percent_covered": 81.36363636363636, "percent_covered_display": "81", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 81.36363636363636, "percent_statements_covered_display": "81"}, "missing_lines": [49, 51, 72, 73, 77, 79, 90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115, 386, 387, 388, 389, 390, 391, 392, 393, 394, 425, 426, 427, 443, 444, 445, 462, 463, 464, 517], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [38, 39, 44, 45, 46, 47, 48, 50, 52], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [49, 51], "excluded_lines": [], "start_line": 24}, "entry_search": {"executed_lines": [68, 69, 70, 71, 74, 75, 76, 78, 80], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [72, 73, 77, 79], "excluded_lines": [], "start_line": 56}, "entry_get": {"executed_lines": [86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122], "summary": {"covered_lines": 15, "num_statements": 31, "percent_covered": 48.38709677419355, "percent_covered_display": "48", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 48.38709677419355, "percent_statements_covered_display": "48"}, "missing_lines": [90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115], "excluded_lines": [], "start_line": 84}, "entry_add": {"executed_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 126}, "entry_add_totp": {"executed_lines": [190, 191, 199], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178}, "entry_add_ssh": {"executed_lines": [210, 211, 216], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203}, "entry_add_pgp": {"executed_lines": [229, 230, 237], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 220}, "entry_add_nostr": {"executed_lines": [248, 249, 254], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 241}, "entry_add_seed": {"executed_lines": [266, 267, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 258}, "entry_add_key_value": {"executed_lines": [285, 286, 287], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 277}, "entry_add_managed_account": {"executed_lines": [298, 299, 304], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 291}, "entry_add_document": {"executed_lines": [316, 317, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 308}, "entry_import_document": {"executed_lines": [334, 335, 336], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 327}, "entry_export_document": {"executed_lines": [351, 352, 353], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 340}, "entry_modify": {"executed_lines": [383, 384, 385, 395, 396, 410, 411, 412, 413], "summary": {"covered_lines": 9, "num_statements": 18, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 393, 394], "excluded_lines": [], "start_line": 357}, "entry_links": {"executed_lines": [422, 423, 424, 428], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [425, 426, 427], "excluded_lines": [], "start_line": 417}, "entry_link_add": {"executed_lines": [440, 441, 442, 446], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [443, 444, 445], "excluded_lines": [], "start_line": 432}, "entry_link_remove": {"executed_lines": [459, 460, 461, 465], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [462, 463, 464], "excluded_lines": [], "start_line": 450}, "entry_archive": {"executed_lines": [471, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 469}, "entry_unarchive": {"executed_lines": [479, 480, 481], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 477}, "entry_totp_codes": {"executed_lines": [487, 488], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 485}, "entry_export_totp": {"executed_lines": [502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [517], "excluded_lines": [], "start_line": 492}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 55, 56, 83, 84, 125, 126, 177, 178, 202, 203, 219, 220, 240, 241, 257, 258, 276, 277, 290, 291, 307, 308, 326, 327, 339, 340, 356, 357, 416, 417, 431, 432, 449, 450, 468, 469, 476, 477, 484, 485, 491, 492], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 50, 52, 55, 56, 68, 69, 70, 71, 74, 75, 76, 78, 80, 83, 84, 86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 428, 431, 432, 440, 441, 442, 446, 449, 450, 459, 460, 461, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 179, "num_statements": 220, "percent_covered": 81.36363636363636, "percent_covered_display": "81", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 81.36363636363636, "percent_statements_covered_display": "81"}, "missing_lines": [49, 51, 72, 73, 77, 79, 90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115, 386, 387, 388, 389, 390, 391, 392, 393, 394, 425, 426, 427, 443, 444, 445, 462, 463, 464, 517], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [13, 14, 15], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "fingerprint_add": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "fingerprint_remove": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "fingerprint_switch": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "": {"executed_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 6, "percent_statements_covered": 97.43589743589743, "percent_statements_covered_display": "97"}, "missing_lines": [25], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [25], "excluded_lines": [], "start_line": 13}, "nostr_get_pubkey": {"executed_lines": [31, 32, 33], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "nostr_list_relays": {"executed_lines": [39, 40, 41, 42], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "nostr_add_relay": {"executed_lines": [48, 49, 50, 54], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [51, 52, 53], "start_line": 46}, "nostr_remove_relay": {"executed_lines": [60, 61, 62, 66], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [63, 64, 65], "start_line": 58}, "": {"executed_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 6, "percent_statements_covered": 97.43589743589743, "percent_statements_covered_display": "97"}, "missing_lines": [25], "excluded_lines": [51, 52, 53, 63, 64, 65], "start_line": 1}}}, "src/seedpass/cli/semantic.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 24, 25, 26, 29, 30, 32, 33, 34, 39, 40, 42, 43, 44, 49, 50, 52, 53, 54, 59, 60, 62, 63, 64, 69, 70, 89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 63, "num_statements": 68, "percent_covered": 92.6470588235294, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 92.6470588235294, "percent_statements_covered_display": "93"}, "missing_lines": [18, 95, 96, 126, 127], "excluded_lines": [], "functions": {"_get_semantic_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18], "excluded_lines": [], "start_line": 17}, "semantic_status": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "semantic_enable": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "semantic_disable": {"executed_lines": [42, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "semantic_build": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "semantic_rebuild": {"executed_lines": [62, 63, 64], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "semantic_search": {"executed_lines": [89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88"}, "missing_lines": [95, 96], "excluded_lines": [], "start_line": 70}, "semantic_config": {"executed_lines": [125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [126, 127], "excluded_lines": [], "start_line": 109}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 29, 30, 39, 40, 49, 50, 59, 60, 69, 70, 108, 109], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 24, 25, 26, 29, 30, 32, 33, 34, 39, 40, 42, 43, 44, 49, 50, 52, 53, 54, 59, 60, 62, 63, 64, 69, 70, 89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 63, "num_statements": 68, "percent_covered": 92.6470588235294, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 92.6470588235294, "percent_statements_covered_display": "93"}, "missing_lines": [18, 95, 96, 126, 127], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/util.py": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "verify_checksum": {"executed_lines": [64, 65], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "update_checksum": {"executed_lines": [71, 72], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/cli/vault.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 40, 42, 43, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 115, "num_statements": 135, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 20, "excluded_lines": 6, "percent_statements_covered": 85.18518518518519, "percent_statements_covered_display": "85"}, "missing_lines": [39, 41, 44, 77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166, 246, 247, 323, 324, 333, 334], "excluded_lines": [193, 194, 195, 250, 251, 252], "functions": {"_isolation_required_for_kind": {"executed_lines": [37, 38, 40, 42, 43, 45], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [39, 41, 44], "excluded_lines": [], "start_line": 36}, "vault_export": {"executed_lines": [69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169], "summary": {"covered_lines": 35, "num_statements": 46, "percent_covered": 76.08695652173913, "percent_covered_display": "76", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 76.08695652173913, "percent_statements_covered_display": "76"}, "missing_lines": [77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166], "excluded_lines": [], "start_line": 49}, "vault_import": {"executed_lines": [177, 178, 179, 180], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 173}, "vault_change_password": {"executed_lines": [186, 187, 188, 189, 190, 196], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [193, 194, 195], "start_line": 184}, "vault_unlock": {"executed_lines": [232, 234, 235, 237, 238, 239, 248, 249, 253, 254], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 3, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [246, 247], "excluded_lines": [250, 251, 252], "start_line": 200}, "vault_lock": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 260}, "vault_stats": {"executed_lines": [270, 271, 272], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268}, "vault_reveal_parent_seed": {"executed_lines": [293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 21, "num_statements": 25, "percent_covered": 84.0, "percent_covered_display": "84", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 84.0, "percent_statements_covered_display": "84"}, "missing_lines": [323, 324, 333, 334], "excluded_lines": [], "start_line": 276}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 48, 49, 172, 173, 183, 184, 199, 200, 259, 260, 267, 268, 275, 276], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 40, 42, 43, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 115, "num_statements": 135, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 20, "excluded_lines": 6, "percent_statements_covered": 85.18518518518519, "percent_statements_covered_display": "85"}, "missing_lines": [39, 41, 44, 77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166, 246, 247, 323, 324, 333, 334], "excluded_lines": [193, 194, 195, 250, 251, 252], "start_line": 1}}}, "src/seedpass/core/__init__.py": {"executed_lines": [5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 53.84615384615385, "percent_statements_covered_display": "54"}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_approval.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 37, 38, 39, 40, 43, 45, 48, 49, 50, 51, 52, 55, 63, 64, 65, 66, 76, 77, 78, 81, 82, 83, 85, 86, 88, 89, 92, 93, 94, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 78, "num_statements": 92, "percent_covered": 84.78260869565217, "percent_covered_display": "85", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 84.78260869565217, "percent_statements_covered_display": "85"}, "missing_lines": [31, 41, 42, 44, 84, 87, 95, 123, 125, 127, 130, 133, 136, 140], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "_utcnow": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "_parse_iso": {"executed_lines": [29, 30, 32], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [31], "excluded_lines": [], "start_line": 28}, "_load_store": {"executed_lines": [36, 37, 38, 39, 40, 43, 45], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [41, 42, 44], "excluded_lines": [], "start_line": 35}, "_save_store": {"executed_lines": [49, 50, 51, 52], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "issue_approval": {"executed_lines": [63, 64, 65, 66, 76, 77, 78], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "approval_required": {"executed_lines": [82, 83, 85, 86, 88, 89], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [84, 87], "excluded_lines": [], "start_line": 81}, "list_approvals": {"executed_lines": [93, 94, 96], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [95], "excluded_lines": [], "start_line": 92}, "revoke_approval": {"executed_lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "consume_approval": {"executed_lines": [119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 15, "num_statements": 22, "percent_covered": 68.18181818181819, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 68.18181818181819, "percent_statements_covered_display": "68"}, "missing_lines": [123, 125, 127, 130, 133, 136, 140], "excluded_lines": [], "start_line": 113}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 37, 38, 39, 40, 43, 45, 48, 49, 50, 51, 52, 55, 63, 64, 65, 66, 76, 77, 78, 81, 82, 83, 85, 86, 88, 89, 92, 93, 94, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 78, "num_statements": 92, "percent_covered": 84.78260869565217, "percent_covered_display": "85", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 84.78260869565217, "percent_statements_covered_display": "85"}, "missing_lines": [31, 41, 42, 44, 84, 87, 95, 123, 125, 127, 130, 133, 136, 140], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_export_policy.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 57, 58, 61, 62, 65, 66, 69, 70, 71, 73, 74, 75, 76, 77, 80, 81, 82, 83, 94, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185, 188, 189, 195, 196, 197, 199, 202, 203, 206, 207, 208, 209, 212, 213, 214, 215, 218, 237, 238, 260, 261, 264, 265, 268, 269, 270, 275, 276, 277, 278, 282, 285, 287, 290, 291, 292, 293, 296, 297, 300, 303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342, 349, 353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 190, "num_statements": 245, "percent_covered": 77.55102040816327, "percent_covered_display": "78", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 77.55102040816327, "percent_statements_covered_display": "78"}, "missing_lines": [72, 84, 85, 86, 87, 88, 89, 90, 91, 121, 122, 124, 167, 177, 198, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 271, 272, 279, 280, 294, 309, 315, 316, 355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": [], "functions": {"_policy_path": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "_audit_key_path": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "_audit_log_path": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "_ensure_parent": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 61}, "_utcnow_iso": {"executed_lines": [66], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "_load_or_create_audit_key": {"executed_lines": [70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [72], "excluded_lines": [], "start_line": 69}, "_previous_signature": {"executed_lines": [81, 82, 83], "summary": {"covered_lines": 3, "num_statements": 11, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 27.272727272727273, "percent_statements_covered_display": "27"}, "missing_lines": [84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 80}, "record_export_policy_event": {"executed_lines": [96, 97, 98, 104, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "load_export_policy": {"executed_lines": [116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185], "summary": {"covered_lines": 31, "num_statements": 36, "percent_covered": 86.11111111111111, "percent_covered_display": "86", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 86.11111111111111, "percent_statements_covered_display": "86"}, "missing_lines": [121, 122, 124, 167, 177], "excluded_lines": [], "start_line": 115}, "full_export_allowed": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188}, "allowed_kinds": {"executed_lines": [196, 197, 199], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [198], "excluded_lines": [], "start_line": 195}, "kind_export_allowed": {"executed_lines": [203], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202}, "evaluate_full_export": {"executed_lines": [207, 208, 209], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 206}, "evaluate_kind_export": {"executed_lines": [213, 214, 215], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 212}, "filter_index_for_allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": [], "start_line": 218}, "_policy_stamp": {"executed_lines": [238, 260, 261], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237}, "_canonical_json": {"executed_lines": [265], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264}, "_safe_int": {"executed_lines": [269, 270], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [271, 272], "excluded_lines": [], "start_line": 268}, "_sorted_index_keys": {"executed_lines": [276, 282], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 275}, "_sorted_index_keys._key": {"executed_lines": [277, 278], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [279, 280], "excluded_lines": [], "start_line": 276}, "compute_policy_stamp": {"executed_lines": [287], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 285}, "_redacted_copy": {"executed_lines": [291, 292, 293, 296, 297], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [294], "excluded_lines": [], "start_line": 290}, "build_policy_filtered_export_package": {"executed_lines": [303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342], "summary": {"covered_lines": 17, "num_statements": 20, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.0, "percent_statements_covered_display": "85"}, "missing_lines": [309, 315, 316], "excluded_lines": [], "start_line": 300}, "verify_filtered_export_package": {"executed_lines": [353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 48, "num_statements": 69, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 69.56521739130434, "percent_statements_covered_display": "70"}, "missing_lines": [355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": [], "start_line": 349}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 57, 58, 61, 62, 65, 66, 69, 70, 71, 73, 74, 75, 76, 77, 80, 81, 82, 83, 94, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185, 188, 189, 195, 196, 197, 199, 202, 203, 206, 207, 208, 209, 212, 213, 214, 215, 218, 237, 238, 260, 261, 264, 265, 268, 269, 270, 275, 276, 277, 278, 282, 285, 287, 290, 291, 292, 293, 296, 297, 300, 303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342, 349, 353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 190, "num_statements": 245, "percent_covered": 77.55102040816327, "percent_covered_display": "78", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 77.55102040816327, "percent_statements_covered_display": "78"}, "missing_lines": [72, 84, 85, 86, 87, 88, 89, 90, 91, 121, 122, 124, 167, 177, 198, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 271, 272, 279, 280, 294, 309, 315, 316, 355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_identity.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 60, 63, 70, 71, 73, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 131], "summary": {"covered_lines": 72, "num_statements": 81, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [32, 33, 35, 56, 72, 74, 102, 113, 130], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "_utcnow_iso": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_empty_store": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "_load_store": {"executed_lines": [27, 28, 29, 30, 31, 34, 36], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [32, 33, 35], "excluded_lines": [], "start_line": 26}, "_save_store": {"executed_lines": [40, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "list_identities": {"executed_lines": [47, 48, 49, 50], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "get_identity": {"executed_lines": [54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [56], "excluded_lines": [], "start_line": 53}, "create_identity": {"executed_lines": [70, 71, 73, 76, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [72, 74], "excluded_lines": [], "start_line": 63}, "ensure_identity": {"executed_lines": [99, 100, 101], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [102], "excluded_lines": [], "start_line": 92}, "revoke_identity": {"executed_lines": [111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [113], "excluded_lines": [], "start_line": 110}, "identity_active": {"executed_lines": [128, 129, 131], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [130], "excluded_lines": [], "start_line": 127}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 92, 110, 127], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 60, 63, 70, 71, 73, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 131], "summary": {"covered_lines": 72, "num_statements": 81, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [32, 33, 35, 56, 72, 74, 102, 113, 130], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_job.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 50, 53, 54, 55, 57, 58, 59, 60, 63, 82, 83, 85, 87, 107, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 63, "num_statements": 71, "percent_covered": 88.73239436619718, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 88.73239436619718, "percent_statements_covered_display": "89"}, "missing_lines": [32, 33, 35, 49, 56, 84, 86, 118], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "_utcnow_iso": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_empty_store": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "_load_store": {"executed_lines": [27, 28, 29, 30, 31, 34, 36], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [32, 33, 35], "excluded_lines": [], "start_line": 26}, "_save_store": {"executed_lines": [40, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "list_job_profiles": {"executed_lines": [47, 48, 50], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [49], "excluded_lines": [], "start_line": 46}, "get_job_profile": {"executed_lines": [54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [56], "excluded_lines": [], "start_line": 53}, "create_job_profile": {"executed_lines": [82, 83, 85, 87, 107, 108, 109, 110, 111, 112], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [84, 86], "excluded_lines": [], "start_line": 63}, "revoke_job_profile": {"executed_lines": [116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [118], "excluded_lines": [], "start_line": 115}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 50, 53, 54, 55, 57, 58, 59, 60, 63, 82, 83, 85, 87, 107, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 63, "num_statements": 71, "percent_covered": 88.73239436619718, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 88.73239436619718, "percent_statements_covered_display": "89"}, "missing_lines": [32, 33, 35, 49, 56, 84, 86, 118], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_recovery.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 23, 24, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66, 75, 78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152, 155, 156, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 177, 178, 180, 181, 184, 187, 194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 252, 255, 256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 182, "num_statements": 214, "percent_covered": 85.04672897196262, "percent_covered_display": "85", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 85.04672897196262, "percent_statements_covered_display": "85"}, "missing_lines": [46, 52, 53, 57, 59, 64, 80, 82, 84, 86, 110, 119, 121, 123, 126, 150, 179, 182, 183, 200, 242, 248, 249, 258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": [], "functions": {"_utcnow_iso": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "_mod_inv": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "_coef": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "_poly_eval_at_x": {"executed_lines": [35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "_parse_share_token": {"executed_lines": [44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66], "summary": {"covered_lines": 17, "num_statements": 23, "percent_covered": 73.91304347826087, "percent_covered_display": "74", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 73.91304347826087, "percent_statements_covered_display": "74"}, "missing_lines": [46, 52, 53, 57, 59, 64], "excluded_lines": [], "start_line": 43}, "split_secret": {"executed_lines": [78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105], "summary": {"covered_lines": 18, "num_statements": 22, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [80, 82, 84, 86], "excluded_lines": [], "start_line": 75}, "recover_secret": {"executed_lines": [109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152], "summary": {"covered_lines": 37, "num_statements": 43, "percent_covered": 86.04651162790698, "percent_covered_display": "86", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 86.04651162790698, "percent_statements_covered_display": "86"}, "missing_lines": [110, 119, 121, 123, 126, 150], "excluded_lines": [], "start_line": 108}, "_drill_key_path": {"executed_lines": [156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "_drill_log_path": {"executed_lines": [160], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159}, "_load_drill_key": {"executed_lines": [164, 165, 166, 167, 168, 169, 170, 171], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163}, "_latest_drill_sig": {"executed_lines": [175, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [179, 182, 183], "excluded_lines": [], "start_line": 174}, "record_recovery_drill": {"executed_lines": [194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [200], "excluded_lines": [], "start_line": 187}, "list_recovery_drills": {"executed_lines": [240, 241, 243, 244, 245, 246, 247, 250, 251, 252], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [242, 248, 249], "excluded_lines": [], "start_line": 239}, "verify_recovery_drills": {"executed_lines": [256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 25, "num_statements": 34, "percent_covered": 73.52941176470588, "percent_covered_display": "74", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 73.52941176470588, "percent_statements_covered_display": "74"}, "missing_lines": [258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": [], "start_line": 255}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 23, 24, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66, 75, 78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152, 155, 156, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 177, 178, 180, 181, 184, 187, 194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 252, 255, 256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 182, "num_statements": 214, "percent_covered": 85.04672897196262, "percent_covered_display": "85", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 85.04672897196262, "percent_statements_covered_display": "85"}, "missing_lines": [46, 52, 53, 57, 59, 64, 80, 82, 84, 86, 110, 119, 121, 123, 126, 150, 179, 182, 183, 200, 242, 248, 249, 258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_secret_isolation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 22, 25, 26, 29, 30, 33, 34, 37, 38, 41, 42, 43, 45, 48, 49, 52, 53, 54, 55, 56, 57, 60, 62, 65, 66, 67, 68, 69, 72, 73, 76, 77, 80, 81, 88, 91, 92, 93, 94, 95, 104, 105, 106, 108, 109, 112, 114, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 133, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 149, 150, 151, 152, 153, 154, 157, 158, 159, 160, 161, 162, 176, 177, 178, 180, 183, 186, 187, 193, 194, 195, 200, 201, 202, 203, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229, 232, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 247, 265, 266, 267], "summary": {"covered_lines": 143, "num_statements": 185, "percent_covered": 77.29729729729729, "percent_covered_display": "77", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 77.29729729729729, "percent_statements_covered_display": "77"}, "missing_lines": [44, 58, 59, 61, 107, 110, 111, 113, 119, 124, 129, 130, 163, 164, 167, 168, 169, 170, 171, 172, 173, 179, 217, 218, 220, 225, 226, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": [], "functions": {"_factor_hash_path": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "_partition_envelope_path": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "_session_store_path": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "_session_lock_path": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "_utcnow": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "_parse_iso": {"executed_lines": [42, 43, 45], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [44], "excluded_lines": [], "start_line": 41}, "_empty_store": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "_load_session_store_unlocked": {"executed_lines": [53, 54, 55, 56, 57, 60, 62], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [58, 59, 61], "excluded_lines": [], "start_line": 52}, "_save_session_store_unlocked": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "_factor_hash": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "_partition_key_tag": {"executed_lines": [77], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76}, "_derive_wrapping_key": {"executed_lines": [81, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80}, "_build_envelope": {"executed_lines": [92, 93, 94, 95], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91}, "_load_partition_envelope": {"executed_lines": [105, 106, 108, 109, 112, 114], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [107, 110, 111, 113], "excluded_lines": [], "start_line": 104}, "_unwrap_partition_key": {"executed_lines": [118, 120, 121, 122, 123, 125, 126, 127, 128], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [119, 124, 129, 130], "excluded_lines": [], "start_line": 117}, "set_high_risk_factor": {"executed_lines": [134, 135, 138, 139, 140, 142, 143, 144, 145, 146], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133}, "high_risk_factor_configured": {"executed_lines": [150, 151, 152, 153, 154], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "verify_high_risk_factor": {"executed_lines": [158, 159, 160, 161, 162], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 35.714285714285715, "percent_statements_covered_display": "36"}, "missing_lines": [163, 164, 167, 168, 169, 170, 171, 172, 173], "excluded_lines": [], "start_line": 157}, "unwrap_high_risk_partition_key": {"executed_lines": [177, 178, 180], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [179], "excluded_lines": [], "start_line": 176}, "grant_high_risk_unlock": {"executed_lines": [186, 187, 193, 194, 195, 200, 201, 202, 203], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 183}, "high_risk_unlocked": {"executed_lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 78.26086956521739, "percent_statements_covered_display": "78"}, "missing_lines": [217, 218, 220, 225, 226], "excluded_lines": [], "start_line": 206}, "revoke_high_risk_unlock": {"executed_lines": [233, 234, 235, 236, 237, 240, 241, 242, 243, 244], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 232}, "unlocked_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": [], "start_line": 247}, "partition_key_tag_for_factor": {"executed_lines": [266, 267], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 265}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 22, 25, 26, 29, 30, 33, 34, 37, 38, 41, 42, 43, 45, 48, 49, 52, 53, 54, 55, 56, 57, 60, 62, 65, 66, 67, 68, 69, 72, 73, 76, 77, 80, 81, 88, 91, 92, 93, 94, 95, 104, 105, 106, 108, 109, 112, 114, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 133, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 149, 150, 151, 152, 153, 154, 157, 158, 159, 160, 161, 162, 176, 177, 178, 180, 183, 186, 187, 193, 194, 195, 200, 201, 202, 203, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229, 232, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 247, 265, 266, 267], "summary": {"covered_lines": 143, "num_statements": 185, "percent_covered": 77.29729729729729, "percent_covered_display": "77", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 77.29729729729729, "percent_statements_covered_display": "77"}, "missing_lines": [44, 58, 59, 61, 107, 110, 111, 113, 119, 124, 129, 130, 163, 164, 167, 168, 169, 170, 171, 172, 173, 179, 217, 218, 220, 225, 226, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/agent_secret_lease.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 17, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 39, 40, 41, 42, 43, 44, 47, 49, 52, 53, 54, 55, 56, 59, 69, 70, 83, 84, 85, 86, 87, 88, 89, 92, 100, 114, 119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 63, "num_statements": 88, "percent_covered": 71.5909090909091, "percent_covered_display": "72", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 71.5909090909091, "percent_statements_covered_display": "72"}, "missing_lines": [31, 45, 46, 48, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 124, 126, 128, 131, 138], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "_lock_path": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "_utcnow": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "_parse_iso": {"executed_lines": [29, 30, 32], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [31], "excluded_lines": [], "start_line": 28}, "_empty_store": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "_load_store_unlocked": {"executed_lines": [40, 41, 42, 43, 44, 47, 49], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [45, 46, 48], "excluded_lines": [], "start_line": 39}, "_save_store_unlocked": {"executed_lines": [53, 54, 55, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "issue_lease": {"executed_lines": [69, 70, 83, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "list_leases": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [93, 94, 95, 96, 97], "excluded_lines": [], "start_line": 92}, "revoke_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": [], "start_line": 100}, "consume_lease": {"executed_lines": [119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 15, "num_statements": 20, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [124, 126, 128, 131, 138], "excluded_lines": [], "start_line": 114}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 17, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 39, 40, 41, 42, 43, 44, 47, 49, 52, 53, 54, 55, 56, 59, 69, 70, 83, 84, 85, 86, 87, 88, 89, 92, 100, 114, 119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 63, "num_statements": 88, "percent_covered": 71.5909090909091, "percent_covered_display": "72", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 71.5909090909091, "percent_statements_covered_display": "72"}, "missing_lines": [31, 45, 46, 48, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 124, 126, 128, 131, 138], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 28, 31, 34, 37, 40, 43, 46, 47, 50, 53, 56, 59, 62, 65, 66, 69, 72, 73, 76, 79, 82, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 121, 122, 123, 125, 128, 129, 130, 132, 135, 136, 137, 139, 142, 143, 144, 147, 149, 152, 153, 156, 157, 158, 160, 163, 164, 166, 169, 170, 171, 173, 176, 177, 179, 182, 183, 187, 190, 191, 194, 197, 198, 199, 201, 204, 205, 207, 210, 211, 212, 216, 219, 220, 222, 225, 226, 228, 237, 240, 241, 242, 244, 247, 248, 249, 250, 251, 252, 253, 255, 258, 259, 261, 264, 265, 268, 271, 272, 273, 275, 281, 282, 288, 306, 307, 308, 309, 310, 311, 312, 314, 315, 316, 318, 319, 320, 321, 322, 323, 324, 326, 327, 328, 331, 333, 340, 342, 343, 347, 349, 350, 354, 356, 357, 361, 363, 364, 368, 370, 371, 375, 377, 378, 379, 380, 381, 386, 388, 389, 390, 391, 392, 397, 399, 400, 401, 402, 403, 408, 410, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453, 455, 465, 466, 467, 476, 477, 479, 486, 487, 493, 494, 496, 505, 506, 514, 515, 517, 524, 525, 531, 532, 534, 542, 543, 550, 551, 553, 556, 557, 560, 561, 563, 570, 571, 577, 578, 580, 590, 591, 599, 600, 602, 611, 612, 619, 620, 622, 629, 630, 636, 655, 656, 673, 675, 683, 684, 687, 688, 690, 697, 698, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 723, 725, 726, 727, 729, 730, 731, 733, 734, 735, 738, 741, 742, 743, 745, 746, 747, 749, 750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802, 804, 805, 806, 808, 809, 810, 812, 813, 814, 815, 816, 817, 818, 820, 821, 822, 824, 825, 826, 827, 828, 830, 835, 839, 843, 848, 851, 852, 853, 855, 856, 857, 859, 861, 862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880, 882, 883, 884, 885, 886, 889, 890, 892, 893, 894, 895, 896, 897, 898, 899, 900, 902, 903, 904, 905, 906, 907, 910, 911, 913, 917, 918, 919, 920, 921, 923, 929, 937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952, 954, 957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000, 1002, 1003, 1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049, 1052, 1055, 1056, 1057, 1059, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101, 1104, 1105, 1106, 1108, 1109, 1110, 1113, 1116, 1117, 1118, 1120, 1121, 1122, 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1135, 1136, 1137, 1138, 1142, 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1170, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 550, "num_statements": 612, "percent_covered": 89.86928104575163, "percent_covered_display": "90", "missing_lines": 62, "excluded_lines": 0, "percent_statements_covered": 89.86928104575163, "percent_statements_covered_display": "90"}, "missing_lines": [231, 232, 233, 234, 335, 336, 382, 383, 384, 393, 394, 395, 404, 405, 407, 831, 832, 833, 836, 837, 840, 841, 844, 845, 858, 864, 875, 876, 914, 915, 924, 925, 926, 927, 944, 959, 972, 973, 980, 1013, 1024, 1038, 1040, 1042, 1081, 1083, 1087, 1089, 1091, 1102, 1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1160, 1175, 1188], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [122, 123], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "VaultService.export_vault": {"executed_lines": [128, 129, 130], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "VaultService.import_vault": {"executed_lines": [135, 136, 137], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 132}, "VaultService.export_profile": {"executed_lines": [142, 143, 144, 147], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139}, "VaultService.import_profile": {"executed_lines": [152, 153, 156, 157, 158], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "VaultService.change_password": {"executed_lines": [163, 164], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "VaultService.unlock": {"executed_lines": [169, 170, 171], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166}, "VaultService.lock": {"executed_lines": [176, 177], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 173}, "VaultService.backup_parent_seed": {"executed_lines": [182, 183], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179}, "VaultService.stats": {"executed_lines": [190, 191], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187}, "ProfileService.__init__": {"executed_lines": [198, 199], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 197}, "ProfileService.list_profiles": {"executed_lines": [204, 205], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "ProfileService.add_profile": {"executed_lines": [210, 211, 212], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207}, "ProfileService.remove_profile": {"executed_lines": [219, 220], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216}, "ProfileService.switch_profile": {"executed_lines": [225, 226], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222}, "ProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [231, 232, 233, 234], "excluded_lines": [], "start_line": 228}, "SyncService.__init__": {"executed_lines": [241, 242], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 240}, "SyncService.sync": {"executed_lines": [247, 248, 249, 250, 251, 252, 253], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 244}, "SyncService.start_background_sync": {"executed_lines": [258, 259], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255}, "SyncService.start_background_vault_sync": {"executed_lines": [264, 265], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 261}, "EntryService.__init__": {"executed_lines": [272, 273], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271}, "EntryService.list_entries": {"executed_lines": [281, 282], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 275}, "EntryService.search_entries": {"executed_lines": [306, 307, 308, 309, 310, 311, 312], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 288}, "EntryService.retrieve_entry": {"executed_lines": [315, 316], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 314}, "EntryService.generate_password": {"executed_lines": [319, 320, 321, 322, 323, 324], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 318}, "EntryService.get_totp_code": {"executed_lines": [327, 328, 331], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326}, "EntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [335, 336], "excluded_lines": [], "start_line": 333}, "EntryService.get_seed_phrase": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 340}, "EntryService.get_managed_account_seed": {"executed_lines": [349, 350], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347}, "EntryService.get_ssh_key_pair": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 354}, "EntryService.get_pgp_key": {"executed_lines": [363, 364], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 361}, "EntryService.get_nostr_key_pair": {"executed_lines": [370, 371], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 368}, "EntryService.get_secret_mode_enabled": {"executed_lines": [377, 378, 379, 380, 381], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [382, 383, 384], "excluded_lines": [], "start_line": 375}, "EntryService.get_clipboard_clear_delay": {"executed_lines": [388, 389, 390, 391, 392], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [393, 394, 395], "excluded_lines": [], "start_line": 386}, "EntryService.copy_to_clipboard": {"executed_lines": [399, 400, 401, 402, 403, 408], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [404, 405, 407], "excluded_lines": [], "start_line": 397}, "EntryService.add_entry": {"executed_lines": [426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410}, "EntryService.add_totp": {"executed_lines": [465, 466, 467, 476, 477], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 455}, "EntryService.add_ssh_key": {"executed_lines": [486, 487, 493, 494], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 479}, "EntryService.add_pgp_key": {"executed_lines": [505, 506, 514, 515], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 496}, "EntryService.add_nostr_key": {"executed_lines": [524, 525, 531, 532], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 517}, "EntryService.add_seed": {"executed_lines": [542, 543, 550, 551], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 534}, "EntryService.add_key_value": {"executed_lines": [556, 557, 560, 561], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 553}, "EntryService.add_managed_account": {"executed_lines": [570, 571, 577, 578], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 563}, "EntryService.add_document": {"executed_lines": [590, 591, 599, 600], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 580}, "EntryService.import_document_file": {"executed_lines": [611, 612, 619, 620], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 602}, "EntryService.export_document_file": {"executed_lines": [629, 630], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 622}, "EntryService.modify_entry": {"executed_lines": [655, 656, 673], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 636}, "EntryService.add_link": {"executed_lines": [683, 684, 687, 688], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 675}, "EntryService.remove_link": {"executed_lines": [697, 698, 701, 702], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 690}, "EntryService.get_links": {"executed_lines": [705, 706], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 704}, "EntryService.archive_entry": {"executed_lines": [709, 710, 711], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 708}, "EntryService.restore_entry": {"executed_lines": [714, 715, 716], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 713}, "EntryService.export_totp_entries": {"executed_lines": [719, 720, 723], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 718}, "EntryService.display_totp_codes": {"executed_lines": [726, 727], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 725}, "EntryService.load_managed_account": {"executed_lines": [730, 731], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 729}, "EntryService.exit_managed_account": {"executed_lines": [734, 735], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 733}, "ConfigService.__init__": {"executed_lines": [742, 743], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 741}, "ConfigService.get": {"executed_lines": [746, 747], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 745}, "ConfigService.set": {"executed_lines": [750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 749}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [805, 806], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 804}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [809, 810], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 808}, "ConfigService.set_secret_mode": {"executed_lines": [813, 814, 815, 816, 817, 818], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 812}, "ConfigService.get_offline_mode": {"executed_lines": [821, 822], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 820}, "ConfigService.set_offline_mode": {"executed_lines": [825, 826, 827, 828], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 824}, "ConfigService.set_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [831, 832, 833], "excluded_lines": [], "start_line": 830}, "ConfigService.get_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [836, 837], "excluded_lines": [], "start_line": 835}, "ConfigService.set_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [840, 841], "excluded_lines": [], "start_line": 839}, "ConfigService.get_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [844, 845], "excluded_lines": [], "start_line": 843}, "SemanticIndexService.__init__": {"executed_lines": [852, 853], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 851}, "SemanticIndexService._index": {"executed_lines": [856, 857, 859], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [858], "excluded_lines": [], "start_line": 855}, "SemanticIndexService._all_entries": {"executed_lines": [862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [864, 875, 876], "excluded_lines": [], "start_line": 861}, "SemanticIndexService.status": {"executed_lines": [883, 884, 885, 886, 889, 890], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 882}, "SemanticIndexService.set_enabled": {"executed_lines": [893, 894, 895, 896, 897, 898, 899, 900], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 892}, "SemanticIndexService.set_mode": {"executed_lines": [903, 904, 905, 906, 907, 910, 911], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 902}, "SemanticIndexService.get_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [914, 915], "excluded_lines": [], "start_line": 913}, "SemanticIndexService.build": {"executed_lines": [918, 919, 920, 921], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 917}, "SemanticIndexService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [924, 925, 926, 927], "excluded_lines": [], "start_line": 923}, "SemanticIndexService.search": {"executed_lines": [937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [944], "excluded_lines": [], "start_line": 929}, "SemanticIndexService._lexical_search": {"executed_lines": [957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 86.66666666666667, "percent_statements_covered_display": "87"}, "missing_lines": [959, 972, 973, 980], "excluded_lines": [], "start_line": 954}, "SemanticIndexService._merge_hybrid": {"executed_lines": [1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049], "summary": {"covered_lines": 22, "num_statements": 27, "percent_covered": 81.48148148148148, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 81.48148148148148, "percent_statements_covered_display": "81"}, "missing_lines": [1013, 1024, 1038, 1040, 1042], "excluded_lines": [], "start_line": 1003}, "UtilityService.__init__": {"executed_lines": [1056, 1057], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1055}, "UtilityService.generate_password": {"executed_lines": [1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101], "summary": {"covered_lines": 20, "num_statements": 26, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [1081, 1083, 1087, 1089, 1091, 1102], "excluded_lines": [], "start_line": 1059}, "UtilityService.verify_checksum": {"executed_lines": [1105, 1106], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1104}, "UtilityService.update_checksum": {"executed_lines": [1109, 1110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1108}, "NostrService.__init__": {"executed_lines": [1117, 1118], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1116}, "NostrService.get_pubkey": {"executed_lines": [1121, 1122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1120}, "NostrService.list_relays": {"executed_lines": [1125, 1126], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1124}, "NostrService.add_relay": {"executed_lines": [1129, 1130, 1131], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1128}, "NostrService.remove_relay": {"executed_lines": [1136, 1137, 1138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1135}, "NostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152], "excluded_lines": [], "start_line": 1142}, "NostrService._clear_runtime_sync_state": {"executed_lines": [1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [1160], "excluded_lines": [], "start_line": 1154}, "NostrService.reset_sync_state": {"executed_lines": [1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [1175], "excluded_lines": [], "start_line": 1170}, "NostrService.start_fresh_namespace": {"executed_lines": [1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [1188], "excluded_lines": [], "start_line": 1183}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 28, 31, 34, 37, 40, 43, 46, 47, 50, 53, 56, 59, 62, 65, 66, 69, 72, 73, 76, 79, 82, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 121, 125, 132, 139, 149, 160, 166, 173, 179, 187, 194, 197, 201, 207, 216, 222, 228, 237, 240, 244, 255, 261, 268, 271, 275, 288, 314, 318, 326, 333, 340, 347, 354, 361, 368, 375, 386, 397, 410, 455, 479, 496, 517, 534, 553, 563, 580, 602, 622, 636, 675, 690, 704, 708, 713, 718, 725, 729, 733, 738, 741, 745, 749, 804, 808, 812, 820, 824, 830, 835, 839, 843, 848, 851, 855, 861, 882, 892, 902, 913, 917, 923, 929, 954, 1002, 1003, 1052, 1055, 1059, 1104, 1108, 1113, 1116, 1120, 1124, 1128, 1135, 1142, 1154, 1170, 1183], "summary": {"covered_lines": 158, "num_statements": 158, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114}, "VaultService": {"executed_lines": [122, 123, 128, 129, 130, 135, 136, 137, 142, 143, 144, 147, 152, 153, 156, 157, 158, 163, 164, 169, 170, 171, 176, 177, 182, 183, 190, 191], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118}, "ProfileService": {"executed_lines": [198, 199, 204, 205, 210, 211, 212, 219, 220, 225, 226], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 73.33333333333333, "percent_statements_covered_display": "73"}, "missing_lines": [231, 232, 233, 234], "excluded_lines": [], "start_line": 194}, "SyncService": {"executed_lines": [241, 242, 247, 248, 249, 250, 251, 252, 253, 258, 259, 264, 265], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237}, "EntryService": {"executed_lines": [272, 273, 281, 282, 306, 307, 308, 309, 310, 311, 312, 315, 316, 319, 320, 321, 322, 323, 324, 327, 328, 331, 342, 343, 349, 350, 356, 357, 363, 364, 370, 371, 377, 378, 379, 380, 381, 388, 389, 390, 391, 392, 399, 400, 401, 402, 403, 408, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453, 465, 466, 467, 476, 477, 486, 487, 493, 494, 505, 506, 514, 515, 524, 525, 531, 532, 542, 543, 550, 551, 556, 557, 560, 561, 570, 571, 577, 578, 590, 591, 599, 600, 611, 612, 619, 620, 629, 630, 655, 656, 673, 683, 684, 687, 688, 697, 698, 701, 702, 705, 706, 709, 710, 711, 714, 715, 716, 719, 720, 723, 726, 727, 730, 731, 734, 735], "summary": {"covered_lines": 136, "num_statements": 147, "percent_covered": 92.51700680272108, "percent_covered_display": "93", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 92.51700680272108, "percent_statements_covered_display": "93"}, "missing_lines": [335, 336, 382, 383, 384, 393, 394, 395, 404, 405, 407], "excluded_lines": [], "start_line": 268}, "ConfigService": {"executed_lines": [742, 743, 746, 747, 750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802, 805, 806, 809, 810, 813, 814, 815, 816, 817, 818, 821, 822, 825, 826, 827, 828], "summary": {"covered_lines": 32, "num_statements": 41, "percent_covered": 78.04878048780488, "percent_covered_display": "78", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 78.04878048780488, "percent_statements_covered_display": "78"}, "missing_lines": [831, 832, 833, 836, 837, 840, 841, 844, 845], "excluded_lines": [], "start_line": 738}, "SemanticIndexService": {"executed_lines": [852, 853, 856, 857, 859, 862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880, 883, 884, 885, 886, 889, 890, 893, 894, 895, 896, 897, 898, 899, 900, 903, 904, 905, 906, 907, 910, 911, 918, 919, 920, 921, 937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952, 957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000, 1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049], "summary": {"covered_lines": 100, "num_statements": 120, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [858, 864, 875, 876, 914, 915, 924, 925, 926, 927, 944, 959, 972, 973, 980, 1013, 1024, 1038, 1040, 1042], "excluded_lines": [], "start_line": 848}, "UtilityService": {"executed_lines": [1056, 1057, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101, 1105, 1106, 1109, 1110], "summary": {"covered_lines": 26, "num_statements": 32, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81"}, "missing_lines": [1081, 1083, 1087, 1089, 1091, 1102], "excluded_lines": [], "start_line": 1052}, "NostrService": {"executed_lines": [1117, 1118, 1121, 1122, 1125, 1126, 1129, 1130, 1131, 1136, 1137, 1138, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 46, "num_statements": 58, "percent_covered": 79.3103448275862, "percent_covered_display": "79", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 79.3103448275862, "percent_statements_covered_display": "79"}, "missing_lines": [1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1160, 1175, 1188], "excluded_lines": [], "start_line": 1113}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 28, 31, 34, 37, 40, 43, 46, 47, 50, 53, 56, 59, 62, 65, 66, 69, 72, 73, 76, 79, 82, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 121, 125, 132, 139, 149, 160, 166, 173, 179, 187, 194, 197, 201, 207, 216, 222, 228, 237, 240, 244, 255, 261, 268, 271, 275, 288, 314, 318, 326, 333, 340, 347, 354, 361, 368, 375, 386, 397, 410, 455, 479, 496, 517, 534, 553, 563, 580, 602, 622, 636, 675, 690, 704, 708, 713, 718, 725, 729, 733, 738, 741, 745, 749, 804, 808, 812, 820, 824, 830, 835, 839, 843, 848, 851, 855, 861, 882, 892, 902, 913, 917, 923, 929, 954, 1002, 1003, 1052, 1055, 1059, 1104, 1108, 1113, 1116, 1120, 1124, 1128, 1135, 1142, 1154, 1170, 1183], "summary": {"covered_lines": 158, "num_statements": 158, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/auth_broker.py": {"executed_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 37, 57, 66, 67, 68], "summary": {"covered_lines": 16, "num_statements": 41, "percent_covered": 39.02439024390244, "percent_covered_display": "39", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 39.02439024390244, "percent_statements_covered_display": "39"}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 69, 70, 71, 72, 73], "excluded_lines": [], "functions": {"_password_from_env": {"executed_lines": [13, 14, 15, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "_password_from_keyring": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34], "excluded_lines": [], "start_line": 21}, "_password_from_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": [], "start_line": 37}, "resolve_password": {"executed_lines": [66, 67, 68], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 37.5, "percent_statements_covered_display": "38"}, "missing_lines": [69, 70, 71, 72, 73], "excluded_lines": [], "start_line": 57}, "": {"executed_lines": [1, 3, 4, 5, 8, 12, 21, 37, 57], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"AuthBrokerError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 37, 57, 66, 67, 68], "summary": {"covered_lines": 16, "num_statements": 41, "percent_covered": 39.02439024390244, "percent_covered_display": "39", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 39.02439024390244, "percent_statements_covered_display": "39"}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 69, 70, 71, 72, 73], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/backup.py": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 39, 41, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 95, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 114, 115, 116, 122, 127, 128, 129, 130, 131, 132, 148, 150, 151, 152, 156, 157, 158, 159, 170, 193, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 85, "num_statements": 116, "percent_covered": 73.27586206896552, "percent_covered_display": "73", "missing_lines": 31, "excluded_lines": 2, "percent_statements_covered": 73.27586206896552, "percent_statements_covered_display": "73"}, "missing_lines": [91, 92, 93, 123, 124, 125, 137, 138, 141, 153, 154, 155, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [51, 52, 53, 54, 55, 56, 57], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "BackupManager.create_backup": {"executed_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90], "summary": {"covered_lines": 20, "num_statements": 23, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.95652173913044, "percent_statements_covered_display": "87"}, "missing_lines": [91, 92, 93], "excluded_lines": [], "start_line": 61}, "BackupManager._create_additional_backup": {"executed_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [108, 109], "start_line": 95}, "BackupManager.restore_latest_backup": {"executed_lines": [115, 116, 122, 127, 128, 129, 130, 131, 132], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [123, 124, 125, 137, 138, 141], "excluded_lines": [], "start_line": 114}, "BackupManager.restore_from_backup": {"executed_lines": [150, 151, 152, 156, 157, 158, 159], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 53.84615384615385, "percent_statements_covered_display": "54"}, "missing_lines": [153, 154, 155, 160, 161, 164], "excluded_lines": [], "start_line": 148}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": [], "start_line": 170}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81"}, "missing_lines": [215, 216, 219], "excluded_lines": [], "start_line": 193}, "": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"BackupManager": {"executed_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 127, 128, 129, 130, 131, 132, 150, 151, 152, 156, 157, 158, 159, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 66, "num_statements": 97, "percent_covered": 68.04123711340206, "percent_covered_display": "68", "missing_lines": 31, "excluded_lines": 2, "percent_statements_covered": 68.04123711340206, "percent_statements_covered_display": "68"}, "missing_lines": [91, 92, 93, 123, 124, 125, 137, 138, 141, 153, 154, 155, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 215, 216, 219], "excluded_lines": [108, 109], "start_line": 30}, "": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/compat.py": {"executed_lines": [3], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "functions": {"": {"executed_lines": [3], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "start_line": 1}}, "classes": {"": {"executed_lines": [3], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "start_line": 1}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 22, 25, 28, 29, 30, 32, 55, 56, 57, 58, 60, 69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152, 157, 159, 160, 161, 166, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 181, 183, 184, 185, 187, 189, 191, 192, 193, 196, 198, 199, 200, 202, 204, 206, 207, 208, 210, 215, 217, 219, 220, 221, 223, 225, 226, 228, 236, 238, 239, 241, 249, 251, 252, 254, 256, 257, 258, 260, 262, 263, 264, 266, 268, 269, 270, 272, 274, 275, 276, 278, 280, 281, 283, 285, 286, 288, 294, 299, 310, 318, 320, 322, 323, 324, 326, 328, 329, 331, 333, 335, 336, 337, 339, 341, 342, 345, 347, 349, 350, 361, 366, 371, 376, 381, 383, 384, 385, 387, 389, 390, 391, 393, 395, 396, 397, 399, 401, 402, 403, 405, 407, 408, 409, 411, 413, 414, 416, 418, 420, 421, 422, 424, 426, 427, 429, 431, 433, 434, 435, 437, 439, 440, 442, 447, 448, 449, 451, 459, 467, 481], "summary": {"covered_lines": 209, "num_statements": 299, "percent_covered": 69.89966555183946, "percent_covered_display": "70", "missing_lines": 90, "excluded_lines": 2, "percent_statements_covered": 69.89966555183946, "percent_statements_covered_display": "70"}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155, 162, 163, 164, 186, 194, 205, 212, 213, 218, 230, 231, 232, 233, 234, 243, 244, 245, 246, 247, 290, 291, 292, 296, 297, 301, 302, 303, 306, 307, 308, 312, 313, 314, 315, 316, 321, 334, 362, 363, 364, 367, 368, 369, 372, 373, 374, 377, 378, 379, 419, 432, 443, 444, 445, 453, 454, 455, 456, 457, 461, 462, 463, 464, 465, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 483, 484, 485, 486, 487], "excluded_lines": [19, 20], "functions": {"ConfigManager.__init__": {"executed_lines": [56, 57, 58], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "ConfigManager.load_config": {"executed_lines": [69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152], "summary": {"covered_lines": 41, "num_statements": 51, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 80.3921568627451, "percent_statements_covered_display": "80"}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155], "excluded_lines": [], "start_line": 60}, "ConfigManager.save_config": {"executed_lines": [159, 160, 161], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [162, 163, 164], "excluded_lines": [], "start_line": 157}, "ConfigManager.set_relays": {"executed_lines": [168, 169, 170, 171, 172], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166}, "ConfigManager.set_pin": {"executed_lines": [176, 177, 178, 179], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "ConfigManager.verify_pin": {"executed_lines": [183, 184, 185, 187], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [186], "excluded_lines": [], "start_line": 181}, "ConfigManager.change_pin": {"executed_lines": [191, 192, 193], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [194], "excluded_lines": [], "start_line": 189}, "ConfigManager.set_password_hash": {"executed_lines": [198, 199, 200], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 196}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [204, 206, 207, 208], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [205], "excluded_lines": [], "start_line": 202}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212, 213], "excluded_lines": [], "start_line": 210}, "ConfigManager.set_kdf_iterations": {"executed_lines": [217, 219, 220, 221], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [218], "excluded_lines": [], "start_line": 215}, "ConfigManager.get_kdf_iterations": {"executed_lines": [225, 226], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [230, 231, 232, 233, 234], "excluded_lines": [], "start_line": 228}, "ConfigManager.get_kdf_mode": {"executed_lines": [238, 239], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 236}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [243, 244, 245, 246, 247], "excluded_lines": [], "start_line": 241}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [251, 252], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 249}, "ConfigManager.set_additional_backup_path": {"executed_lines": [256, 257, 258], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 254}, "ConfigManager.get_additional_backup_path": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 260}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [268, 269, 270], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 266}, "ConfigManager.set_offline_mode": {"executed_lines": [274, 275, 276], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 272}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [280, 281], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 278}, "ConfigManager.get_offline_mode": {"executed_lines": [285, 286], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283}, "ConfigManager.set_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [290, 291, 292], "excluded_lines": [], "start_line": 288}, "ConfigManager.get_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [296, 297], "excluded_lines": [], "start_line": 294}, "ConfigManager.set_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [301, 302, 303, 306, 307, 308], "excluded_lines": [], "start_line": 299}, "ConfigManager.get_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [312, 313, 314, 315, 316], "excluded_lines": [], "start_line": 310}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [320, 322, 323, 324], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [321], "excluded_lines": [], "start_line": 318}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [328, 329], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326}, "ConfigManager.set_backup_interval": {"executed_lines": [333, 335, 336, 337], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [334], "excluded_lines": [], "start_line": 331}, "ConfigManager.get_backup_interval": {"executed_lines": [341, 342], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 339}, "ConfigManager.get_password_policy": {"executed_lines": [347, 349, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 345}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [362, 363, 364], "excluded_lines": [], "start_line": 361}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [367, 368, 369], "excluded_lines": [], "start_line": 366}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [372, 373, 374], "excluded_lines": [], "start_line": 371}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [377, 378, 379], "excluded_lines": [], "start_line": 376}, "ConfigManager.set_include_special_chars": {"executed_lines": [383, 384, 385], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 381}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [389, 390, 391], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 387}, "ConfigManager.set_special_mode": {"executed_lines": [395, 396, 397], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 393}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [401, 402, 403], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 399}, "ConfigManager.set_quick_unlock": {"executed_lines": [407, 408, 409], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 405}, "ConfigManager.get_quick_unlock": {"executed_lines": [413, 414], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 411}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [418, 420, 421, 422], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [419], "excluded_lines": [], "start_line": 416}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [426, 427], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 424}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [431, 433, 434, 435], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [432], "excluded_lines": [], "start_line": 429}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [439, 440], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 437}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [443, 444, 445], "excluded_lines": [], "start_line": 442}, "ConfigManager.get_verbose_timing": {"executed_lines": [448, 449], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 447}, "ConfigManager.get_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [453, 454, 455, 456, 457], "excluded_lines": [], "start_line": 451}, "ConfigManager.set_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [461, 462, 463, 464, 465], "excluded_lines": [], "start_line": 459}, "ConfigManager.set_partition_unlock_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479], "excluded_lines": [], "start_line": 467}, "ConfigManager.is_partition_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [483, 484, 485, 486, 487], "excluded_lines": [], "start_line": 481}, "": {"executed_lines": [3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 22, 25, 28, 29, 30, 32, 55, 60, 157, 166, 174, 181, 189, 196, 202, 210, 215, 223, 228, 236, 241, 249, 254, 260, 266, 272, 278, 283, 288, 294, 299, 310, 318, 326, 331, 339, 345, 361, 366, 371, 376, 381, 387, 393, 399, 405, 411, 416, 424, 429, 437, 442, 447, 451, 459, 467, 481], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [19, 20], "start_line": 1}}, "classes": {"ConfigManager": {"executed_lines": [56, 57, 58, 69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152, 159, 160, 161, 168, 169, 170, 171, 172, 176, 177, 178, 179, 183, 184, 185, 187, 191, 192, 193, 198, 199, 200, 204, 206, 207, 208, 217, 219, 220, 221, 225, 226, 238, 239, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 276, 280, 281, 285, 286, 320, 322, 323, 324, 328, 329, 333, 335, 336, 337, 341, 342, 347, 349, 350, 383, 384, 385, 389, 390, 391, 395, 396, 397, 401, 402, 403, 407, 408, 409, 413, 414, 418, 420, 421, 422, 426, 427, 431, 433, 434, 435, 439, 440, 448, 449], "summary": {"covered_lines": 142, "num_statements": 232, "percent_covered": 61.206896551724135, "percent_covered_display": "61", "missing_lines": 90, "excluded_lines": 0, "percent_statements_covered": 61.206896551724135, "percent_statements_covered_display": "61"}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155, 162, 163, 164, 186, 194, 205, 212, 213, 218, 230, 231, 232, 233, 234, 243, 244, 245, 246, 247, 290, 291, 292, 296, 297, 301, 302, 303, 306, 307, 308, 312, 313, 314, 315, 316, 321, 334, 362, 363, 364, 367, 368, 369, 372, 373, 374, 377, 378, 379, 419, 432, 443, 444, 445, 453, 454, 455, 456, 457, 461, 462, 463, 464, 465, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 483, 484, 485, 486, 487], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 22, 25, 28, 29, 30, 32, 55, 60, 157, 166, 174, 181, 189, 196, 202, 210, 215, 223, 228, 236, 241, 249, 254, 260, 266, 272, 278, 283, 288, 294, 299, 310, 318, 326, 331, 339, 345, 361, 366, 371, 376, 381, 387, 393, 399, 405, 411, 416, 424, 429, 437, 442, 447, 451, 459, 467, 481], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [19, 20], "start_line": 1}}}, "src/seedpass/core/display_service.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 17, 20, 23, 24, 26, 27, 30, 32, 34, 35, 37, 38, 42, 43, 45, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136, 141, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173, 178, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 228, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258, 263, 264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286, 292, 293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318, 344, 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382, 387, 432, 433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 231, "num_statements": 341, "percent_covered": 67.74193548387096, "percent_covered_display": "68", "missing_lines": 110, "excluded_lines": 2, "percent_statements_covered": 67.74193548387096, "percent_statements_covered_display": "68"}, "missing_lines": [73, 93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139, 157, 160, 164, 165, 174, 175, 176, 195, 198, 200, 201, 224, 225, 226, 244, 247, 250, 251, 259, 260, 261, 274, 275, 284, 287, 288, 289, 290, 299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 351, 356, 372, 373, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 447, 449, 505, 506, 515], "excluded_lines": [14, 15], "functions": {"DisplayService.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "DisplayService._manager_module": {"executed_lines": [30, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "DisplayService._confirm_action": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "DisplayService._copy_to_clipboard": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "DisplayService._timed_input": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "DisplayService.display_sensitive_entry_info": {"executed_lines": [56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95"}, "missing_lines": [73], "excluded_lines": [], "start_line": 45}, "DisplayService._display_totp": {"executed_lines": [80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136], "summary": {"covered_lines": 35, "num_statements": 49, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139], "excluded_lines": [], "start_line": 79}, "DisplayService._display_ssh": {"executed_lines": [142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173], "summary": {"covered_lines": 18, "num_statements": 25, "percent_covered": 72.0, "percent_covered_display": "72", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 72.0, "percent_statements_covered_display": "72"}, "missing_lines": [157, 160, 164, 165, 174, 175, 176], "excluded_lines": [], "start_line": 141}, "DisplayService._display_seed": {"executed_lines": [179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 78.125, "percent_statements_covered_display": "78"}, "missing_lines": [195, 198, 200, 201, 224, 225, 226], "excluded_lines": [], "start_line": 178}, "DisplayService._display_pgp": {"executed_lines": [229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258], "summary": {"covered_lines": 16, "num_statements": 23, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 69.56521739130434, "percent_statements_covered_display": "70"}, "missing_lines": [244, 247, 250, 251, 259, 260, 261], "excluded_lines": [], "start_line": 228}, "DisplayService._display_nostr": {"executed_lines": [264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286], "summary": {"covered_lines": 12, "num_statements": 19, "percent_covered": 63.1578947368421, "percent_covered_display": "63", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 63.1578947368421, "percent_statements_covered_display": "63"}, "missing_lines": [274, 275, 284, 287, 288, 289, 290], "excluded_lines": [], "start_line": 263}, "DisplayService._display_key_value": {"executed_lines": [293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318], "summary": {"covered_lines": 13, "num_statements": 34, "percent_covered": 38.23529411764706, "percent_covered_display": "38", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 38.23529411764706, "percent_statements_covered_display": "38"}, "missing_lines": [299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342], "excluded_lines": [], "start_line": 292}, "DisplayService._display_managed_account": {"executed_lines": [345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382], "summary": {"covered_lines": 18, "num_statements": 25, "percent_covered": 72.0, "percent_covered_display": "72", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 72.0, "percent_statements_covered_display": "72"}, "missing_lines": [351, 356, 372, 373, 383, 384, 385], "excluded_lines": [], "start_line": 344}, "DisplayService._display_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430], "excluded_lines": [], "start_line": 387}, "DisplayService._display_password": {"executed_lines": [433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 43, "num_statements": 48, "percent_covered": 89.58333333333333, "percent_covered_display": "90", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 89.58333333333333, "percent_statements_covered_display": "90"}, "missing_lines": [447, 449, 505, 506, 515], "excluded_lines": [], "start_line": 432}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 17, 20, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [14, 15], "start_line": 1}}, "classes": {"DisplayService": {"executed_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258, 264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286, 293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318, 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382, 433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 204, "num_statements": 314, "percent_covered": 64.96815286624204, "percent_covered_display": "65", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 64.96815286624204, "percent_statements_covered_display": "65"}, "missing_lines": [73, 93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139, 157, 160, 164, 165, 174, 175, 176, 195, 198, 200, 201, 224, 225, 226, 244, 247, 250, 251, 259, 260, 261, 274, 275, 284, 287, 288, 289, 290, 299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 351, 356, 372, 373, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 447, 449, 505, 506, 515], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 17, 20, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [14, 15], "start_line": 1}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 42, 43, 44, 47, 50, 51, 54, 55, 58, 64, 73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97, 99, 104, 105, 106, 107, 112, 126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 201, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 247, 266, 267, 268, 269, 271, 275, 276, 277, 279, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 297, 298, 299, 300, 303, 311, 312, 313, 316, 317, 318, 319, 320, 325, 330, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 347, 348, 349, 350, 351, 352, 353, 355, 356, 357, 358, 359, 360, 361, 363, 370, 371, 372, 373, 376, 377, 379, 386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 436, 441, 442, 443, 444, 445, 446, 447, 448, 450, 470, 471, 473, 474, 475, 477, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 550, 552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585, 593, 599, 600, 601, 602, 603, 604, 609], "summary": {"covered_lines": 275, "num_statements": 332, "percent_covered": 82.83132530120481, "percent_covered_display": "83", "missing_lines": 57, "excluded_lines": 23, "percent_statements_covered": 82.83132530120481, "percent_statements_covered_display": "83"}, "missing_lines": [78, 88, 89, 93, 108, 109, 110, 135, 136, 167, 168, 171, 240, 241, 301, 315, 375, 395, 414, 427, 428, 429, 437, 438, 439, 481, 519, 520, 521, 525, 531, 532, 533, 556, 573, 574, 586, 587, 591, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [11, 12, 13, 15, 196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [42, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [51, 54, 55], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "EncryptionManager.__init__": {"executed_lines": [73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 73.33333333333333, "percent_statements_covered_display": "73"}, "missing_lines": [78, 88, 89, 93], "excluded_lines": [], "start_line": 64}, "EncryptionManager.encrypt_data": {"executed_lines": [104, 105, 106, 107], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [108, 109, 110], "excluded_lines": [], "start_line": 99}, "EncryptionManager.decrypt_data": {"executed_lines": [126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195], "summary": {"covered_lines": 36, "num_statements": 41, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 87.8048780487805, "percent_statements_covered_display": "88"}, "missing_lines": [135, 136, 167, 168, 171], "excluded_lines": [196, 197], "start_line": 112}, "EncryptionManager.decrypt_legacy": {"executed_lines": [206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 4, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89"}, "missing_lines": [240, 241], "excluded_lines": [229, 230, 238, 239], "start_line": 201}, "EncryptionManager.resolve_relative_path": {"executed_lines": [266, 267, 268, 269], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 247}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [275, 276, 277], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279}, "EncryptionManager._serialize": {"executed_lines": [298, 299, 300], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [301], "excluded_lines": [], "start_line": 297}, "EncryptionManager._deserialize": {"executed_lines": [311, 312, 313, 316, 317, 318, 319, 320, 325], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [315], "excluded_lines": [321, 322], "start_line": 303}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 330}, "EncryptionManager.decrypt_file": {"executed_lines": [348, 349, 350, 351, 352, 353], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347}, "EncryptionManager.get_file_kdf": {"executed_lines": [356, 357, 358, 359, 360, 361], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 355}, "EncryptionManager.save_json_data": {"executed_lines": [370, 371, 372, 373, 376, 377], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [375], "excluded_lines": [], "start_line": 363}, "EncryptionManager.load_json_data": {"executed_lines": [386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 436], "summary": {"covered_lines": 27, "num_statements": 35, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 8, "excluded_lines": 4, "percent_statements_covered": 77.14285714285714, "percent_statements_covered_display": "77"}, "missing_lines": [395, 414, 427, 428, 429, 437, 438, 439], "excluded_lines": [430, 431, 432, 433], "start_line": 379}, "EncryptionManager.get_encrypted_index": {"executed_lines": [442, 443, 444, 445, 446, 447, 448], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 441}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [470, 471, 473, 474, 475, 477, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 7, "percent_statements_covered": 78.125, "percent_statements_covered_display": "78"}, "missing_lines": [519, 520, 521, 525, 531, 532, 533], "excluded_lines": [534, 535, 536, 540, 546, 547, 548], "start_line": 450}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [478, 479, 482, 483, 484, 485, 486, 487], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [481], "excluded_lines": [], "start_line": 477}, "EncryptionManager.update_checksum": {"executed_lines": [552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585], "summary": {"covered_lines": 22, "num_statements": 28, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [556, 573, 574, 586, 587, 591], "excluded_lines": [], "start_line": 550}, "EncryptionManager.validate_seed": {"executed_lines": [599, 600, 601, 602, 603, 604], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [605, 606, 607], "excluded_lines": [], "start_line": 593}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [], "start_line": 609}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 50, 58, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15], "start_line": 1}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [51, 54, 55], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "EncryptionManager": {"executed_lines": [73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97, 104, 105, 106, 107, 126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 311, 312, 313, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 376, 377, 386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 436, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585, 599, 600, 601, 602, 603, 604], "summary": {"covered_lines": 223, "num_statements": 280, "percent_covered": 79.64285714285714, "percent_covered_display": "80", "missing_lines": 57, "excluded_lines": 19, "percent_statements_covered": 79.64285714285714, "percent_statements_covered_display": "80"}, "missing_lines": [78, 88, 89, 93, 108, 109, 110, 135, 136, 167, 168, 171, 240, 241, 301, 315, 375, 395, 414, 427, 428, 429, 437, 438, 439, 481, 519, 520, 521, 525, 531, 532, 533, 556, 573, 574, 586, 587, 591, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "start_line": 58}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 42, 43, 44, 47, 50, 58, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15], "start_line": 1}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 66, 67, 68, 71, 72, 74, 76, 78, 80, 82, 83, 84, 86, 87, 88, 90, 93, 94, 96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118, 120, 122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 159, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185, 187, 188, 189, 190, 191, 196, 202, 203, 204, 205, 206, 209, 210, 216, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 311, 313, 314, 315, 323, 325, 340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 404, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 452, 455, 456, 457, 458, 461, 463, 464, 466, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 517, 520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536, 538, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 587, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 627, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 665, 676, 677, 679, 680, 681, 682, 691, 700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730, 732, 735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 757, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 805, 808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825, 827, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 887, 890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908, 910, 916, 917, 918, 919, 923, 928, 930, 937, 938, 939, 940, 944, 945, 947, 948, 949, 951, 953, 954, 955, 956, 961, 962, 964, 968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995, 997, 1003, 1004, 1012, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1051, 1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1354, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1394, 1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1460, 1462, 1464, 1466, 1468, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612, 1620, 1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1702, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1774, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1795, 1837, 1870, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 727, "num_statements": 883, "percent_covered": 82.33295583238959, "percent_covered_display": "82", "missing_lines": 156, "excluded_lines": 3, "percent_statements_covered": 82.33295583238959, "percent_statements_covered_display": "82"}, "missing_lines": [91, 97, 102, 105, 106, 110, 113, 125, 128, 130, 132, 135, 136, 176, 177, 178, 192, 193, 194, 208, 211, 212, 213, 214, 275, 277, 279, 281, 283, 287, 306, 307, 308, 309, 348, 353, 400, 401, 402, 459, 524, 678, 702, 705, 715, 719, 721, 727, 741, 814, 897, 922, 924, 925, 926, 927, 943, 946, 959, 974, 980, 984, 1005, 1006, 1007, 1010, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324, 1368, 1406, 1438, 1510, 1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618, 1633, 1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1888, 1901, 1902, 1903, 1904], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [66, 67, 68, 71, 72, 74, 76], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "EntryManager.clear_cache": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "EntryManager._now_unix": {"executed_lines": [84], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83}, "EntryManager._iso_from_unix": {"executed_lines": [88], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "EntryManager._now_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [91], "excluded_lines": [], "start_line": 90}, "EntryManager._normalize_links": {"executed_lines": [96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [97, 102, 105, 106, 110, 113], "excluded_lines": [], "start_line": 94}, "EntryManager._normalize_entry_defaults": {"executed_lines": [122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157], "summary": {"covered_lines": 24, "num_statements": 30, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [125, 128, 130, 132, 135, 136], "excluded_lines": [], "start_line": 120}, "EntryManager._load_index": {"executed_lines": [160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [176, 177, 178], "excluded_lines": [], "start_line": 159}, "EntryManager._save_index": {"executed_lines": [188, 189, 190, 191], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [192, 193, 194], "excluded_lines": [], "start_line": 187}, "EntryManager.get_next_index": {"executed_lines": [202, 203, 204, 205, 206, 209, 210], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58"}, "missing_lines": [208, 211, 212, 213, 214], "excluded_lines": [], "start_line": 196}, "EntryManager.add_entry": {"executed_lines": [247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304], "summary": {"covered_lines": 28, "num_statements": 38, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 73.6842105263158, "percent_statements_covered_display": "74"}, "missing_lines": [275, 277, 279, 281, 283, 287, 306, 307, 308, 309], "excluded_lines": [], "start_line": 216}, "EntryManager.get_next_totp_index": {"executed_lines": [313, 314, 315, 323], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 311}, "EntryManager.add_totp": {"executed_lines": [340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399], "summary": {"covered_lines": 23, "num_statements": 28, "percent_covered": 82.14285714285714, "percent_covered_display": "82", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.14285714285714, "percent_statements_covered_display": "82"}, "missing_lines": [348, 353, 400, 401, 402], "excluded_lines": [], "start_line": 325}, "EntryManager.add_ssh_key": {"executed_lines": [420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 404}, "EntryManager.get_ssh_key_pair": {"executed_lines": [455, 456, 457, 458, 461, 463, 464], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [459], "excluded_lines": [], "start_line": 452}, "EntryManager.add_pgp_key": {"executed_lines": [479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 466}, "EntryManager.get_pgp_key": {"executed_lines": [520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [524], "excluded_lines": [], "start_line": 517}, "EntryManager.add_nostr_key": {"executed_lines": [549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 538}, "EntryManager.add_key_value": {"executed_lines": [600, 601, 602, 604, 605, 606, 622, 623, 624, 625], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 587}, "EntryManager.add_document": {"executed_lines": [639, 640, 641, 643, 644, 645, 660, 661, 662, 663], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 627}, "EntryManager.import_document_file": {"executed_lines": [676, 677, 679, 680, 681, 682], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [678], "excluded_lines": [], "start_line": 665}, "EntryManager.export_document_file": {"executed_lines": [700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730], "summary": {"covered_lines": 17, "num_statements": 23, "percent_covered": 73.91304347826087, "percent_covered_display": "74", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 73.91304347826087, "percent_statements_covered_display": "74"}, "missing_lines": [702, 705, 715, 719, 721, 727], "excluded_lines": [], "start_line": 691}, "EntryManager.get_nostr_key_pair": {"executed_lines": [735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [741], "excluded_lines": [], "start_line": 732}, "EntryManager.add_seed": {"executed_lines": [769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 757}, "EntryManager.get_seed_phrase": {"executed_lines": [808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [814], "excluded_lines": [], "start_line": 805}, "EntryManager.add_managed_account": {"executed_lines": [842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 827}, "EntryManager.get_managed_account_seed": {"executed_lines": [890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [897], "excluded_lines": [], "start_line": 887}, "EntryManager.get_totp_secret": {"executed_lines": [916, 917, 918, 919, 923, 928], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55"}, "missing_lines": [922, 924, 925, 926, 927], "excluded_lines": [], "start_line": 910}, "EntryManager.get_totp_code": {"executed_lines": [937, 938, 939, 940, 944, 945, 947, 948, 949], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [943, 946], "excluded_lines": [], "start_line": 930}, "EntryManager.get_totp_time_remaining": {"executed_lines": [953, 954, 955, 956, 961, 962], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [959], "excluded_lines": [], "start_line": 951}, "EntryManager.export_totp_entries": {"executed_lines": [968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [974, 980, 984], "excluded_lines": [], "start_line": 964}, "EntryManager.get_encrypted_index": {"executed_lines": [1003, 1004], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [1005, 1006, 1007, 1010], "excluded_lines": [], "start_line": 997}, "EntryManager.retrieve_entry": {"executed_lines": [1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036], "summary": {"covered_lines": 10, "num_statements": 17, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 58.8235294117647, "percent_statements_covered_display": "59"}, "missing_lines": [1038, 1039, 1040, 1042, 1043, 1046, 1049], "excluded_lines": [], "start_line": 1012}, "EntryManager.modify_entry": {"executed_lines": [1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352], "summary": {"covered_lines": 82, "num_statements": 102, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 80.3921568627451, "percent_statements_covered_display": "80"}, "missing_lines": [1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324], "excluded_lines": [], "start_line": 1051}, "EntryManager.add_link": {"executed_lines": [1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96"}, "missing_lines": [1368], "excluded_lines": [], "start_line": 1354}, "EntryManager.remove_link": {"executed_lines": [1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96"}, "missing_lines": [1406], "excluded_lines": [], "start_line": 1394}, "EntryManager.get_links": {"executed_lines": [1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [1438], "excluded_lines": [], "start_line": 1432}, "EntryManager.archive_entry": {"executed_lines": [1462], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1460}, "EntryManager.restore_entry": {"executed_lines": [1466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1464}, "EntryManager.list_entries": {"executed_lines": [1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612], "summary": {"covered_lines": 46, "num_statements": 54, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 85.18518518518519, "percent_statements_covered_display": "85"}, "missing_lines": [1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618], "excluded_lines": [], "start_line": 1468}, "EntryManager.list_entries.sort_key": {"executed_lines": [1500, 1501, 1502, 1503, 1506, 1507, 1509], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [1510], "excluded_lines": [], "start_line": 1499}, "EntryManager.search_entries": {"executed_lines": [1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96"}, "missing_lines": [1633], "excluded_lines": [], "start_line": 1620}, "EntryManager.delete_entry": {"executed_lines": [1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752], "summary": {"covered_lines": 23, "num_statements": 32, "percent_covered": 71.875, "percent_covered_display": "72", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 71.875, "percent_statements_covered_display": "72"}, "missing_lines": [1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770], "excluded_lines": [], "start_line": 1702}, "EntryManager.update_checksum": {"executed_lines": [1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73"}, "missing_lines": [1791, 1792, 1793], "excluded_lines": [], "start_line": 1774}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831], "excluded_lines": [], "start_line": 1795}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868], "excluded_lines": [], "start_line": 1837}, "EntryManager.get_entry_summaries": {"executed_lines": [1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 77.27272727272727, "percent_statements_covered_display": "77"}, "missing_lines": [1888, 1901, 1902, 1903, 1904], "excluded_lines": [], "start_line": 1870}, "": {"executed_lines": [18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [22, 23, 25], "start_line": 1}}, "classes": {"EntryManager": {"executed_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118, 122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185, 188, 189, 190, 191, 202, 203, 204, 205, 206, 209, 210, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 679, 680, 681, 682, 700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730, 735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 923, 928, 937, 938, 939, 940, 944, 945, 947, 948, 949, 953, 954, 955, 956, 961, 962, 968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995, 1003, 1004, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612, 1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 654, "num_statements": 810, "percent_covered": 80.74074074074075, "percent_covered_display": "81", "missing_lines": 156, "excluded_lines": 0, "percent_statements_covered": 80.74074074074075, "percent_statements_covered_display": "81"}, "missing_lines": [91, 97, 102, 105, 106, 110, 113, 125, 128, 130, 132, 135, 136, 176, 177, 178, 192, 193, 194, 208, 211, 212, 213, 214, 275, 277, 279, 281, 283, 287, 306, 307, 308, 309, 348, 353, 400, 401, 402, 459, 524, 678, 702, 705, 715, 719, 721, 727, 741, 814, 897, 922, 924, 925, 926, 927, 943, 946, 959, 974, 980, 984, 1005, 1006, 1007, 1010, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324, 1368, 1406, 1438, 1510, 1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618, 1633, 1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1888, 1901, 1902, 1903, 1904], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [22, 23, 25], "start_line": 1}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 21, 24, 25, 27, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 97, "num_statements": 114, "percent_covered": 85.08771929824562, "percent_covered_display": "85", "missing_lines": 17, "excluded_lines": 8, "percent_statements_covered": 85.08771929824562, "percent_statements_covered_display": "85"}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "EntryService.handle_add_password": {"executed_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 60, "num_statements": 77, "percent_covered": 77.92207792207792, "percent_covered_display": "78", "missing_lines": 17, "excluded_lines": 4, "percent_statements_covered": 77.92207792207792, "percent_statements_covered_display": "78"}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [239, 240, 241, 242], "start_line": 27}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [95, 96], "start_line": 64}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 21, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [17, 18], "start_line": 1}}, "classes": {"EntryService": {"executed_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 86, "num_statements": 103, "percent_covered": 83.49514563106796, "percent_covered_display": "83", "missing_lines": 17, "excluded_lines": 6, "percent_statements_covered": 83.49514563106796, "percent_statements_covered_display": "83"}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [95, 96, 239, 240, 241, 242], "start_line": 21}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 21, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [17, 18], "start_line": 1}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [4, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [4, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [4, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/errors.py": {"executed_lines": [11, 12, 15, 18, 19, 22, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [11, 12, 15, 18, 22, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SeedPassError": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [11, 12, 15, 18, 22, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/high_risk_partition_store.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0, "percent_statements_covered": 23.076923076923077, "percent_statements_covered_display": "23"}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "functions": {"_partition_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16], "excluded_lines": [], "start_line": 15}, "_fernet_for_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21, 22], "excluded_lines": [], "start_line": 19}, "load_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": [], "start_line": 25}, "save_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 52, 53, 59, 60, 61, 62], "excluded_lines": [], "start_line": 46}, "load_partition_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [68, 69], "excluded_lines": [], "start_line": 65}, "migrate_high_risk_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "start_line": 72}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0, "percent_statements_covered": 23.076923076923077, "percent_statements_covered_display": "23"}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/manager.py": {"executed_lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 126, 127, 128, 129, 130, 131, 143, 144, 145, 150, 151, 154, 155, 156, 157, 160, 162, 163, 166, 191, 192, 195, 196, 199, 202, 203, 204, 206, 208, 211, 214, 217, 218, 220, 222, 223, 224, 225, 226, 229, 239, 240, 241, 242, 243, 244, 246, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 331, 332, 343, 344, 349, 352, 353, 354, 355, 356, 357, 359, 360, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 373, 378, 379, 381, 382, 383, 384, 385, 388, 398, 399, 400, 401, 409, 411, 413, 416, 418, 427, 428, 429, 430, 440, 443, 449, 459, 460, 464, 465, 469, 471, 473, 479, 480, 481, 482, 483, 485, 487, 488, 489, 490, 491, 492, 502, 503, 507, 508, 510, 512, 514, 515, 516, 521, 523, 524, 538, 539, 541, 542, 543, 544, 548, 550, 551, 552, 553, 554, 555, 557, 559, 560, 561, 562, 563, 564, 566, 568, 569, 570, 574, 578, 579, 581, 583, 585, 586, 587, 588, 589, 590, 591, 593, 594, 595, 596, 597, 599, 600, 601, 602, 603, 605, 606, 607, 608, 609, 610, 611, 613, 614, 615, 617, 618, 619, 621, 623, 624, 625, 626, 627, 629, 642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 675, 679, 680, 681, 689, 693, 694, 696, 699, 701, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756, 773, 778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848, 850, 853, 854, 855, 858, 869, 874, 876, 877, 878, 884, 889, 891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952, 1008, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104, 1106, 1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140, 1146, 1147, 1148, 1149, 1151, 1152, 1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1182, 1183, 1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1207, 1208, 1284, 1285, 1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326, 1329, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363, 1368, 1374, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1457, 1458, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1539, 1549, 1550, 1551, 1552, 1553, 1554, 1559, 1566, 1567, 1568, 1569, 1570, 1580, 1581, 1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1649, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1679, 1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1707, 1709, 1713, 1714, 1719, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1746, 1748, 1749, 1756, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814, 1821, 1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849, 1856, 1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966, 1970, 1971, 1973, 1975, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2004, 2006, 2007, 2009, 2012, 2014, 2021, 2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036, 2038, 2039, 2041, 2043, 2046, 2047, 2048, 2049, 2050, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067, 2069, 2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2126, 2130, 2132, 2133, 2135, 2143, 2154, 2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178, 2180, 2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207, 2209, 2210, 2211, 2219, 2221, 2222, 2224, 2226, 2227, 2233, 2234, 2236, 2237, 2239, 2240, 2246, 2321, 2322, 2323, 2325, 2326, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817, 2819, 2836, 2838, 2839, 2840, 2841, 2843, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864, 2866, 2870, 2872, 2874, 2875, 2876, 2878, 2879, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2900, 2915, 2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934, 2936, 2937, 2938, 2940, 2941, 2942, 2943, 2945, 2959, 2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986, 2988, 2990, 2994, 2996, 2998, 2999, 3000, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3074, 3084, 3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102, 3104, 3110, 3113, 3115, 3116, 3131, 3132, 3134, 3136, 3137, 3138, 3140, 3141, 3144, 3145, 3146, 3147, 3149, 3150, 3153, 3154, 3155, 3156, 3158, 3159, 3164, 3169, 3176, 3187, 3189, 3190, 3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3224, 3225, 3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731, 3737, 3738, 3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793, 3795, 3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979, 3981, 3982, 3983, 3985, 3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011, 4022, 4023, 4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036, 4041, 4042, 4044, 4046, 4049, 4052, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112, 4119, 4120, 4121, 4123, 4124, 4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158, 4163, 4164, 4192, 4198, 4199, 4200, 4201, 4202, 4212, 4233, 4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299, 4301, 4304, 4306, 4310, 4311, 4312, 4317, 4321, 4322, 4323, 4332, 4333, 4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393, 4399, 4400, 4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451, 4481, 4482, 4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546, 4552, 4553, 4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644, 4649, 4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679, 4694, 4705, 4706, 4707, 4708, 4709, 4711, 4716, 4717, 4718, 4719, 4729, 4752, 4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817, 4826, 4898], "summary": {"covered_lines": 1672, "num_statements": 2768, "percent_covered": 60.40462427745665, "percent_covered_display": "60", "missing_lines": 1096, "excluded_lines": 11, "percent_statements_covered": 60.40462427745665, "percent_statements_covered_display": "60"}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 176, 177, 178, 179, 182, 184, 185, 187, 188, 205, 337, 338, 339, 347, 386, 412, 431, 493, 494, 505, 511, 517, 518, 519, 526, 527, 528, 529, 530, 533, 534, 535, 536, 545, 546, 571, 572, 584, 616, 644, 646, 682, 683, 684, 687, 736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771, 793, 794, 797, 832, 841, 859, 865, 886, 887, 893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1089, 1090, 1091, 1092, 1095, 1100, 1103, 1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144, 1155, 1186, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1305, 1307, 1322, 1323, 1327, 1358, 1359, 1360, 1364, 1365, 1366, 1372, 1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455, 1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537, 1555, 1556, 1557, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1602, 1603, 1644, 1645, 1646, 1647, 1663, 1664, 1665, 1668, 1674, 1675, 1676, 1677, 1687, 1791, 1792, 1842, 1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968, 1982, 2008, 2010, 2019, 2044, 2051, 2052, 2053, 2054, 2077, 2120, 2127, 2128, 2141, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2157, 2163, 2164, 2165, 2192, 2201, 2204, 2241, 2242, 2243, 2244, 2261, 2262, 2263, 2265, 2266, 2268, 2269, 2270, 2271, 2272, 2273, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790, 2797, 2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913, 2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957, 2984, 3003, 3004, 3005, 3006, 3007, 3008, 3011, 3012, 3013, 3014, 3015, 3016, 3019, 3020, 3021, 3022, 3023, 3024, 3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3040, 3041, 3045, 3046, 3047, 3048, 3051, 3052, 3053, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3072, 3075, 3076, 3077, 3078, 3079, 3080, 3082, 3089, 3090, 3092, 3093, 3096, 3097, 3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171, 3205, 3206, 3207, 3212, 3213, 3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735, 3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788, 3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968, 3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020, 4030, 4031, 4037, 4038, 4039, 4084, 4085, 4110, 4114, 4115, 4116, 4117, 4159, 4160, 4161, 4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4218, 4219, 4220, 4221, 4222, 4225, 4231, 4296, 4297, 4313, 4314, 4315, 4328, 4329, 4330, 4355, 4356, 4375, 4394, 4395, 4396, 4397, 4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479, 4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550, 4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647, 4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692, 4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750, 4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824, 4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896, 4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": [2123, 2124, 2151, 2152, 2228, 2229, 3172, 3173, 3174, 3871, 3872], "functions": {"AuditLogger.__init__": {"executed_lines": [127, 128, 129, 130, 131], "summary": {"covered_lines": 5, "num_statements": 15, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": [], "start_line": 126}, "AuditLogger.log": {"executed_lines": [144, 145, 150, 151, 154, 155, 156, 157], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143}, "calculate_profile_id": {"executed_lines": [162, 163], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188], "excluded_lines": [], "start_line": 166}, "requires_unlocked": {"executed_lines": [202, 203, 208], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199}, "requires_unlocked.wrapper": {"executed_lines": [204, 206], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [205], "excluded_lines": [], "start_line": 203}, "AuthGuard.__init__": {"executed_lines": [217, 218], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214}, "AuthGuard.check_timeout": {"executed_lines": [222, 223, 224, 225, 226], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 220}, "PasswordManager.__init__": {"executed_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 246}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [337, 338, 339], "excluded_lines": [], "start_line": 332}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [347], "excluded_lines": [], "start_line": 344}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [352, 353, 354, 355, 356, 357], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 349}, "PasswordManager._get_kdf_mode": {"executed_lines": [360, 361, 362, 363, 364], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 359}, "PasswordManager._get_kdf_iterations": {"executed_lines": [367, 368, 369, 370, 371, 372, 373, 378, 379], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 366}, "PasswordManager._get_argon2_time_cost": {"executed_lines": [382, 383, 384, 385], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [386], "excluded_lines": [], "start_line": 381}, "PasswordManager._derive_seed_key": {"executed_lines": [398, 399, 400, 401, 409, 411, 413, 416], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [412], "excluded_lines": [], "start_line": 388}, "PasswordManager._build_seed_kdf_config": {"executed_lines": [427, 428, 429, 430, 440, 443], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [431], "excluded_lines": [], "start_line": 418}, "PasswordManager._encrypt_parent_seed_compat": {"executed_lines": [459, 460, 464, 465, 469], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 449}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [473, 479, 480, 481, 482, 483], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471}, "PasswordManager.ensure_script_checksum": {"executed_lines": [487, 488, 489, 490, 491, 492], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [493, 494], "excluded_lines": [], "start_line": 485}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [505], "excluded_lines": [], "start_line": 503}, "PasswordManager.parent_seed": {"executed_lines": [516, 521], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [517, 518, 519], "excluded_lines": [], "start_line": 515}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [526, 527, 528, 529, 530, 533, 534, 535, 536], "excluded_lines": [], "start_line": 524}, "PasswordManager.header_fingerprint_args": {"executed_lines": [541, 542, 543, 544], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [545, 546], "excluded_lines": [], "start_line": 539}, "PasswordManager.update_activity": {"executed_lines": [550, 551, 552, 553, 554, 555], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 548}, "PasswordManager.notify": {"executed_lines": [559, 560, 561, 562, 563, 564], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 557}, "PasswordManager.get_current_notification": {"executed_lines": [568, 569, 570, 574, 578, 579], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [571, 572], "excluded_lines": [], "start_line": 566}, "PasswordManager.poll_background_errors": {"executed_lines": [583, 585, 586, 587, 588, 589, 590, 591], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [584], "excluded_lines": [], "start_line": 581}, "PasswordManager.menu_handler": {"executed_lines": [595, 596, 597], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 594}, "PasswordManager.profile_service": {"executed_lines": [601, 602, 603], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 600}, "PasswordManager.entry_service": {"executed_lines": [607, 608, 609, 610, 611], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 606}, "PasswordManager.display_service": {"executed_lines": [615, 617, 618, 619], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [616], "excluded_lines": [], "start_line": 614}, "PasswordManager.lock_vault": {"executed_lines": [623, 624, 625, 626, 627], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 621}, "PasswordManager.unlock_vault": {"executed_lines": [642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91"}, "missing_lines": [644, 646], "excluded_lines": [], "start_line": 629}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [679, 680, 681], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [682, 683, 684, 687], "excluded_lines": [], "start_line": 675}, "PasswordManager.setup_parent_seed": {"executed_lines": [693, 694, 696, 699], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 689}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756], "summary": {"covered_lines": 25, "num_statements": 40, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771], "excluded_lines": [], "start_line": 701}, "PasswordManager.add_new_fingerprint": {"executed_lines": [778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848], "summary": {"covered_lines": 34, "num_statements": 39, "percent_covered": 87.17948717948718, "percent_covered_display": "87", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 87.17948717948718, "percent_statements_covered_display": "87"}, "missing_lines": [793, 794, 797, 832, 841], "excluded_lines": [], "start_line": 773}, "PasswordManager.select_fingerprint": {"executed_lines": [853, 854, 855, 858, 869, 874, 876, 877, 878, 884], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [859, 865, 886, 887], "excluded_lines": [], "start_line": 850}, "PasswordManager.recover_profile_with_blank_index": {"executed_lines": [891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952], "summary": {"covered_lines": 21, "num_statements": 64, "percent_covered": 32.8125, "percent_covered_display": "33", "missing_lines": 43, "excluded_lines": 0, "percent_statements_covered": 32.8125, "percent_statements_covered_display": "33"}, "missing_lines": [893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006], "excluded_lines": [], "start_line": 889}, "PasswordManager.setup_encryption_manager": {"executed_lines": [1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104], "summary": {"covered_lines": 48, "num_statements": 55, "percent_covered": 87.27272727272727, "percent_covered_display": "87", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 87.27272727272727, "percent_statements_covered_display": "87"}, "missing_lines": [1089, 1090, 1091, 1092, 1095, 1100, 1103], "excluded_lines": [], "start_line": 1008}, "PasswordManager.load_parent_seed": {"executed_lines": [1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140], "summary": {"covered_lines": 13, "num_statements": 22, "percent_covered": 59.09090909090909, "percent_covered_display": "59", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 59.09090909090909, "percent_statements_covered_display": "59"}, "missing_lines": [1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144], "excluded_lines": [], "start_line": 1106}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [1149], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1148}, "PasswordManager.load_managed_account": {"executed_lines": [1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [1155], "excluded_lines": [], "start_line": 1152}, "PasswordManager.exit_managed_account": {"executed_lines": [1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95"}, "missing_lines": [1186], "excluded_lines": [], "start_line": 1183}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282], "excluded_lines": [], "start_line": 1208}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [1305, 1307, 1322, 1323, 1327], "excluded_lines": [], "start_line": 1285}, "PasswordManager.setup_existing_seed": {"executed_lines": [1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [1358, 1359, 1360, 1364, 1365, 1366], "excluded_lines": [], "start_line": 1329}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1372], "excluded_lines": [], "start_line": 1368}, "PasswordManager._finalize_existing_seed": {"executed_lines": [1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448], "summary": {"covered_lines": 42, "num_statements": 52, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 80.76923076923077, "percent_statements_covered_display": "81"}, "missing_lines": [1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455], "excluded_lines": [], "start_line": 1374}, "PasswordManager.generate_new_seed": {"executed_lines": [1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534], "summary": {"covered_lines": 29, "num_statements": 48, "percent_covered": 60.416666666666664, "percent_covered_display": "60", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 60.416666666666664, "percent_statements_covered_display": "60"}, "missing_lines": [1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537], "excluded_lines": [], "start_line": 1458}, "PasswordManager.validate_bip85_seed": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [1555, 1556, 1557], "excluded_lines": [], "start_line": 1539}, "PasswordManager.generate_bip85_seed": {"executed_lines": [1566, 1567, 1568, 1569, 1570], "summary": {"covered_lines": 5, "num_statements": 13, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 38.46153846153846, "percent_statements_covered_display": "38"}, "missing_lines": [1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578], "excluded_lines": [], "start_line": 1559}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643], "summary": {"covered_lines": 24, "num_statements": 30, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [1602, 1603, 1644, 1645, 1646, 1647], "excluded_lines": [], "start_line": 1581}, "PasswordManager.initialize_bip85": {"executed_lines": [1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [1674, 1675, 1676, 1677], "excluded_lines": [], "start_line": 1649}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1663, 1664, 1665, 1668], "excluded_lines": [], "start_line": 1660}, "PasswordManager.initialize_managers": {"executed_lines": [1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [1687], "excluded_lines": [], "start_line": 1679}, "PasswordManager._initialize_config_and_state": {"executed_lines": [1709, 1713, 1714], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1707}, "PasswordManager._initialize_entry_manager": {"executed_lines": [1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1719}, "PasswordManager._initialize_password_generator": {"executed_lines": [1748, 1749], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1746}, "PasswordManager._initialize_nostr_client": {"executed_lines": [1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814], "summary": {"covered_lines": 33, "num_statements": 35, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.28571428571429, "percent_statements_covered_display": "94"}, "missing_lines": [1791, 1792], "excluded_lines": [], "start_line": 1756}, "PasswordManager._handle_migration": {"executed_lines": [1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [1842], "excluded_lines": [], "start_line": 1821}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966], "summary": {"covered_lines": 50, "num_statements": 59, "percent_covered": 84.7457627118644, "percent_covered_display": "85", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 84.7457627118644, "percent_statements_covered_display": "85"}, "missing_lines": [1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968], "excluded_lines": [], "start_line": 1856}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [1971], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1970}, "PasswordManager.start_background_sync": {"executed_lines": [1975, 1976, 1977, 1978, 1979, 1984, 1993, 1994, 1995, 1996, 1999, 2000, 2002], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [1982], "excluded_lines": [], "start_line": 1973}, "PasswordManager.start_background_sync._worker": {"executed_lines": [1985, 1986, 1987, 1988, 1989, 1990, 1991], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1984}, "PasswordManager.cleanup": {"executed_lines": [2006, 2007, 2009], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [2008, 2010], "excluded_lines": [], "start_line": 2004}, "PasswordManager.start_background_relay_check": {"executed_lines": [2014, 2021, 2038, 2039], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [2019], "excluded_lines": [], "start_line": 2012}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2021}, "PasswordManager.start_background_vault_sync": {"executed_lines": [2043, 2046, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [2044], "excluded_lines": [], "start_line": 2041}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [2047, 2048, 2049, 2050], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [2051, 2052, 2053, 2054], "excluded_lines": [], "start_line": 2046}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2126, 2130], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 2, "percent_statements_covered": 89.1891891891892, "percent_statements_covered_display": "89"}, "missing_lines": [2077, 2120, 2127, 2128], "excluded_lines": [2123, 2124], "start_line": 2069}, "PasswordManager.attempt_initial_sync": {"executed_lines": [2133], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2132}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2141], "excluded_lines": [], "start_line": 2135}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2144, 2145, 2146, 2147, 2148, 2149, 2150], "excluded_lines": [2151, 2152], "start_line": 2143}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178], "summary": {"covered_lines": 16, "num_statements": 20, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [2157, 2163, 2164, 2165], "excluded_lines": [], "start_line": 2154}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [2192, 2201, 2204], "excluded_lines": [], "start_line": 2180}, "PasswordManager._clear_header_add_entry": {"executed_lines": [2210, 2211], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2209}, "PasswordManager._mark_dirty": {"executed_lines": [2221, 2222], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2219}, "PasswordManager._sync_and_pause": {"executed_lines": [2226, 2227, 2233, 2234], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [2228, 2229], "start_line": 2224}, "PasswordManager._entry_op_context": {"executed_lines": [2239, 2240], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [2241, 2242, 2243, 2244], "excluded_lines": [], "start_line": 2237}, "PasswordManager._terminal_document_editor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2261, 2262, 2263, 2265, 2268, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319], "excluded_lines": [], "start_line": 2246}, "PasswordManager._terminal_document_editor.print_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2266], "excluded_lines": [], "start_line": 2265}, "PasswordManager._terminal_document_editor.print_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2269, 2270, 2271, 2272, 2273], "excluded_lines": [], "start_line": 2268}, "PasswordManager.handle_add_password": {"executed_lines": [2323], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2322}, "PasswordManager.handle_add_totp": {"executed_lines": [2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390], "summary": {"covered_lines": 31, "num_statements": 61, "percent_covered": 50.81967213114754, "percent_covered_display": "51", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 50.81967213114754, "percent_statements_covered_display": "51"}, "missing_lines": [2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438], "excluded_lines": [], "start_line": 2326}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477], "excluded_lines": [], "start_line": 2441}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528], "excluded_lines": [], "start_line": 2480}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577], "excluded_lines": [], "start_line": 2531}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619], "excluded_lines": [], "start_line": 2580}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682], "excluded_lines": [], "start_line": 2622}, "PasswordManager.handle_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745], "excluded_lines": [], "start_line": 2685}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790], "excluded_lines": [], "start_line": 2748}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [2797], "excluded_lines": [], "start_line": 2792}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834], "excluded_lines": [], "start_line": 2819}, "PasswordManager._entry_type_str": {"executed_lines": [2838, 2839, 2840, 2841], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2836}, "PasswordManager._generate_password_for_entry": {"executed_lines": [2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2843}, "PasswordManager._entry_actions_menu": {"executed_lines": [2870, 2872, 2878, 2890, 2900, 2915, 2936, 2940, 2945, 2959, 2988], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2866}, "PasswordManager._entry_actions_menu.refresh_entry": {"executed_lines": [2874, 2875, 2876], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2872}, "PasswordManager._entry_actions_menu.toggle_archive": {"executed_lines": [2879, 2882, 2883, 2885, 2886, 2887, 2888], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2878}, "PasswordManager._entry_actions_menu.add_note": {"executed_lines": [2891, 2892], "summary": {"covered_lines": 2, "num_statements": 8, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25"}, "missing_lines": [2893, 2894, 2895, 2896, 2897, 2898], "excluded_lines": [], "start_line": 2890}, "PasswordManager._entry_actions_menu.add_custom_field": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913], "excluded_lines": [], "start_line": 2900}, "PasswordManager._entry_actions_menu.edit_tags": {"executed_lines": [2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2915}, "PasswordManager._entry_actions_menu.edit_entry": {"executed_lines": [2937, 2938], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2936}, "PasswordManager._entry_actions_menu.show_qr": {"executed_lines": [2941, 2942, 2943], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2940}, "PasswordManager._entry_actions_menu.export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957], "excluded_lines": [], "start_line": 2945}, "PasswordManager._entry_actions_menu.get_options": {"executed_lines": [2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [2984], "excluded_lines": [], "start_line": 2959}, "PasswordManager._entry_edit_menu": {"executed_lines": [2994, 2996, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3074, 3084, 3104], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2990}, "PasswordManager._entry_edit_menu.refresh_entry": {"executed_lines": [2998, 2999, 3000], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2996}, "PasswordManager._entry_edit_menu.edit_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3003, 3004, 3005, 3006, 3007, 3008], "excluded_lines": [], "start_line": 3002}, "PasswordManager._entry_edit_menu.edit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3011, 3012, 3013, 3014, 3015, 3016], "excluded_lines": [], "start_line": 3010}, "PasswordManager._entry_edit_menu.edit_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3019, 3020, 3021, 3022, 3023, 3024], "excluded_lines": [], "start_line": 3018}, "PasswordManager._entry_edit_menu.edit_document_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037], "excluded_lines": [], "start_line": 3026}, "PasswordManager._entry_edit_menu.edit_document_file_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3040, 3041, 3045, 3046, 3047, 3048], "excluded_lines": [], "start_line": 3039}, "PasswordManager._entry_edit_menu.edit_username": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3051, 3052, 3053, 3054, 3055], "excluded_lines": [], "start_line": 3050}, "PasswordManager._entry_edit_menu.edit_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3058, 3059, 3060, 3061, 3062], "excluded_lines": [], "start_line": 3057}, "PasswordManager._entry_edit_menu.edit_period": {"executed_lines": [3065, 3066, 3067, 3068, 3069, 3070], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [3072], "excluded_lines": [], "start_line": 3064}, "PasswordManager._entry_edit_menu.edit_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3075, 3076, 3077, 3078, 3079, 3080, 3082], "excluded_lines": [], "start_line": 3074}, "PasswordManager._entry_edit_menu.get_options": {"executed_lines": [3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [3089, 3090, 3092, 3093, 3096, 3097], "excluded_lines": [], "start_line": 3084}, "PasswordManager._entry_qr_menu": {"executed_lines": [3113, 3115, 3116, 3131, 3132, 3134, 3140, 3149, 3158, 3164, 3169], "summary": {"covered_lines": 11, "num_statements": 20, "percent_covered": 55.0, "percent_covered_display": "55", "missing_lines": 9, "excluded_lines": 3, "percent_statements_covered": 55.0, "percent_statements_covered_display": "55"}, "missing_lines": [3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171], "excluded_lines": [3172, 3173, 3174], "start_line": 3110}, "PasswordManager._entry_qr_menu.refresh_entry": {"executed_lines": [3136, 3137, 3138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3134}, "PasswordManager._entry_qr_menu.show_public_key": {"executed_lines": [3141, 3144, 3145, 3146, 3147], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3140}, "PasswordManager._entry_qr_menu.show_private_key": {"executed_lines": [3150, 3153, 3154, 3155, 3156], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3149}, "PasswordManager._entry_qr_menu.get_options": {"executed_lines": [3159], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3158}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [3187], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3176}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222], "summary": {"covered_lines": 16, "num_statements": 21, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 76.19047619047619, "percent_statements_covered_display": "76"}, "missing_lines": [3205, 3206, 3207, 3212, 3213], "excluded_lines": [], "start_line": 3190}, "PasswordManager.handle_modify_entry": {"executed_lines": [3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731], "summary": {"covered_lines": 43, "num_statements": 194, "percent_covered": 22.164948453608247, "percent_covered_display": "22", "missing_lines": 151, "excluded_lines": 0, "percent_statements_covered": 22.164948453608247, "percent_statements_covered_display": "22"}, "missing_lines": [3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735], "excluded_lines": [], "start_line": 3225}, "PasswordManager.handle_search_entries": {"executed_lines": [3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793], "summary": {"covered_lines": 27, "num_statements": 35, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 77.14285714285714, "percent_statements_covered_display": "77"}, "missing_lines": [3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788], "excluded_lines": [], "start_line": 3738}, "PasswordManager.display_entry_details": {"executed_lines": [3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979], "summary": {"covered_lines": 105, "num_statements": 140, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 35, "excluded_lines": 2, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968], "excluded_lines": [3871, 3872], "start_line": 3795}, "PasswordManager.handle_list_entries": {"executed_lines": [3983], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3982}, "PasswordManager.delete_entry": {"executed_lines": [3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011], "summary": {"covered_lines": 11, "num_statements": 20, "percent_covered": 55.0, "percent_covered_display": "55", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 55.0, "percent_statements_covered_display": "55"}, "missing_lines": [3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020], "excluded_lines": [], "start_line": 3985}, "PasswordManager.handle_archive_entry": {"executed_lines": [4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 61.53846153846154, "percent_statements_covered_display": "62"}, "missing_lines": [4030, 4031, 4037, 4038, 4039], "excluded_lines": [], "start_line": 4023}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [4044, 4046, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112], "summary": {"covered_lines": 42, "num_statements": 49, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [4084, 4085, 4110, 4114, 4115, 4116, 4117], "excluded_lines": [], "start_line": 4042}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [4049, 4052], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4046}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [4121], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4120}, "PasswordManager.handle_verify_checksum": {"executed_lines": [4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158], "summary": {"covered_lines": 15, "num_statements": 18, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [4159, 4160, 4161], "excluded_lines": [], "start_line": 4124}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190], "excluded_lines": [], "start_line": 4164}, "PasswordManager.get_encrypted_data": {"executed_lines": [4198, 4199, 4200, 4201, 4202], "summary": {"covered_lines": 5, "num_statements": 12, "percent_covered": 41.666666666666664, "percent_covered_display": "42", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 41.666666666666664, "percent_statements_covered_display": "42"}, "missing_lines": [4204, 4205, 4206, 4207, 4208, 4209, 4210], "excluded_lines": [], "start_line": 4192}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4218, 4219, 4220, 4221, 4222, 4225, 4231], "excluded_lines": [], "start_line": 4212}, "PasswordManager.sync_vault_async": {"executed_lines": [4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95"}, "missing_lines": [4296, 4297], "excluded_lines": [], "start_line": 4233}, "PasswordManager.sync_vault": {"executed_lines": [4304], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4301}, "PasswordManager.backup_database": {"executed_lines": [4310, 4311, 4312], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [4313, 4314, 4315], "excluded_lines": [], "start_line": 4306}, "PasswordManager.restore_database": {"executed_lines": [4321, 4322, 4323], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [4328, 4329, 4330], "excluded_lines": [], "start_line": 4317}, "PasswordManager.handle_export_database": {"executed_lines": [4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 70.83333333333333, "percent_covered_display": "71", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71"}, "missing_lines": [4355, 4356, 4375, 4394, 4395, 4396, 4397], "excluded_lines": [], "start_line": 4333}, "PasswordManager.handle_import_database": {"executed_lines": [4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451], "summary": {"covered_lines": 17, "num_statements": 41, "percent_covered": 41.46341463414634, "percent_covered_display": "41", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 41.46341463414634, "percent_statements_covered_display": "41"}, "missing_lines": [4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479], "excluded_lines": [], "start_line": 4400}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546], "summary": {"covered_lines": 25, "num_statements": 41, "percent_covered": 60.97560975609756, "percent_covered_display": "61", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 60.97560975609756, "percent_statements_covered_display": "61"}, "missing_lines": [4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550], "excluded_lines": [], "start_line": 4482}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 74.35897435897436, "percent_statements_covered_display": "74"}, "missing_lines": [4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647], "excluded_lines": [], "start_line": 4553}, "PasswordManager.verify_password": {"executed_lines": [4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679], "summary": {"covered_lines": 8, "num_statements": 25, "percent_covered": 32.0, "percent_covered_display": "32", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 32.0, "percent_statements_covered_display": "32"}, "missing_lines": [4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692], "excluded_lines": [], "start_line": 4649}, "PasswordManager.is_valid_filename": {"executed_lines": [4705, 4706, 4707, 4708, 4709], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4694}, "PasswordManager.store_hashed_password": {"executed_lines": [4716, 4717, 4718, 4719, 4729], "summary": {"covered_lines": 5, "num_statements": 21, "percent_covered": 23.80952380952381, "percent_covered_display": "24", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 23.80952380952381, "percent_statements_covered_display": "24"}, "missing_lines": [4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750], "excluded_lines": [], "start_line": 4711}, "PasswordManager.change_password": {"executed_lines": [4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817], "summary": {"covered_lines": 24, "num_statements": 36, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824], "excluded_lines": [], "start_line": 4752}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896], "excluded_lines": [], "start_line": 4826}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": [], "start_line": 4898}, "": {"executed_lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 126, 143, 160, 166, 191, 192, 195, 196, 199, 211, 214, 220, 229, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1821, 1856, 1970, 1973, 2004, 2012, 2041, 2069, 2132, 2135, 2143, 2154, 2180, 2209, 2219, 2224, 2236, 2237, 2246, 2321, 2322, 2325, 2326, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2819, 2836, 2843, 2866, 2990, 3110, 3176, 3189, 3190, 3224, 3225, 3737, 3738, 3795, 3981, 3982, 3985, 4022, 4023, 4041, 4042, 4119, 4120, 4123, 4124, 4163, 4164, 4192, 4212, 4233, 4301, 4306, 4317, 4332, 4333, 4399, 4400, 4481, 4482, 4552, 4553, 4649, 4694, 4711, 4752, 4826, 4898], "summary": {"covered_lines": 243, "num_statements": 243, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"AuditLogger": {"executed_lines": [127, 128, 129, 130, 131, 144, 145, 150, 151, 154, 155, 156, 157], "summary": {"covered_lines": 13, "num_statements": 23, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 56.52173913043478, "percent_statements_covered_display": "57"}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": [], "start_line": 123}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 192}, "AuthGuard": {"executed_lines": [217, 218, 222, 223, 224, 225, 226], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211}, "PasswordManager": {"executed_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 398, 399, 400, 401, 409, 411, 413, 416, 427, 428, 429, 430, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 510, 512, 516, 521, 541, 542, 543, 544, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 574, 578, 579, 583, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756, 778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848, 853, 854, 855, 858, 869, 874, 876, 877, 878, 884, 891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104, 1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140, 1149, 1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1549, 1550, 1551, 1552, 1553, 1554, 1566, 1567, 1568, 1569, 1570, 1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814, 1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849, 1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966, 1971, 1975, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2006, 2007, 2009, 2014, 2021, 2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036, 2038, 2039, 2043, 2046, 2047, 2048, 2049, 2050, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067, 2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2126, 2130, 2133, 2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178, 2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207, 2210, 2211, 2221, 2222, 2226, 2227, 2233, 2234, 2239, 2240, 2323, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390, 2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817, 2838, 2839, 2840, 2841, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864, 2870, 2872, 2874, 2875, 2876, 2878, 2879, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2900, 2915, 2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934, 2936, 2937, 2938, 2940, 2941, 2942, 2943, 2945, 2959, 2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986, 2988, 2994, 2996, 2998, 2999, 3000, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3074, 3084, 3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102, 3104, 3113, 3115, 3116, 3131, 3132, 3134, 3136, 3137, 3138, 3140, 3141, 3144, 3145, 3146, 3147, 3149, 3150, 3153, 3154, 3155, 3156, 3158, 3159, 3164, 3169, 3187, 3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731, 3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793, 3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979, 3983, 3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011, 4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036, 4044, 4046, 4049, 4052, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112, 4121, 4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158, 4198, 4199, 4200, 4201, 4202, 4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299, 4304, 4310, 4311, 4312, 4321, 4322, 4323, 4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393, 4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451, 4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546, 4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644, 4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679, 4705, 4706, 4707, 4708, 4709, 4716, 4717, 4718, 4719, 4729, 4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817], "summary": {"covered_lines": 1402, "num_statements": 2478, "percent_covered": 56.57788539144472, "percent_covered_display": "57", "missing_lines": 1076, "excluded_lines": 11, "percent_statements_covered": 56.57788539144472, "percent_statements_covered_display": "57"}, "missing_lines": [337, 338, 339, 347, 386, 412, 431, 493, 494, 505, 511, 517, 518, 519, 526, 527, 528, 529, 530, 533, 534, 535, 536, 545, 546, 571, 572, 584, 616, 644, 646, 682, 683, 684, 687, 736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771, 793, 794, 797, 832, 841, 859, 865, 886, 887, 893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1089, 1090, 1091, 1092, 1095, 1100, 1103, 1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144, 1155, 1186, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1305, 1307, 1322, 1323, 1327, 1358, 1359, 1360, 1364, 1365, 1366, 1372, 1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455, 1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537, 1555, 1556, 1557, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1602, 1603, 1644, 1645, 1646, 1647, 1663, 1664, 1665, 1668, 1674, 1675, 1676, 1677, 1687, 1791, 1792, 1842, 1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968, 1982, 2008, 2010, 2019, 2044, 2051, 2052, 2053, 2054, 2077, 2120, 2127, 2128, 2141, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2157, 2163, 2164, 2165, 2192, 2201, 2204, 2241, 2242, 2243, 2244, 2261, 2262, 2263, 2265, 2266, 2268, 2269, 2270, 2271, 2272, 2273, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790, 2797, 2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913, 2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957, 2984, 3003, 3004, 3005, 3006, 3007, 3008, 3011, 3012, 3013, 3014, 3015, 3016, 3019, 3020, 3021, 3022, 3023, 3024, 3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3040, 3041, 3045, 3046, 3047, 3048, 3051, 3052, 3053, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3072, 3075, 3076, 3077, 3078, 3079, 3080, 3082, 3089, 3090, 3092, 3093, 3096, 3097, 3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171, 3205, 3206, 3207, 3212, 3213, 3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735, 3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788, 3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968, 3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020, 4030, 4031, 4037, 4038, 4039, 4084, 4085, 4110, 4114, 4115, 4116, 4117, 4159, 4160, 4161, 4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4218, 4219, 4220, 4221, 4222, 4225, 4231, 4296, 4297, 4313, 4314, 4315, 4328, 4329, 4330, 4355, 4356, 4375, 4394, 4395, 4396, 4397, 4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479, 4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550, 4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647, 4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692, 4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750, 4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824, 4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896, 4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": [2123, 2124, 2151, 2152, 2228, 2229, 3172, 3173, 3174, 3871, 3872], "start_line": 229}, "": {"executed_lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 126, 143, 160, 162, 163, 166, 191, 192, 195, 196, 199, 202, 203, 204, 206, 208, 211, 214, 220, 229, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1821, 1856, 1970, 1973, 2004, 2012, 2041, 2069, 2132, 2135, 2143, 2154, 2180, 2209, 2219, 2224, 2236, 2237, 2246, 2321, 2322, 2325, 2326, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2819, 2836, 2843, 2866, 2990, 3110, 3176, 3189, 3190, 3224, 3225, 3737, 3738, 3795, 3981, 3982, 3985, 4022, 4023, 4041, 4042, 4119, 4120, 4123, 4124, 4163, 4164, 4192, 4212, 4233, 4301, 4306, 4317, 4332, 4333, 4399, 4400, 4481, 4482, 4552, 4553, 4649, 4694, 4711, 4752, 4826, 4898], "summary": {"covered_lines": 250, "num_statements": 260, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96"}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188, 205], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 20, 23, 24, 26, 27, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97, 102, 103, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 145, 146, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 118, "num_statements": 145, "percent_covered": 81.37931034482759, "percent_covered_display": "81", "missing_lines": 27, "excluded_lines": 8, "percent_statements_covered": 81.37931034482759, "percent_statements_covered_display": "81"}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96, 143, 171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [16, 17, 98, 99, 100, 253, 254, 255], "functions": {"MenuHandler.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "MenuHandler.handle_list_entries": {"executed_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97], "summary": {"covered_lines": 36, "num_statements": 44, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 8, "excluded_lines": 3, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96], "excluded_lines": [98, 99, 100], "start_line": 27}, "MenuHandler.run_menu": {"executed_lines": [117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [143], "excluded_lines": [], "start_line": 103}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 47, "num_statements": 65, "percent_covered": 72.3076923076923, "percent_covered_display": "72", "missing_lines": 18, "excluded_lines": 3, "percent_statements_covered": 72.3076923076923, "percent_statements_covered_display": "72"}, "missing_lines": [171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [253, 254, 255], "start_line": 146}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 20, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [16, 17], "start_line": 1}}, "classes": {"MenuHandler": {"executed_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 99, "num_statements": 126, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 27, "excluded_lines": 6, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96, 143, 171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [98, 99, 100, 253, 254, 255], "start_line": 20}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 20, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [16, 17], "start_line": 1}}}, "src/seedpass/core/migrations.py": {"executed_lines": [3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 68, 71, 74, 76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97"}, "missing_lines": [78, 83], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_v0_to_v1": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "_v1_to_v2": {"executed_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "_v2_to_v3": {"executed_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "_v3_to_v4": {"executed_lines": [64, 65, 66, 67, 68], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "apply_migrations": {"executed_lines": [76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [78, 83], "excluded_lines": [], "start_line": 74}, "": {"executed_lines": [3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 68, 71, 74, 76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97"}, "missing_lines": [78, 83], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 68, 69, 70, 71, 72, 73, 74, 75, 78, 81, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 96, 105, 120, 121, 122, 123, 124, 126, 127, 129, 133, 139, 141, 142, 144, 151, 152, 154, 155, 156, 158, 160, 161, 162, 164, 173, 174, 175, 176, 177, 178, 179, 180, 182, 185, 186, 187, 188, 189, 191, 212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 285, 294, 295, 296, 297, 298, 300, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 345, 349, 350, 351, 352, 354, 360, 362, 363, 364, 365, 367, 377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 410, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 491, 493, 496, 499, 500, 501, 503, 504, 510, 511, 516, 519, 521, 524, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 568, 569, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 280, "num_statements": 292, "percent_covered": 95.89041095890411, "percent_covered_display": "96", "missing_lines": 12, "excluded_lines": 7, "percent_statements_covered": 95.89041095890411, "percent_statements_covered_display": "96"}, "missing_lines": [134, 135, 136, 137, 222, 225, 361, 387, 485, 486, 487, 488], "excluded_lines": [571, 572, 573, 574, 575, 576, 577], "functions": {"DeterministicStream.__init__": {"executed_lines": [82, 83, 84], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "DeterministicStream.get_value": {"executed_lines": [87, 88, 89], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86}, "DeterministicStream.current_index": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92}, "PasswordGenerator.__init__": {"executed_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [134, 135, 136, 137], "excluded_lines": [], "start_line": 105}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [141, 142, 144, 151, 152, 154, 155, 156], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [160, 161, 162], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [173, 174, 175, 176, 177, 178, 179, 180], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [185, 186, 187, 188, 189], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 182}, "PasswordGenerator.generate_password": {"executed_lines": [212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.1219512195122, "percent_statements_covered_display": "95"}, "missing_lines": [222, 225], "excluded_lines": [], "start_line": 191}, "PasswordGenerator._count_char_types": {"executed_lines": [294, 295, 296, 297, 298], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 285}, "PasswordGenerator._enforce_minimum_counts": {"executed_lines": [311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 300}, "PasswordGenerator._add_additional_symbols": {"executed_lines": [349, 350, 351, 352, 354, 360, 362, 363, 364, 365], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [361], "excluded_lines": [], "start_line": 345}, "PasswordGenerator._balance_distribution": {"executed_lines": [377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.29629629629629, "percent_statements_covered_display": "96"}, "missing_lines": [387], "excluded_lines": [], "start_line": 367}, "PasswordGenerator._enforce_complexity": {"executed_lines": [426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483], "summary": {"covered_lines": 23, "num_statements": 27, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 85.18518518518519, "percent_statements_covered_display": "85"}, "missing_lines": [485, 486, 487, 488], "excluded_lines": [], "start_line": 410}, "derive_ssh_key": {"executed_lines": [493], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 491}, "derive_ssh_key_pair": {"executed_lines": [499, 500, 501, 503, 504, 510, 511, 516], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 496}, "derive_seed_phrase": {"executed_lines": [521], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 519}, "derive_pgp_key": {"executed_lines": [535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [571], "start_line": 524}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [568, 569], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 567}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577], "start_line": 571}, "": {"executed_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 68, 69, 70, 71, 72, 73, 74, 75, 78, 81, 86, 91, 92, 96, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "DeterministicStream": {"executed_lines": [82, 83, 84, 87, 88, 89, 93], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "PasswordGenerator": {"executed_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483], "summary": {"covered_lines": 165, "num_statements": 177, "percent_covered": 93.22033898305085, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 93.22033898305085, "percent_statements_covered_display": "93"}, "missing_lines": [134, 135, 136, 137, 222, 225, 361, 387, 485, 486, 487, 488], "excluded_lines": [], "start_line": 96}, "derive_pgp_key.DRNG": {"executed_lines": [568, 569], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577], "start_line": 564}, "": {"executed_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 68, 69, 70, 71, 72, 73, 74, 75, 78, 81, 86, 91, 92, 96, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 493, 496, 499, 500, 501, 503, 504, 510, 511, 516, 519, 521, 524, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [571], "start_line": 1}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 35, 36, 39, 42, 45, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121, 124, 132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 71, "num_statements": 84, "percent_covered": 84.52380952380952, "percent_covered_display": "85", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 84.52380952380952, "percent_statements_covered_display": "85"}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 134, 138, 156], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "export_backup": {"executed_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121], "summary": {"covered_lines": 25, "num_statements": 35, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119], "excluded_lines": [], "start_line": 45}, "import_backup": {"executed_lines": [132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 20, "num_statements": 23, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.95652173913044, "percent_statements_covered_display": "87"}, "missing_lines": [134, 138, 156], "excluded_lines": [], "start_line": 124}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 35, 36, 39, 42, 45, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121, 124, 132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 71, "num_statements": 84, "percent_covered": 84.52380952380952, "percent_covered_display": "85", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 84.52380952380952, "percent_statements_covered_display": "85"}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 134, 138, 156], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 17, 20, 21, 23, 25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 38, "num_statements": 51, "percent_covered": 74.50980392156863, "percent_covered_display": "75", "missing_lines": 13, "excluded_lines": 7, "percent_statements_covered": 74.50980392156863, "percent_statements_covered_display": "75"}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 28, "num_statements": 41, "percent_covered": 68.29268292682927, "percent_covered_display": "68", "missing_lines": 13, "excluded_lines": 4, "percent_statements_covered": 68.29268292682927, "percent_statements_covered_display": "68"}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [106, 107, 108, 109], "start_line": 23}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 17, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 14], "start_line": 1}}, "classes": {"ProfileService": {"executed_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 29, "num_statements": 42, "percent_covered": 69.04761904761905, "percent_covered_display": "69", "missing_lines": 13, "excluded_lines": 4, "percent_statements_covered": 69.04761904761905, "percent_statements_covered_display": "69"}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [106, 107, 108, 109], "start_line": 17}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 17, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 14], "start_line": 1}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 8, 9, 11, 13, 15, 17, 18, 20, 22, 23, 27], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "PubSub.subscribe": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "PubSub.unsubscribe": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "PubSub.publish": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 5, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"PubSub": {"executed_lines": [9, 13, 17, 18, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "": {"executed_lines": [1, 2, 5, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 5, 6, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/semantic_index.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 27, 28, 29, 31, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 84, 88, 89, 99, 100, 102, 109, 116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153, 155, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179, 181, 182, 183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217, 219, 220, 221, 222, 224, 226, 227, 228, 229, 230, 231, 235, 236, 237, 242, 243, 244, 245, 246, 247], "summary": {"covered_lines": 127, "num_statements": 154, "percent_covered": 82.46753246753246, "percent_covered_display": "82", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 82.46753246753246, "percent_statements_covered_display": "82"}, "missing_lines": [103, 104, 105, 106, 107, 118, 121, 127, 134, 162, 169, 202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215, 223, 232, 233, 248, 249], "excluded_lines": [], "functions": {"SemanticIndex.__init__": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "SemanticIndex.status": {"executed_lines": [50, 51, 52, 53, 54], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "SemanticIndex.set_enabled": {"executed_lines": [64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "SemanticIndex.build": {"executed_lines": [72, 73, 74, 84, 88, 89, 99, 100], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71}, "SemanticIndex.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": [], "start_line": 102}, "SemanticIndex.search": {"executed_lines": [116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85"}, "missing_lines": [118, 121, 127, 134], "excluded_lines": [], "start_line": 109}, "SemanticIndex._records_from_entries": {"executed_lines": [158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [162, 169], "excluded_lines": [], "start_line": 155}, "SemanticIndex._extract_text": {"executed_lines": [183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217], "summary": {"covered_lines": 19, "num_statements": 30, "percent_covered": 63.333333333333336, "percent_covered_display": "63", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 63.333333333333336, "percent_statements_covered_display": "63"}, "missing_lines": [202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215], "excluded_lines": [], "start_line": 182}, "SemanticIndex._tokenize": {"executed_lines": [221, 222, 224], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [223], "excluded_lines": [], "start_line": 220}, "SemanticIndex._load_manifest": {"executed_lines": [227, 228, 229, 230, 231], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [232, 233], "excluded_lines": [], "start_line": 226}, "SemanticIndex._save_manifest": {"executed_lines": [236, 237], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 235}, "SemanticIndex._load_records": {"executed_lines": [243, 244, 245, 246, 247], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [248, 249], "excluded_lines": [], "start_line": 242}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 27, 28, 29, 31, 43, 49, 63, 71, 102, 109, 155, 181, 182, 219, 220, 226, 235, 242], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SemanticRecord": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "SemanticIndex": {"executed_lines": [44, 45, 46, 47, 50, 51, 52, 53, 54, 64, 65, 66, 67, 68, 69, 72, 73, 74, 84, 88, 89, 99, 100, 116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179, 183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217, 221, 222, 224, 227, 228, 229, 230, 231, 236, 237, 243, 244, 245, 246, 247], "summary": {"covered_lines": 91, "num_statements": 118, "percent_covered": 77.11864406779661, "percent_covered_display": "77", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 77.11864406779661, "percent_statements_covered_display": "77"}, "missing_lines": [103, 104, 105, 106, 107, 118, 121, 127, 134, 162, 169, 202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215, 223, 232, 233, 248, 249], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 27, 28, 29, 31, 43, 49, 63, 71, 102, 109, 155, 181, 182, 219, 220, 226, 235, 242], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 15, 17, 18, 19, 21, 22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 67, 68, 69, 70, 73, 74, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 59, "num_statements": 65, "percent_covered": 90.76923076923077, "percent_covered_display": "91", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 90.76923076923077, "percent_statements_covered_display": "91"}, "missing_lines": [35, 45, 46, 80, 89, 91], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "StateManager._load": {"executed_lines": [22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53], "summary": {"covered_lines": 15, "num_statements": 18, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [35, 45, 46], "excluded_lines": [], "start_line": 21}, "StateManager._save": {"executed_lines": [56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "StateManager.state": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "StateManager.update_state": {"executed_lines": [68, 69, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67}, "StateManager.list_relays": {"executed_lines": [74], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "StateManager.add_relay": {"executed_lines": [77, 78, 79, 81, 82, 83], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [80], "excluded_lines": [], "start_line": 76}, "StateManager.remove_relay": {"executed_lines": [86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [89, 91], "excluded_lines": [], "start_line": 85}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"StateManager": {"executed_lines": [18, 19, 22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 41, "num_statements": 47, "percent_covered": 87.23404255319149, "percent_covered_display": "87", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 87.23404255319149, "percent_statements_covered_display": "87"}, "missing_lines": [35, 45, 46, 80, 89, 91], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [3, 6, 9, 10, 12, 14, 15, 16, 18, 20], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "StatsManager.display_stats_once": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "StatsManager.reset": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [3, 6, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"StatsManager": {"executed_lines": [10, 14, 15, 16, 20], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [3, 6, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/sync_conflict.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 14, 15, 18, 19, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 41, 42, 45, 46, 47, 50, 51, 52, 53, 63, 66, 67, 68, 70, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 91, 94, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 121, 122, 125, 132, 133, 134, 135, 136, 139, 140, 141, 152, 155, 156, 157, 158, 159, 160, 161, 162, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 189, 193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 162, "num_statements": 186, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87"}, "missing_lines": [25, 26, 34, 54, 60, 69, 76, 79, 84, 196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": [], "functions": {"_canonical": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "_entry_hash": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "_entry_ts": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_safe_int": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [25, 26], "excluded_lines": [], "start_line": 22}, "_is_empty": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [34], "excluded_lines": [], "start_line": 29}, "_entry_kind": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "_is_deleted_entry": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "_entry_event_hash": {"executed_lines": [46, 47], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "_tombstone_event_hash": {"executed_lines": [51, 52, 53], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [54, 60], "excluded_lines": [], "start_line": 50}, "_prefer_tombstone": {"executed_lines": [66, 67, 68, 70], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [69], "excluded_lines": [], "start_line": 63}, "_normalize_tombstones": {"executed_lines": [74, 75, 77, 78, 80, 81, 82, 83, 85, 91], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [76, 79, 84], "excluded_lines": [], "start_line": 73}, "_merge_tombstones": {"executed_lines": [97, 98, 99, 100, 101, 102], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "_max_entry_ts": {"executed_lines": [106, 107, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105}, "_max_tombstone_ts": {"executed_lines": [116, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115}, "_prefer_entry": {"executed_lines": [132, 133, 134, 135, 136], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "_union_fields_for_kind": {"executed_lines": [140, 141, 152], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139}, "_merge_list_union": {"executed_lines": [156, 157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "_merge_equal_ts_entries": {"executed_lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165}, "merge_index_payloads": {"executed_lines": [193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 59, "num_statements": 74, "percent_covered": 79.72972972972973, "percent_covered_display": "80", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 79.72972972972973, "percent_statements_covered_display": "80"}, "missing_lines": [196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": [], "start_line": 189}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 14, 15, 18, 19, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 41, 42, 45, 46, 47, 50, 51, 52, 53, 63, 66, 67, 68, 70, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 91, 94, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 121, 122, 125, 132, 133, 134, 135, 136, 139, 140, 141, 152, 155, 156, 157, 158, 159, 160, 161, 162, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 189, 193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 162, "num_statements": 186, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87"}, "missing_lines": [25, 26, 34, 54, 60, 69, 76, 79, 84, 196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/totp.py": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 22, 25, 28, 29, 31, 33, 34, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 70, 71, 73, 74, 76, 77, 78, 80, 81, 83, 84, 85, 86, 94, 95, 97, 98, 100, 101, 102, 103], "summary": {"covered_lines": 64, "num_statements": 71, "percent_covered": 90.14084507042253, "percent_covered_display": "90", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 90.14084507042253, "percent_statements_covered_display": "90"}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "TotpManager.derive_secret": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "TotpManager.current_code": {"executed_lines": [38, 39, 40, 41, 42], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "TotpManager.current_code_from_secret": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "TotpManager.parse_otpauth": {"executed_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "TotpManager.make_otpauth_uri": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "TotpManager.time_remaining": {"executed_lines": [76, 77, 78], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "TotpManager.print_progress_bar": {"executed_lines": [83, 84, 85, 86, 94, 95], "summary": {"covered_lines": 6, "num_statements": 13, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 46.15384615384615, "percent_statements_covered_display": "46"}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": [], "start_line": 81}, "TotpManager.print_qr_code": {"executed_lines": [100, 101, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"TotpManager": {"executed_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70, 71, 76, 77, 78, 83, 84, 85, 86, 94, 95, 100, 101, 102, 103], "summary": {"covered_lines": 34, "num_statements": 41, "percent_covered": 82.92682926829268, "percent_covered_display": "83", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 82.92682926829268, "percent_statements_covered_display": "83"}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 22, 25, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/core/vault.py": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 24, 25, 27, 32, 33, 34, 35, 36, 38, 40, 42, 43, 48, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237, 239, 241, 245, 247, 249, 264, 267, 270, 271, 272, 275, 277, 279, 281], "summary": {"covered_lines": 119, "num_statements": 140, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 85.0, "percent_statements_covered_display": "85"}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [32, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "Vault.set_encryption_manager": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "Vault._hkdf_kdf": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "Vault.load_index": {"executed_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237], "summary": {"covered_lines": 82, "num_statements": 103, "percent_covered": 79.6116504854369, "percent_covered_display": "80", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 79.6116504854369, "percent_statements_covered_display": "80"}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": [], "start_line": 48}, "Vault.save_index": {"executed_lines": [241], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 239}, "Vault.get_encrypted_index": {"executed_lines": [247], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 245}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [264, 267, 270, 271, 272], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 249}, "Vault.load_config": {"executed_lines": [277], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 275}, "Vault.save_config": {"executed_lines": [281], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Vault": {"executed_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "summary": {"covered_lines": 98, "num_statements": 119, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82"}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/errors.py": {"executed_lines": [3, 6, 9, 10, 13], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 6, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"VaultLockedError": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [3, 6, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/release_integrity.py": {"executed_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 73, 77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 58, "num_statements": 68, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 85.29411764705883, "percent_statements_covered_display": "85"}, "missing_lines": [24, 60, 62, 69, 83, 86, 87, 88, 91, 92], "excluded_lines": [], "functions": {"_file_sha256": {"executed_lines": [11, 12, 13, 14, 15], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "collect_artifacts": {"executed_lines": [20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [24], "excluded_lines": [], "start_line": 18}, "generate_checksums": {"executed_lines": [42, 43, 44, 45, 46, 47, 52, 53], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "parse_checksum_line": {"executed_lines": [58, 59, 61, 63, 64, 65, 66, 67, 68, 70], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [60, 62, 69], "excluded_lines": [], "start_line": 56}, "verify_checksums": {"executed_lines": [77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 12, "num_statements": 18, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [83, 86, 87, 88, 91, 92], "excluded_lines": [], "start_line": 73}, "": {"executed_lines": [3, 5, 6, 7, 10, 18, 38, 56, 73], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 73, 77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 58, "num_statements": 68, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 85.29411764705883, "percent_statements_covered_display": "85"}, "missing_lines": [24, 60, 62, 69, 83, 86, 87, 88, 91, 92], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/tui_v2/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/seedpass/tui_v2/app.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88], "summary": {"covered_lines": 47, "num_statements": 2956, "percent_covered": 1.5899864682002707, "percent_covered_display": "2", "missing_lines": 2909, "excluded_lines": 2, "percent_statements_covered": 1.5899864682002707, "percent_statements_covered_display": "2"}, "missing_lines": [13, 14, 36, 64, 105, 106, 107, 109, 110, 111, 112, 114, 115, 119, 120, 121, 122, 124, 125, 126, 128, 281, 313, 314, 315, 316, 317, 318, 319, 321, 322, 323, 366, 367, 368, 369, 370, 371, 372, 373, 374, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 392, 395, 396, 398, 402, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 449, 450, 451, 457, 460, 461, 466, 467, 468, 469, 470, 475, 476, 477, 478, 479, 482, 483, 484, 485, 486, 489, 490, 491, 492, 493, 498, 499, 500, 501, 502, 505, 506, 507, 508, 509, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 528, 530, 531, 532, 533, 534, 539, 540, 541, 543, 544, 545, 546, 547, 548, 549, 551, 552, 553, 555, 556, 557, 558, 559, 560, 562, 563, 565, 566, 567, 572, 573, 584, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606, 608, 609, 610, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628, 632, 633, 634, 635, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 662, 664, 665, 666, 672, 676, 677, 679, 680, 708, 709, 722, 723, 753, 754, 755, 756, 757, 758, 759, 777, 779, 780, 781, 782, 783, 785, 787, 788, 789, 793, 801, 802, 803, 804, 806, 807, 808, 810, 811, 812, 815, 816, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836, 837, 839, 840, 844, 845, 850, 851, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 864, 866, 871, 872, 877, 933, 934, 935, 936, 938, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 959, 960, 961, 962, 967, 968, 971, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 986, 987, 988, 989, 990, 991, 992, 993, 994, 997, 998, 1001, 1005, 1013, 1016, 1019, 1020, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1069, 1070, 1074, 1075, 1078, 1081, 1082, 1083, 1084, 1088, 1089, 1090, 1092, 1095, 1096, 1097, 1098, 1109, 1110, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1121, 1122, 1125, 1127, 1128, 1129, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1142, 1143, 1144, 1145, 1146, 1147, 1149, 1150, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1176, 1177, 1179, 1180, 1181, 1182, 1183, 1196, 1198, 1199, 1200, 1201, 1215, 1217, 1218, 1219, 1220, 1232, 1234, 1235, 1236, 1237, 1250, 1252, 1253, 1265, 1267, 1268, 1269, 1282, 1284, 1285, 1286, 1298, 1300, 1301, 1302, 1303, 1304, 1315, 1317, 1322, 1323, 1324, 1329, 1330, 1331, 1332, 1335, 1336, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1347, 1348, 1354, 1355, 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1375, 1377, 1378, 1379, 1380, 1381, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1407, 1408, 1409, 1410, 1411, 1414, 1415, 1418, 1419, 1420, 1427, 1428, 1429, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1441, 1442, 1443, 1449, 1451, 1452, 1454, 1461, 1462, 1463, 1465, 1466, 1470, 1471, 1472, 1478, 1480, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1510, 1512, 1513, 1514, 1515, 1525, 1526, 1527, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1571, 1574, 1575, 1576, 1577, 1579, 1582, 1583, 1585, 1589, 1590, 1592, 1593, 1594, 1597, 1605, 1606, 1607, 1609, 1610, 1618, 1619, 1620, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1636, 1638, 1641, 1655, 1656, 1659, 1667, 1668, 1671, 1683, 1684, 1685, 1686, 1688, 1689, 1697, 1703, 1706, 1707, 1708, 1710, 1713, 1714, 1717, 1718, 1728, 1730, 1736, 1737, 1742, 1746, 1751, 1754, 1756, 1757, 1758, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1773, 1774, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1785, 1786, 1790, 1791, 1792, 1794, 1795, 1796, 1797, 1798, 1799, 1801, 1802, 1803, 1804, 1805, 1807, 1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1832, 1833, 1834, 1835, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1868, 1870, 1871, 1872, 1873, 1874, 1877, 1878, 1879, 1880, 1881, 1882, 1888, 1890, 1891, 1892, 1898, 1899, 1903, 1904, 1905, 1906, 1907, 1908, 1913, 1916, 1923, 1924, 1926, 1927, 1928, 1930, 1931, 1932, 1933, 1934, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1964, 1965, 1966, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2033, 2034, 2035, 2036, 2037, 2038, 2040, 2041, 2042, 2045, 2047, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2057, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2102, 2103, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2115, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2196, 2199, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2239, 2240, 2241, 2242, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2263, 2264, 2265, 2266, 2269, 2270, 2271, 2272, 2274, 2275, 2276, 2282, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2337, 2338, 2339, 2340, 2341, 2342, 2348, 2350, 2351, 2352, 2353, 2354, 2355, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2405, 2406, 2407, 2408, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2442, 2444, 2445, 2446, 2447, 2448, 2449, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2465, 2466, 2467, 2468, 2469, 2470, 2476, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2509, 2511, 2512, 2513, 2514, 2515, 2516, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2544, 2545, 2546, 2547, 2548, 2549, 2555, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2588, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2621, 2622, 2623, 2624, 2625, 2626, 2632, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2665, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2681, 2683, 2684, 2685, 2686, 2687, 2693, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2714, 2715, 2716, 2722, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2743, 2744, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2764, 2766, 2767, 2768, 2769, 2770, 2776, 2778, 2779, 2780, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2804, 2807, 2813, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2834, 2835, 2840, 2846, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2885, 2886, 2887, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2906, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2939, 2940, 2941, 2944, 2945, 2951, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3008, 3009, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3026, 3027, 3028, 3029, 3035, 3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3057, 3058, 3059, 3060, 3061, 3062, 3068, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3084, 3085, 3086, 3092, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3108, 3111, 3112, 3113, 3114, 3115, 3121, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3150, 3152, 3153, 3154, 3155, 3156, 3157, 3159, 3160, 3161, 3162, 3163, 3164, 3166, 3167, 3168, 3169, 3170, 3171, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3210, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3239, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3268, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3297, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3326, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3375, 3376, 3377, 3378, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3416, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3440, 3441, 3447, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3473, 3474, 3480, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3501, 3502, 3503, 3508, 3509, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3520, 3521, 3526, 3527, 3528, 3529, 3530, 3531, 3537, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3554, 3555, 3556, 3562, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3586, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3622, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3647, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3671, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3690, 3691, 3697, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3711, 3712, 3713, 3714, 3715, 3718, 3719, 3725, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3741, 3742, 3743, 3744, 3745, 3751, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3772, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3820, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3832, 3833, 3834, 3835, 3836, 3837, 3843, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3867, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3884, 3885, 3886, 3887, 3893, 3895, 3896, 3897, 3898, 3899, 3900, 3903, 3904, 3905, 3906, 3907, 3909, 3912, 3913, 3914, 3916, 3917, 3918, 3924, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3947, 3948, 3949, 3950, 3956, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3981, 3982, 3983, 3984, 3985, 3986, 3988, 3989, 3990, 3991, 3992, 3993, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4019, 4020, 4021, 4022, 4023, 4024, 4030, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4041, 4042, 4043, 4044, 4045, 4046, 4048, 4049, 4050, 4053, 4054, 4055, 4056, 4057, 4063, 4064, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4080, 4081, 4084, 4085, 4087, 4088, 4089, 4092, 4093, 4094, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4110, 4111, 4117, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4145, 4147, 4148, 4149, 4151, 4152, 4153, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4181, 4182, 4183, 4184, 4185, 4186, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4204, 4205, 4206, 4209, 4210, 4216, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4237, 4238, 4239, 4242, 4243, 4249, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4298, 4300, 4301, 4302, 4303, 4304, 4305, 4307, 4308, 4309, 4310, 4311, 4312, 4314, 4315, 4316, 4317, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4329, 4330, 4331, 4333, 4334, 4335, 4336, 4337, 4338, 4339, 4340, 4343, 4344, 4345, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4367, 4370, 4371, 4372, 4373, 4374, 4375, 4382, 4383, 4384, 4385, 4386, 4388, 4389, 4390, 4391, 4393, 4394, 4395, 4396, 4397, 4398, 4399, 4400, 4401, 4402, 4404, 4405, 4406, 4407, 4408, 4409, 4410, 4411, 4412, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4426, 4427, 4429, 4430, 4442, 4443, 4444, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4453, 4454, 4455, 4457, 4458, 4459, 4460, 4461, 4464, 4465, 4466, 4468, 4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476, 4477, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4490, 4491, 4492, 4493, 4494, 4495, 4496, 4497, 4505, 4510, 4511, 4512, 4513, 4515, 4516, 4517, 4518, 4519, 4522, 4523, 4527, 4528, 4529, 4530, 4531, 4534, 4535, 4539, 4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4551, 4553, 4554, 4555, 4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, 4564, 4566, 4568, 4569, 4570, 4571, 4572, 4574, 4575, 4576, 4577, 4578, 4580, 4581, 4582, 4583, 4584, 4585, 4586, 4587, 4588, 4589, 4591, 4593, 4594, 4595, 4596, 4597, 4598, 4599, 4601, 4602, 4605, 4606, 4607, 4609, 4610, 4611, 4612, 4613, 4614, 4616, 4617, 4618, 4621, 4622, 4623, 4624, 4625, 4632, 4633, 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4643, 4644, 4645, 4648, 4649, 4650, 4652, 4653, 4654, 4655, 4661, 4662, 4663, 4664, 4665, 4667, 4668, 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4678, 4679, 4682, 4683, 4684, 4685, 4691, 4692, 4693, 4694, 4695, 4697, 4698, 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, 4714, 4721, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739, 4741, 4742, 4748, 4750, 4751, 4753, 4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774, 4775, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4787, 4788, 4789, 4790, 4791, 4792, 4794, 4795, 4796, 4797, 4798, 4799], "excluded_lines": [116, 117], "functions": {"check_tui2_runtime": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14], "excluded_lines": [], "start_line": 11}, "parse_palette_command": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35, 37], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [36], "excluded_lines": [], "start_line": 26}, "pagination_window": {"executed_lines": [47, 48, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "truncate_entry_for_display": {"executed_lines": [61, 62, 63, 65, 66, 67, 70, 71], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [64], "excluded_lines": [], "start_line": 57}, "render_qr_ascii": {"executed_lines": [76, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "launch_tui2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 131, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 131, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 106, 107, 109, 110, 111, 112, 114, 115, 119, 120, 124, 125, 126, 128, 281, 313, 314, 315, 316, 317, 318, 319, 321, 410, 530, 543, 551, 562, 565, 586, 612, 632, 664, 676, 679, 708, 722, 753, 779, 787, 793, 806, 810, 827, 832, 839, 853, 938, 967, 973, 1056, 1121, 1127, 1128, 1133, 1134, 1142, 1143, 1149, 1173, 1329, 1383, 1427, 1504, 1512, 1525, 1526, 1538, 1549, 1560, 1571, 1703, 1710, 1794, 1807, 1818, 1837, 1838, 1845, 1870, 1926, 1930, 1936, 1946, 1954, 1968, 2049, 2057, 2085, 2086, 2094, 4300, 4307, 4314, 4319, 4333, 4347, 4382, 4388, 4393, 4404, 4419, 4429, 4447, 4457, 4468, 4479, 4490, 4515, 4527, 4539, 4553, 4568, 4574, 4580, 4593, 4632, 4670, 4721, 4741, 4750, 4753, 4777, 4787, 4794, 4795, 4796, 4797, 4798, 4799], "excluded_lines": [116, 117], "start_line": 88}, "launch_tui2.EntryListItem.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [121, 122], "excluded_lines": [], "start_line": 120}, "launch_tui2.SeedPassTuiV2.compose": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [322, 323, 366, 367, 368, 369, 370, 371, 372, 373, 374, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 392, 395, 396, 398, 402, 406, 407, 408], "excluded_lines": [], "start_line": 321}, "launch_tui2.SeedPassTuiV2.on_mount": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 449, 450, 451, 457, 460, 461, 466, 467, 468, 469, 470, 475, 476, 477, 478, 479, 482, 483, 484, 485, 486, 489, 490, 491, 492, 493, 498, 499, 500, 501, 502, 505, 506, 507, 508, 509, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 528], "excluded_lines": [], "start_line": 410}, "launch_tui2.SeedPassTuiV2._set_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [531, 532, 533, 534, 539, 540, 541], "excluded_lines": [], "start_line": 530}, "launch_tui2.SeedPassTuiV2._log_activity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [544, 545, 546, 547, 548, 549], "excluded_lines": [], "start_line": 543}, "launch_tui2.SeedPassTuiV2._update_activity_panel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [552, 553, 555, 556, 557, 558, 559, 560], "excluded_lines": [], "start_line": 551}, "launch_tui2.SeedPassTuiV2._set_secret_panel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [563], "excluded_lines": [], "start_line": 562}, "launch_tui2.SeedPassTuiV2._update_top_ribbon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [566, 567, 572, 573, 584], "excluded_lines": [], "start_line": 565}, "launch_tui2.SeedPassTuiV2._refresh_semantic_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606, 608, 609, 610], "excluded_lines": [], "start_line": 586}, "launch_tui2.SeedPassTuiV2._refresh_profile_tree": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628], "excluded_lines": [], "start_line": 612}, "launch_tui2.SeedPassTuiV2._update_action_strip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [633, 634, 635, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 662], "excluded_lines": [], "start_line": 632}, "launch_tui2.SeedPassTuiV2._update_grid_heading": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [665, 666, 672], "excluded_lines": [], "start_line": 664}, "launch_tui2.SeedPassTuiV2._quickstart_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [677], "excluded_lines": [], "start_line": 676}, "launch_tui2.SeedPassTuiV2._onboarding_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [680], "excluded_lines": [], "start_line": 679}, "launch_tui2.SeedPassTuiV2._palette_help_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [709], "excluded_lines": [], "start_line": 708}, "launch_tui2.SeedPassTuiV2._palette_reference_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [723], "excluded_lines": [], "start_line": 722}, "launch_tui2.SeedPassTuiV2._update_help_overlay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [754, 755, 756, 757, 758, 759, 777], "excluded_lines": [], "start_line": 753}, "launch_tui2.SeedPassTuiV2._apply_focus_style": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [780, 781, 782, 783, 785], "excluded_lines": [], "start_line": 779}, "launch_tui2.SeedPassTuiV2._refresh_doc_edit_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [788, 789], "excluded_lines": [], "start_line": 787}, "launch_tui2.SeedPassTuiV2._record_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [801, 802, 803, 804], "excluded_lines": [], "start_line": 793}, "launch_tui2.SeedPassTuiV2._clear_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [807, 808], "excluded_lines": [], "start_line": 806}, "launch_tui2.SeedPassTuiV2._retry_initialize_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [811, 812, 815, 816, 822, 823, 824, 825], "excluded_lines": [], "start_line": 810}, "launch_tui2.SeedPassTuiV2._current_filter_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [828, 829, 830], "excluded_lines": [], "start_line": 827}, "launch_tui2.SeedPassTuiV2._current_archive_scope_flags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [833, 834, 835, 836, 837], "excluded_lines": [], "start_line": 832}, "launch_tui2.SeedPassTuiV2._selected_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [840, 844, 845, 850, 851], "excluded_lines": [], "start_line": 839}, "launch_tui2.SeedPassTuiV2._update_filters_panel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [854, 855, 856, 857, 858, 859, 860, 861, 862, 864, 866, 871, 872, 877, 933, 934, 935, 936], "excluded_lines": [], "start_line": 853}, "launch_tui2.SeedPassTuiV2._render_entry_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 959, 960, 961, 962], "excluded_lines": [], "start_line": 938}, "launch_tui2.SeedPassTuiV2._total_pages": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [968, 971], "excluded_lines": [], "start_line": 967}, "launch_tui2.SeedPassTuiV2._stats_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 986, 987, 988, 989, 990, 991, 992, 993, 994, 997, 998, 1001, 1005, 1013, 1016, 1019, 1020, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054], "excluded_lines": [], "start_line": 973}, "launch_tui2.SeedPassTuiV2._render_current_page": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1069, 1070, 1074, 1075, 1078, 1081, 1082, 1083, 1084, 1088, 1089, 1090, 1092, 1095, 1096, 1097, 1098, 1109, 1110, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119], "excluded_lines": [], "start_line": 1056}, "launch_tui2.SeedPassTuiV2._entry_detail_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1122, 1125], "excluded_lines": [], "start_line": 1121}, "launch_tui2.SeedPassTuiV2._entry_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1129], "excluded_lines": [], "start_line": 1128}, "launch_tui2.SeedPassTuiV2._entry_tags_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1135, 1136, 1137, 1138, 1139, 1140], "excluded_lines": [], "start_line": 1134}, "launch_tui2.SeedPassTuiV2._entry_notes_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1144, 1145, 1146, 1147], "excluded_lines": [], "start_line": 1143}, "launch_tui2.SeedPassTuiV2._entry_board_header": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1150, 1155, 1156, 1157, 1163, 1164], "excluded_lines": [], "start_line": 1149}, "launch_tui2.SeedPassTuiV2._entry_board_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1174, 1175, 1176, 1177, 1179, 1180, 1181, 1182, 1183, 1196, 1198, 1199, 1200, 1201, 1215, 1217, 1218, 1219, 1220, 1232, 1234, 1235, 1236, 1237, 1250, 1252, 1253, 1265, 1267, 1268, 1269, 1282, 1284, 1285, 1286, 1298, 1300, 1301, 1302, 1303, 1304, 1315, 1317, 1322, 1323, 1324], "excluded_lines": [], "start_line": 1173}, "launch_tui2.SeedPassTuiV2._load_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1330, 1331, 1332, 1335, 1336, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1347, 1348, 1354, 1355, 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1375, 1377, 1378, 1379, 1380, 1381], "excluded_lines": [], "start_line": 1329}, "launch_tui2.SeedPassTuiV2._show_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1407, 1408, 1409, 1410, 1411, 1414, 1415, 1418, 1419, 1420], "excluded_lines": [], "start_line": 1383}, "launch_tui2.SeedPassTuiV2._update_links_panel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1428, 1429, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1441, 1442, 1443, 1449, 1451, 1452, 1454, 1461, 1462, 1463, 1465, 1466, 1470, 1471, 1472, 1478, 1480, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1500, 1501, 1502], "excluded_lines": [], "start_line": 1427}, "launch_tui2.SeedPassTuiV2._is_selected_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1505, 1506, 1507, 1510], "excluded_lines": [], "start_line": 1504}, "launch_tui2.SeedPassTuiV2._selected_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1513, 1514, 1515], "excluded_lines": [], "start_line": 1512}, "launch_tui2.SeedPassTuiV2._kind_icon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1527], "excluded_lines": [], "start_line": 1526}, "launch_tui2.SeedPassTuiV2._is_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547], "excluded_lines": [], "start_line": 1538}, "launch_tui2.SeedPassTuiV2._clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558], "excluded_lines": [], "start_line": 1549}, "launch_tui2.SeedPassTuiV2._copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569], "excluded_lines": [], "start_line": 1560}, "launch_tui2.SeedPassTuiV2._resolve_selected_sensitive_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1574, 1575, 1576, 1577, 1579, 1582, 1583, 1585, 1589, 1590, 1592, 1593, 1594, 1597, 1605, 1606, 1607, 1609, 1610, 1618, 1619, 1620, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1636, 1638, 1641, 1655, 1656, 1659, 1667, 1668, 1671, 1683, 1684, 1685, 1686, 1688, 1689, 1697], "excluded_lines": [], "start_line": 1571}, "launch_tui2.SeedPassTuiV2._requires_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1706, 1707, 1708], "excluded_lines": [], "start_line": 1703}, "launch_tui2.SeedPassTuiV2._show_sensitive_panel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1713, 1714, 1717, 1718, 1728, 1730, 1736, 1737, 1742, 1746, 1751, 1754, 1756, 1757, 1758, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1773, 1774, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1785, 1786, 1790, 1791, 1792], "excluded_lines": [], "start_line": 1710}, "launch_tui2.SeedPassTuiV2._set_document_editor_visible": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1795, 1796, 1797, 1798, 1799, 1801, 1802, 1803, 1804, 1805], "excluded_lines": [], "start_line": 1794}, "launch_tui2.SeedPassTuiV2._set_palette_visible": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816], "excluded_lines": [], "start_line": 1807}, "launch_tui2.SeedPassTuiV2._set_totp_board_visible": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1832, 1833, 1834, 1835], "excluded_lines": [], "start_line": 1818}, "launch_tui2.SeedPassTuiV2._totp_source": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1839, 1840, 1841, 1842, 1843], "excluded_lines": [], "start_line": 1838}, "launch_tui2.SeedPassTuiV2._load_totp_rows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1868], "excluded_lines": [], "start_line": 1845}, "launch_tui2.SeedPassTuiV2._refresh_totp_board": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1871, 1872, 1873, 1874, 1877, 1878, 1879, 1880, 1881, 1882, 1888, 1890, 1891, 1892, 1898, 1899, 1903, 1904, 1905, 1906, 1907, 1908, 1913, 1916, 1923, 1924], "excluded_lines": [], "start_line": 1870}, "launch_tui2.SeedPassTuiV2._tick_totp_board": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1927, 1928], "excluded_lines": [], "start_line": 1926}, "launch_tui2.SeedPassTuiV2._get_document_editor_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1931, 1932, 1933, 1934], "excluded_lines": [], "start_line": 1930}, "launch_tui2.SeedPassTuiV2._set_document_editor_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944], "excluded_lines": [], "start_line": 1936}, "launch_tui2.SeedPassTuiV2._mark_doc_dirty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1947, 1948, 1949, 1950, 1951, 1952], "excluded_lines": [], "start_line": 1946}, "launch_tui2.SeedPassTuiV2._selected_entry_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1955, 1956, 1957, 1958, 1959, 1960, 1961, 1964, 1965, 1966], "excluded_lines": [], "start_line": 1954}, "launch_tui2.SeedPassTuiV2._resolve_copy_field_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2033, 2034, 2035, 2036, 2037, 2038, 2040, 2041, 2042, 2045, 2047], "excluded_lines": [], "start_line": 1968}, "launch_tui2.SeedPassTuiV2._export_value_to_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2050, 2051, 2052, 2053, 2054, 2055], "excluded_lines": [], "start_line": 2049}, "launch_tui2.SeedPassTuiV2._apply_selected_modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078], "excluded_lines": [], "start_line": 2057}, "launch_tui2.SeedPassTuiV2._parse_toggle_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2087, 2088, 2089, 2090, 2091, 2092], "excluded_lines": [], "start_line": 2086}, "launch_tui2.SeedPassTuiV2._run_palette_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1598, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1598, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2095, 2096, 2097, 2098, 2099, 2100, 2102, 2103, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2115, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2196, 2199, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2239, 2240, 2241, 2242, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2263, 2264, 2265, 2266, 2269, 2270, 2271, 2272, 2274, 2275, 2276, 2282, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2337, 2338, 2339, 2340, 2341, 2342, 2348, 2350, 2351, 2352, 2353, 2354, 2355, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2405, 2406, 2407, 2408, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2442, 2444, 2445, 2446, 2447, 2448, 2449, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2465, 2466, 2467, 2468, 2469, 2470, 2476, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2509, 2511, 2512, 2513, 2514, 2515, 2516, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2544, 2545, 2546, 2547, 2548, 2549, 2555, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2588, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2621, 2622, 2623, 2624, 2625, 2626, 2632, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2665, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2681, 2683, 2684, 2685, 2686, 2687, 2693, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2714, 2715, 2716, 2722, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2743, 2744, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2764, 2766, 2767, 2768, 2769, 2770, 2776, 2778, 2779, 2780, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2804, 2807, 2813, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2834, 2835, 2840, 2846, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2885, 2886, 2887, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2906, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2939, 2940, 2941, 2944, 2945, 2951, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3008, 3009, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3026, 3027, 3028, 3029, 3035, 3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3057, 3058, 3059, 3060, 3061, 3062, 3068, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3084, 3085, 3086, 3092, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3108, 3111, 3112, 3113, 3114, 3115, 3121, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3150, 3152, 3153, 3154, 3155, 3156, 3157, 3159, 3160, 3161, 3162, 3163, 3164, 3166, 3167, 3168, 3169, 3170, 3171, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3210, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3239, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3268, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3297, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3326, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3375, 3376, 3377, 3378, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3416, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3440, 3441, 3447, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3473, 3474, 3480, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3501, 3502, 3503, 3508, 3509, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3520, 3521, 3526, 3527, 3528, 3529, 3530, 3531, 3537, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3554, 3555, 3556, 3562, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3586, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3622, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3647, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3671, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3690, 3691, 3697, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3711, 3712, 3713, 3714, 3715, 3718, 3719, 3725, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3741, 3742, 3743, 3744, 3745, 3751, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3772, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3820, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3832, 3833, 3834, 3835, 3836, 3837, 3843, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3867, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3884, 3885, 3886, 3887, 3893, 3895, 3896, 3897, 3898, 3899, 3900, 3903, 3904, 3905, 3906, 3907, 3909, 3912, 3913, 3914, 3916, 3917, 3918, 3924, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3947, 3948, 3949, 3950, 3956, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3981, 3982, 3983, 3984, 3985, 3986, 3988, 3989, 3990, 3991, 3992, 3993, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4019, 4020, 4021, 4022, 4023, 4024, 4030, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4041, 4042, 4043, 4044, 4045, 4046, 4048, 4049, 4050, 4053, 4054, 4055, 4056, 4057, 4063, 4064, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4080, 4081, 4084, 4085, 4087, 4088, 4089, 4092, 4093, 4094, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4110, 4111, 4117, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4145, 4147, 4148, 4149, 4151, 4152, 4153, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4181, 4182, 4183, 4184, 4185, 4186, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4204, 4205, 4206, 4209, 4210, 4216, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4237, 4238, 4239, 4242, 4243, 4249, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4298], "excluded_lines": [], "start_line": 2094}, "launch_tui2.SeedPassTuiV2.action_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4301, 4302, 4303, 4304, 4305], "excluded_lines": [], "start_line": 4300}, "launch_tui2.SeedPassTuiV2.action_toggle_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4308, 4309, 4310, 4311, 4312], "excluded_lines": [], "start_line": 4307}, "launch_tui2.SeedPassTuiV2.action_focus_left": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4315, 4316, 4317], "excluded_lines": [], "start_line": 4314}, "launch_tui2.SeedPassTuiV2.action_profile_tree_next": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4320, 4321, 4322, 4323, 4324, 4325, 4326, 4329, 4330, 4331], "excluded_lines": [], "start_line": 4319}, "launch_tui2.SeedPassTuiV2.action_profile_tree_prev": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4334, 4335, 4336, 4337, 4338, 4339, 4340, 4343, 4344, 4345], "excluded_lines": [], "start_line": 4333}, "launch_tui2.SeedPassTuiV2.action_profile_tree_open": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4367, 4370, 4371, 4372, 4373, 4374, 4375], "excluded_lines": [], "start_line": 4347}, "launch_tui2.SeedPassTuiV2.action_focus_center": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4383, 4384, 4385, 4386], "excluded_lines": [], "start_line": 4382}, "launch_tui2.SeedPassTuiV2.action_focus_right": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4389, 4390, 4391], "excluded_lines": [], "start_line": 4388}, "launch_tui2.SeedPassTuiV2.action_focus_jump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4394, 4395, 4396, 4397, 4398, 4399, 4400, 4401, 4402], "excluded_lines": [], "start_line": 4393}, "launch_tui2.SeedPassTuiV2.action_retry_last_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4405, 4406, 4407, 4408, 4409, 4410, 4411, 4412], "excluded_lines": [], "start_line": 4404}, "launch_tui2.SeedPassTuiV2.action_focus_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4420, 4421, 4422, 4423, 4424, 4425, 4426, 4427], "excluded_lines": [], "start_line": 4419}, "launch_tui2.SeedPassTuiV2.action_cycle_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4430, 4442, 4443, 4444, 4445], "excluded_lines": [], "start_line": 4429}, "launch_tui2.SeedPassTuiV2.action_cycle_archive_scope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4448, 4449, 4450, 4451, 4452, 4453, 4454, 4455], "excluded_lines": [], "start_line": 4447}, "launch_tui2.SeedPassTuiV2.action_toggle_density": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4458, 4459, 4460, 4461, 4464, 4465, 4466], "excluded_lines": [], "start_line": 4457}, "launch_tui2.SeedPassTuiV2.action_next_page": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476, 4477], "excluded_lines": [], "start_line": 4468}, "launch_tui2.SeedPassTuiV2.action_prev_page": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487, 4488], "excluded_lines": [], "start_line": 4479}, "launch_tui2.SeedPassTuiV2.action_cycle_link_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4491, 4492, 4493, 4494, 4495, 4496, 4497, 4505, 4510, 4511, 4512, 4513], "excluded_lines": [], "start_line": 4490}, "launch_tui2.SeedPassTuiV2.action_next_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4516, 4517, 4518, 4519, 4522, 4523], "excluded_lines": [], "start_line": 4515}, "launch_tui2.SeedPassTuiV2.action_prev_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4528, 4529, 4530, 4531, 4534, 4535], "excluded_lines": [], "start_line": 4527}, "launch_tui2.SeedPassTuiV2.action_open_link_target": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4551], "excluded_lines": [], "start_line": 4539}, "launch_tui2.SeedPassTuiV2.action_open_palette": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4554, 4555, 4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, 4564, 4566], "excluded_lines": [], "start_line": 4553}, "launch_tui2.SeedPassTuiV2.action_reveal_selected": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4569, 4570, 4571, 4572], "excluded_lines": [], "start_line": 4568}, "launch_tui2.SeedPassTuiV2.action_show_qr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4575, 4576, 4577, 4578], "excluded_lines": [], "start_line": 4574}, "launch_tui2.SeedPassTuiV2.action_toggle_totp_board": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4581, 4582, 4583, 4584, 4585, 4586, 4587, 4588, 4589, 4591], "excluded_lines": [], "start_line": 4580}, "launch_tui2.SeedPassTuiV2.action_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4594, 4595, 4596, 4597, 4598, 4599, 4601, 4602, 4605, 4606, 4607, 4609, 4610, 4611, 4612, 4613, 4614, 4616, 4617, 4618, 4621, 4622, 4623, 4624, 4625], "excluded_lines": [], "start_line": 4593}, "launch_tui2.SeedPassTuiV2.action_edit_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4633, 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4643, 4644, 4645, 4648, 4649, 4650, 4652, 4653, 4654, 4655, 4661, 4662, 4663, 4664, 4665, 4667, 4668], "excluded_lines": [], "start_line": 4632}, "launch_tui2.SeedPassTuiV2.action_save_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4671, 4672, 4673, 4674, 4675, 4676, 4678, 4679, 4682, 4683, 4684, 4685, 4691, 4692, 4693, 4694, 4695, 4697, 4698, 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, 4714], "excluded_lines": [], "start_line": 4670}, "launch_tui2.SeedPassTuiV2.action_cancel_document_edit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739], "excluded_lines": [], "start_line": 4721}, "launch_tui2.SeedPassTuiV2.on_input_changed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4742, 4748], "excluded_lines": [], "start_line": 4741}, "launch_tui2.SeedPassTuiV2.on_text_area_changed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4751], "excluded_lines": [], "start_line": 4750}, "launch_tui2.SeedPassTuiV2.on_input_submitted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774, 4775], "excluded_lines": [], "start_line": 4753}, "launch_tui2.SeedPassTuiV2.on_list_view_selected": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785], "excluded_lines": [], "start_line": 4777}, "launch_tui2.SeedPassTuiV2.on_list_view_highlighted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [4788, 4789, 4790, 4791, 4792], "excluded_lines": [], "start_line": 4787}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 40, 57, 74, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"launch_tui2.EntryListItem": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [121, 122], "excluded_lines": [], "start_line": 119}, "launch_tui2.SeedPassTuiV2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2772, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2772, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [322, 323, 366, 367, 368, 369, 370, 371, 372, 373, 374, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 392, 395, 396, 398, 402, 406, 407, 408, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 449, 450, 451, 457, 460, 461, 466, 467, 468, 469, 470, 475, 476, 477, 478, 479, 482, 483, 484, 485, 486, 489, 490, 491, 492, 493, 498, 499, 500, 501, 502, 505, 506, 507, 508, 509, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 528, 531, 532, 533, 534, 539, 540, 541, 544, 545, 546, 547, 548, 549, 552, 553, 555, 556, 557, 558, 559, 560, 563, 566, 567, 572, 573, 584, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606, 608, 609, 610, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628, 633, 634, 635, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 662, 665, 666, 672, 677, 680, 709, 723, 754, 755, 756, 757, 758, 759, 777, 780, 781, 782, 783, 785, 788, 789, 801, 802, 803, 804, 807, 808, 811, 812, 815, 816, 822, 823, 824, 825, 828, 829, 830, 833, 834, 835, 836, 837, 840, 844, 845, 850, 851, 854, 855, 856, 857, 858, 859, 860, 861, 862, 864, 866, 871, 872, 877, 933, 934, 935, 936, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 959, 960, 961, 962, 968, 971, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 986, 987, 988, 989, 990, 991, 992, 993, 994, 997, 998, 1001, 1005, 1013, 1016, 1019, 1020, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1069, 1070, 1074, 1075, 1078, 1081, 1082, 1083, 1084, 1088, 1089, 1090, 1092, 1095, 1096, 1097, 1098, 1109, 1110, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1122, 1125, 1129, 1135, 1136, 1137, 1138, 1139, 1140, 1144, 1145, 1146, 1147, 1150, 1155, 1156, 1157, 1163, 1164, 1174, 1175, 1176, 1177, 1179, 1180, 1181, 1182, 1183, 1196, 1198, 1199, 1200, 1201, 1215, 1217, 1218, 1219, 1220, 1232, 1234, 1235, 1236, 1237, 1250, 1252, 1253, 1265, 1267, 1268, 1269, 1282, 1284, 1285, 1286, 1298, 1300, 1301, 1302, 1303, 1304, 1315, 1317, 1322, 1323, 1324, 1330, 1331, 1332, 1335, 1336, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1347, 1348, 1354, 1355, 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1375, 1377, 1378, 1379, 1380, 1381, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1407, 1408, 1409, 1410, 1411, 1414, 1415, 1418, 1419, 1420, 1428, 1429, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1441, 1442, 1443, 1449, 1451, 1452, 1454, 1461, 1462, 1463, 1465, 1466, 1470, 1471, 1472, 1478, 1480, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1500, 1501, 1502, 1505, 1506, 1507, 1510, 1513, 1514, 1515, 1527, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1574, 1575, 1576, 1577, 1579, 1582, 1583, 1585, 1589, 1590, 1592, 1593, 1594, 1597, 1605, 1606, 1607, 1609, 1610, 1618, 1619, 1620, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1636, 1638, 1641, 1655, 1656, 1659, 1667, 1668, 1671, 1683, 1684, 1685, 1686, 1688, 1689, 1697, 1706, 1707, 1708, 1713, 1714, 1717, 1718, 1728, 1730, 1736, 1737, 1742, 1746, 1751, 1754, 1756, 1757, 1758, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1773, 1774, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1785, 1786, 1790, 1791, 1792, 1795, 1796, 1797, 1798, 1799, 1801, 1802, 1803, 1804, 1805, 1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1832, 1833, 1834, 1835, 1839, 1840, 1841, 1842, 1843, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1868, 1871, 1872, 1873, 1874, 1877, 1878, 1879, 1880, 1881, 1882, 1888, 1890, 1891, 1892, 1898, 1899, 1903, 1904, 1905, 1906, 1907, 1908, 1913, 1916, 1923, 1924, 1927, 1928, 1931, 1932, 1933, 1934, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1947, 1948, 1949, 1950, 1951, 1952, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1964, 1965, 1966, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2033, 2034, 2035, 2036, 2037, 2038, 2040, 2041, 2042, 2045, 2047, 2050, 2051, 2052, 2053, 2054, 2055, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2087, 2088, 2089, 2090, 2091, 2092, 2095, 2096, 2097, 2098, 2099, 2100, 2102, 2103, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2115, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2196, 2199, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2239, 2240, 2241, 2242, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2263, 2264, 2265, 2266, 2269, 2270, 2271, 2272, 2274, 2275, 2276, 2282, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2337, 2338, 2339, 2340, 2341, 2342, 2348, 2350, 2351, 2352, 2353, 2354, 2355, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2405, 2406, 2407, 2408, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2442, 2444, 2445, 2446, 2447, 2448, 2449, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2465, 2466, 2467, 2468, 2469, 2470, 2476, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2509, 2511, 2512, 2513, 2514, 2515, 2516, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2544, 2545, 2546, 2547, 2548, 2549, 2555, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2588, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2621, 2622, 2623, 2624, 2625, 2626, 2632, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2665, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2681, 2683, 2684, 2685, 2686, 2687, 2693, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2714, 2715, 2716, 2722, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2743, 2744, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2764, 2766, 2767, 2768, 2769, 2770, 2776, 2778, 2779, 2780, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2804, 2807, 2813, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2834, 2835, 2840, 2846, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2885, 2886, 2887, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2906, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2939, 2940, 2941, 2944, 2945, 2951, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3008, 3009, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3026, 3027, 3028, 3029, 3035, 3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3057, 3058, 3059, 3060, 3061, 3062, 3068, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3084, 3085, 3086, 3092, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3108, 3111, 3112, 3113, 3114, 3115, 3121, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3150, 3152, 3153, 3154, 3155, 3156, 3157, 3159, 3160, 3161, 3162, 3163, 3164, 3166, 3167, 3168, 3169, 3170, 3171, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3210, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3239, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3268, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3297, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3326, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3375, 3376, 3377, 3378, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3416, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3440, 3441, 3447, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3473, 3474, 3480, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3501, 3502, 3503, 3508, 3509, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3520, 3521, 3526, 3527, 3528, 3529, 3530, 3531, 3537, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3554, 3555, 3556, 3562, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3586, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3622, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3647, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3671, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3690, 3691, 3697, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3711, 3712, 3713, 3714, 3715, 3718, 3719, 3725, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3741, 3742, 3743, 3744, 3745, 3751, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3772, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3820, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3832, 3833, 3834, 3835, 3836, 3837, 3843, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3867, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3884, 3885, 3886, 3887, 3893, 3895, 3896, 3897, 3898, 3899, 3900, 3903, 3904, 3905, 3906, 3907, 3909, 3912, 3913, 3914, 3916, 3917, 3918, 3924, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3947, 3948, 3949, 3950, 3956, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3981, 3982, 3983, 3984, 3985, 3986, 3988, 3989, 3990, 3991, 3992, 3993, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4019, 4020, 4021, 4022, 4023, 4024, 4030, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4041, 4042, 4043, 4044, 4045, 4046, 4048, 4049, 4050, 4053, 4054, 4055, 4056, 4057, 4063, 4064, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4080, 4081, 4084, 4085, 4087, 4088, 4089, 4092, 4093, 4094, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4110, 4111, 4117, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4145, 4147, 4148, 4149, 4151, 4152, 4153, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4181, 4182, 4183, 4184, 4185, 4186, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4204, 4205, 4206, 4209, 4210, 4216, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4237, 4238, 4239, 4242, 4243, 4249, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4298, 4301, 4302, 4303, 4304, 4305, 4308, 4309, 4310, 4311, 4312, 4315, 4316, 4317, 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4329, 4330, 4331, 4334, 4335, 4336, 4337, 4338, 4339, 4340, 4343, 4344, 4345, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4367, 4370, 4371, 4372, 4373, 4374, 4375, 4383, 4384, 4385, 4386, 4389, 4390, 4391, 4394, 4395, 4396, 4397, 4398, 4399, 4400, 4401, 4402, 4405, 4406, 4407, 4408, 4409, 4410, 4411, 4412, 4420, 4421, 4422, 4423, 4424, 4425, 4426, 4427, 4430, 4442, 4443, 4444, 4445, 4448, 4449, 4450, 4451, 4452, 4453, 4454, 4455, 4458, 4459, 4460, 4461, 4464, 4465, 4466, 4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476, 4477, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4491, 4492, 4493, 4494, 4495, 4496, 4497, 4505, 4510, 4511, 4512, 4513, 4516, 4517, 4518, 4519, 4522, 4523, 4528, 4529, 4530, 4531, 4534, 4535, 4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4551, 4554, 4555, 4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, 4564, 4566, 4569, 4570, 4571, 4572, 4575, 4576, 4577, 4578, 4581, 4582, 4583, 4584, 4585, 4586, 4587, 4588, 4589, 4591, 4594, 4595, 4596, 4597, 4598, 4599, 4601, 4602, 4605, 4606, 4607, 4609, 4610, 4611, 4612, 4613, 4614, 4616, 4617, 4618, 4621, 4622, 4623, 4624, 4625, 4633, 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4643, 4644, 4645, 4648, 4649, 4650, 4652, 4653, 4654, 4655, 4661, 4662, 4663, 4664, 4665, 4667, 4668, 4671, 4672, 4673, 4674, 4675, 4676, 4678, 4679, 4682, 4683, 4684, 4685, 4691, 4692, 4693, 4694, 4695, 4697, 4698, 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, 4714, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739, 4742, 4748, 4751, 4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774, 4775, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4788, 4789, 4790, 4791, 4792], "excluded_lines": [], "start_line": 124}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88], "summary": {"covered_lines": 47, "num_statements": 182, "percent_covered": 25.824175824175825, "percent_covered_display": "26", "missing_lines": 135, "excluded_lines": 2, "percent_statements_covered": 25.824175824175825, "percent_statements_covered_display": "26"}, "missing_lines": [13, 14, 36, 64, 105, 106, 107, 109, 110, 111, 112, 114, 115, 119, 120, 124, 125, 126, 128, 281, 313, 314, 315, 316, 317, 318, 319, 321, 410, 530, 543, 551, 562, 565, 586, 612, 632, 664, 676, 679, 708, 722, 753, 779, 787, 793, 806, 810, 827, 832, 839, 853, 938, 967, 973, 1056, 1121, 1127, 1128, 1133, 1134, 1142, 1143, 1149, 1173, 1329, 1383, 1427, 1504, 1512, 1525, 1526, 1538, 1549, 1560, 1571, 1703, 1710, 1794, 1807, 1818, 1837, 1838, 1845, 1870, 1926, 1930, 1936, 1946, 1954, 1968, 2049, 2057, 2085, 2086, 2094, 4300, 4307, 4314, 4319, 4333, 4347, 4382, 4388, 4393, 4404, 4419, 4429, 4447, 4457, 4468, 4479, 4490, 4515, 4527, 4539, 4553, 4568, 4574, 4580, 4593, 4632, 4670, 4721, 4741, 4750, 4753, 4777, 4787, 4794, 4795, 4796, 4797, 4798, 4799], "excluded_lines": [116, 117], "start_line": 1}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [8], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [8], "excluded_lines": [], "start_line": 1}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 3, 4], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 3, 4], "excluded_lines": [], "start_line": 1}}}, "src/seedpass_gui/app.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 150, 154, 161, 165, 169, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 198, 199, 200, 201, 202, 203, 207, 210, 211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "summary": {"covered_lines": 203, "num_statements": 316, "percent_covered": 64.24050632911393, "percent_covered_display": "64", "missing_lines": 113, "excluded_lines": 24, "percent_statements_covered": 64.24050632911393, "percent_statements_covered_display": "64"}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 190, 191, 192, 194, 195, 196, 204, 342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368, 375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424, 431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480, 485], "excluded_lines": [57, 58, 59, 464, 465, 466, 477, 478, 479, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 503, 504, 505], "functions": {"LockScreenWindow.__init__": {"executed_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "LockScreenWindow.handle_unlock": {"executed_lines": [54, 55, 56, 60, 66, 67, 68], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [57, 58, 59], "start_line": 53}, "MainWindow.__init__": {"executed_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "MainWindow.refresh_entries": {"executed_lines": [126, 127], "summary": {"covered_lines": 2, "num_statements": 13, "percent_covered": 15.384615384615385, "percent_covered_display": "15", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 15.384615384615385, "percent_statements_covered_display": "15"}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": [], "start_line": 125}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [151, 152], "excluded_lines": [], "start_line": 150}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": [], "start_line": 154}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [162, 163], "excluded_lines": [], "start_line": 161}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [166, 167], "excluded_lines": [], "start_line": 165}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [170, 171], "excluded_lines": [], "start_line": 169}, "MainWindow.start_vault_sync": {"executed_lines": [176, 179], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 173}, "MainWindow.start_vault_sync._runner": {"executed_lines": [177], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 176}, "MainWindow.sync_started": {"executed_lines": [183], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 182}, "MainWindow.sync_finished": {"executed_lines": [186, 187], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [190, 191, 192, 194, 195, 196], "excluded_lines": [], "start_line": 189}, "MainWindow.cleanup": {"executed_lines": [199, 200, 201, 202, 203], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [204], "excluded_lines": [], "start_line": 198}, "EntryDialog.__init__": {"executed_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 210}, "EntryDialog.save": {"executed_lines": [266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 265}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352], "excluded_lines": [], "start_line": 341}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [355, 356, 357, 358, 359, 368], "excluded_lines": [], "start_line": 354}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391], "excluded_lines": [], "start_line": 374}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [394, 395, 396], "excluded_lines": [], "start_line": 393}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421], "excluded_lines": [], "start_line": 398}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [424], "excluded_lines": [], "start_line": 423}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451], "excluded_lines": [], "start_line": 430}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [454, 455, 456], "excluded_lines": [], "start_line": 453}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [459, 460, 461, 462, 463, 467, 468], "excluded_lines": [464, 465, 466], "start_line": 458}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [471, 472, 473, 474, 475, 476, 480], "excluded_lines": [477, 478, 479], "start_line": 470}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [485], "excluded_lines": [], "start_line": 483}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500], "start_line": 489}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [504, 505], "start_line": 503}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [489, 503], "start_line": 1}}, "classes": {"LockScreenWindow": {"executed_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [57, 58, 59], "start_line": 24}, "MainWindow": {"executed_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 176, 177, 179, 183, 186, 187, 199, 200, 201, 202, 203], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 58.666666666666664, "percent_covered_display": "59", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59"}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 190, 191, 192, 194, 195, 196, 204], "excluded_lines": [], "start_line": 71}, "EntryDialog": {"executed_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368], "excluded_lines": [], "start_line": 338}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424], "excluded_lines": [], "start_line": 371}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480], "excluded_lines": [464, 465, 466, 477, 478, 479], "start_line": 427}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500], "start_line": 488}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "summary": {"covered_lines": 46, "num_statements": 47, "percent_covered": 97.87234042553192, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 4, "percent_statements_covered": 97.87234042553192, "percent_statements_covered_display": "98"}, "missing_lines": [485], "excluded_lines": [489, 503, 504, 505], "start_line": 1}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 174, 175, 176, 177, 178, 179, 182, 183, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 205, 207, 210, 211, 212, 214, 215, 216, 217, 218, 220, 223, 224, 225], "summary": {"covered_lines": 116, "num_statements": 123, "percent_covered": 94.3089430894309, "percent_covered_display": "94", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 94.3089430894309, "percent_statements_covered_display": "94"}, "missing_lines": [37, 99, 100, 101, 102, 103, 208], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "mute_logging": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "clean_pubsub": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "pytest_addoption": {"executed_lines": [61, 67, 73, 79], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "pytest_configure": {"executed_lines": [88, 89, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "pytest_collection_modifyitems": {"executed_lines": [98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 68.75, "percent_covered_display": "69", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 68.75, "percent_statements_covered_display": "69"}, "missing_lines": [99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 95}, "vault": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "password_manager": {"executed_lines": [126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "client": {"executed_lines": [146, 174, 175, 176, 177, 178, 179], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145}, "make_dummy_nostr_client": {"executed_lines": [185, 186, 188, 220], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 183}, "make_dummy_nostr_client._make": {"executed_lines": [189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [205], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 204}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [208], "excluded_lines": [], "start_line": 207}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211}, "dummy_nostr_client": {"executed_lines": [225], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 224}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 47, 48, 52, 53, 60, 87, 95, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98"}, "missing_lines": [37], "excluded_lines": [], "start_line": 1}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [205], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [208], "excluded_lines": [], "start_line": 203}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 210}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 174, 175, 176, 177, 178, 179, 182, 183, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218, 220, 223, 224, 225], "summary": {"covered_lines": 114, "num_statements": 120, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [37, 99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 1}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 57, 59, 60, 63, 64, 65, 66, 71, 72, 74, 76, 77, 79, 80, 83, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 109, 110, 112, 113, 114, 119, 121, 122, 123, 125, 126, 127, 128, 130, 131, 132, 134, 135, 136, 139, 140, 141, 143, 144, 145, 148, 149, 150, 152, 153, 155, 156, 157, 160, 161, 162, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 177, 180, 181, 183, 186, 187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "summary": {"covered_lines": 156, "num_statements": 167, "percent_covered": 93.41317365269461, "percent_covered_display": "93", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 93.41317365269461, "percent_statements_covered_display": "93"}, "missing_lines": [67, 68, 70, 94, 115, 116, 118, 178, 184, 195, 196], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [31, 32, 33, 34, 36, 37, 38, 39], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "DummyEvent.__init__": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "DummyEvent.content": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "DummyUnsignedEvent.__init__": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "DummyBuilder.__init__": {"executed_lines": [65, 66, 71, 72], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [67, 68, 70], "excluded_lines": [], "start_line": 64}, "DummyBuilder.tags": {"executed_lines": [76, 77], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "DummyBuilder.build": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "DummyTag.identifier": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "DummyTag.event": {"executed_lines": [90], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94], "excluded_lines": [], "start_line": 93}, "DummyTag.expiration": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "DummyFilter.__init__": {"executed_lines": [103, 104, 105, 106, 107], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102}, "DummyFilter.author": {"executed_lines": [110], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 109}, "DummyFilter.kind": {"executed_lines": [113, 114, 119], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [115, 116, 118], "excluded_lines": [], "start_line": 112}, "DummyFilter.identifier": {"executed_lines": [122, 123], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "DummyFilter.id": {"executed_lines": [126, 127, 128], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "DummyFilter.limit": {"executed_lines": [131, 132], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 130}, "DummyFilter.since": {"executed_lines": [135, 136], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134}, "DummyTimestamp.__init__": {"executed_lines": [141], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140}, "DummyTimestamp.from_secs": {"executed_lines": [145], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144}, "DummyEventId.__init__": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "DummyEventId.to_hex": {"executed_lines": [153], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 152}, "DummyEventId.parse": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156}, "DummySendResult.__init__": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 161}, "DummyRelayClient.__init__": {"executed_lines": [167, 168, 169, 170, 171, 172], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166}, "DummyRelayClient.add_relays": {"executed_lines": [175], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [178], "excluded_lines": [], "start_line": 177}, "DummyRelayClient.connect": {"executed_lines": [181], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 180}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [184], "excluded_lines": [], "start_line": 183}, "DummyRelayClient.send_event": {"executed_lines": [187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "summary": {"covered_lines": 19, "num_statements": 21, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.47619047619048, "percent_statements_covered_display": "90"}, "missing_lines": [195, 196], "excluded_lines": [], "start_line": 186}, "DummyRelayClient.fetch_events": {"executed_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 209}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [228], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 227}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 230}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEvent": {"executed_lines": [44, 45, 46, 47, 50], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "DummyUnsignedEvent": {"executed_lines": [55, 56, 57, 60], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "DummyBuilder": {"executed_lines": [65, 66, 71, 72, 76, 77, 80], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [67, 68, 70], "excluded_lines": [], "start_line": 63}, "DummyTag": {"executed_lines": [86, 90, 98], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [94], "excluded_lines": [], "start_line": 83}, "DummyFilter": {"executed_lines": [103, 104, 105, 106, 107, 110, 113, 114, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [115, 116, 118], "excluded_lines": [], "start_line": 101}, "DummyTimestamp": {"executed_lines": [141, 145], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139}, "DummyEventId": {"executed_lines": [150, 153, 157], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148}, "DummySendResult": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "DummyRelayClient": {"executed_lines": [167, 168, 169, 170, 171, 172, 175, 181, 187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "summary": {"covered_lines": 46, "num_statements": 50, "percent_covered": 92.0, "percent_covered_display": "92", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 92.0, "percent_statements_covered_display": "92"}, "missing_lines": [178, 184, 195, 196], "excluded_lines": [], "start_line": 165}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [228, 231], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 226}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_account_roundtrip_restore.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 48, 57, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "_add_sample_entries": {"executed_lines": [40, 48, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "_assert_sample_entries": {"executed_lines": [67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "test_account_roundtrip_via_nostr_seed_restore": {"executed_lines": [100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "test_account_roundtrip_via_export_import_seed_restore": {"executed_lines": [125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 124}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 39, 66, 99, 124], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 48, 57, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_add_new_fingerprint_words.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_word_entry_exits": {"executed_lines": [9, 10, 11, 13, 14, 16, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_add_new_fingerprint_word_entry_exits.setup_wrapper": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_add_tags_from_retrieve.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_add_tags_from_retrieve": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 21], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_additional_backup.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entry_manager_additional_backup": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_ai_tui_agent_harness.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 26, 30, 36, 37, 38, 39, 47, 48, 49, 54, 55, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 72, 73, 75, 77, 78, 80, 81, 83, 84, 85, 86, 89, 90, 93, 94, 95, 96, 98, 99, 101, 102, 104, 105, 106, 107, 108, 111, 112, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 134, 135, 138, 139, 140, 148, 150, 151, 152, 153, 155, 156, 158, 161, 162, 163, 164, 167, 168, 171, 172, 175, 178, 181, 182, 183, 186, 187, 190, 191, 192, 193, 195, 196, 197, 198, 199, 201, 202, 203, 205, 208, 209, 210, 211, 212, 215, 216, 219, 220, 221, 223, 224, 226, 227, 229, 230, 232, 235], "summary": {"covered_lines": 136, "num_statements": 156, "percent_covered": 87.17948717948718, "percent_covered_display": "87", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 87.17948717948718, "percent_statements_covered_display": "87"}, "missing_lines": [23, 24, 31, 40, 41, 50, 51, 56, 74, 91, 113, 136, 159, 169, 173, 176, 179, 188, 206, 217], "excluded_lines": [], "functions": {"_load_harness_module": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 22, 26], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [23, 24], "excluded_lines": [], "start_line": 13}, "test_run_step_records_passed_result": {"executed_lines": [55, 57, 58, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [56], "excluded_lines": [], "start_line": 54}, "test_run_step_records_passed_result._ok": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "test_run_step_records_failed_result_and_reraises": {"executed_lines": [73, 75, 77, 80, 81, 83, 84, 85, 86], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [74], "excluded_lines": [], "start_line": 72}, "test_run_step_records_failed_result_and_reraises._boom": {"executed_lines": [78], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 77}, "test_add_entry_menu_open_waits_when_choice_omitted": {"executed_lines": [90, 93, 94, 98, 101, 104, 105, 106, 107, 108], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [91], "excluded_lines": [], "start_line": 89}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.__init__": {"executed_lines": [95, 96], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.sendline": {"executed_lines": [99], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.wait_for": {"executed_lines": [102], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101}, "test_add_entry_menu_open_sends_choice_when_provided": {"executed_lines": [112, 115, 116, 120, 123, 126, 127, 128, 129], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [113], "excluded_lines": [], "start_line": 111}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.__init__": {"executed_lines": [117, 118], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.sendline": {"executed_lines": [121], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.expect_and_send": {"executed_lines": [124], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123}, "test_complete_onboarding_reaches_main_menu_and_sends_password": {"executed_lines": [135, 138, 139, 150, 155, 158, 161, 162, 163, 164], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [136], "excluded_lines": [], "start_line": 134}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.__init__": {"executed_lines": [140, 148], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.try_wait_for": {"executed_lines": [151, 152, 153], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 150}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.sendline": {"executed_lines": [156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [159], "excluded_lines": [], "start_line": 158}, "test_complete_onboarding_times_out_without_expected_prompts": {"executed_lines": [168, 171, 172, 175, 178, 181, 182, 183], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [169], "excluded_lines": [], "start_line": 167}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.try_wait_for": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173], "excluded_lines": [], "start_line": 172}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.sendline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [176], "excluded_lines": [], "start_line": 175}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [179], "excluded_lines": [], "start_line": 178}, "test_drain_to_main_menu_uses_helper_prompt_then_returns": {"executed_lines": [187, 190, 191, 195, 201, 205, 208, 209, 210, 211, 212], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [188], "excluded_lines": [], "start_line": 186}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.__init__": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 191}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.wait_for": {"executed_lines": [196, 197, 198, 199], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.expect_and_send": {"executed_lines": [202, 203], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [206], "excluded_lines": [], "start_line": 205}, "test_drain_to_main_menu_times_out_when_no_prompt_progress": {"executed_lines": [216, 219, 220, 223, 226, 229, 230, 232, 235], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [217], "excluded_lines": [], "start_line": 215}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.wait_for": {"executed_lines": [221], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 220}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.expect_and_send": {"executed_lines": [224], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.pump": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 226}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 30, 36, 37, 38, 39, 47, 48, 49, 54, 72, 89, 111, 134, 167, 186, 215], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 82.75862068965517, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.75862068965517, "percent_statements_covered_display": "83"}, "missing_lines": [31, 40, 41, 50, 51], "excluded_lines": [], "start_line": 1}}, "classes": {"test_add_entry_menu_open_waits_when_choice_omitted.Runner": {"executed_lines": [95, 96, 99, 102], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_add_entry_menu_open_sends_choice_when_provided.Runner": {"executed_lines": [117, 118, 121, 124], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner": {"executed_lines": [140, 148, 151, 152, 153, 156], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [159], "excluded_lines": [], "start_line": 138}, "test_complete_onboarding_times_out_without_expected_prompts.Runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173, 176, 179], "excluded_lines": [], "start_line": 171}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner": {"executed_lines": [192, 193, 196, 197, 198, 199, 202, 203], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [206], "excluded_lines": [], "start_line": 190}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner": {"executed_lines": [221, 224, 227], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 219}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 26, 30, 36, 37, 38, 39, 47, 48, 49, 54, 55, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 72, 73, 75, 77, 78, 80, 81, 83, 84, 85, 86, 89, 90, 93, 94, 98, 101, 104, 105, 106, 107, 108, 111, 112, 115, 116, 120, 123, 126, 127, 128, 129, 134, 135, 138, 139, 150, 155, 158, 161, 162, 163, 164, 167, 168, 171, 172, 175, 178, 181, 182, 183, 186, 187, 190, 191, 195, 201, 205, 208, 209, 210, 211, 212, 215, 216, 219, 220, 223, 226, 229, 230, 232, 235], "summary": {"covered_lines": 111, "num_statements": 126, "percent_covered": 88.0952380952381, "percent_covered_display": "88", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 88.0952380952381, "percent_statements_covered_display": "88"}, "missing_lines": [23, 24, 31, 40, 41, 50, 51, 56, 74, 91, 113, 136, 169, 188, 217], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 16, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 51, 54, 55, 56, 57, 62, 63, 64, 65, 68, 69, 70, 71, 75, 76, 77, 78, 81, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 101, 102, 103, 104, 107, 108, 109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 145, 146, 147, 152, 153, 154, 155, 158, 159, 160, 161, 162, 165, 166, 171, 172, 173, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 193, 194, 195, 196, 197, 202, 205, 206, 207, 209, 211, 212, 213, 214, 216, 218, 222, 223, 224, 225, 226, 227, 230, 231, 248, 249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 147, "num_statements": 147, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_get_pm_requires_initialized_state": {"executed_lines": [13, 14, 16, 17, 19, 20, 22, 23, 24], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_token_hashed": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_cors_and_auth": {"executed_lines": [36, 37, 38, 39, 40], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_invalid_token": {"executed_lines": [45, 46, 51], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_get_entry_by_id": {"executed_lines": [56, 57, 62, 63, 64, 65], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_get_config_value": {"executed_lines": [70, 71, 75, 76, 77, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "test_list_fingerprint": {"executed_lines": [83, 84, 88, 89, 90, 91], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "test_get_nostr_pubkey": {"executed_lines": [96, 97, 101, 102, 103, 104], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "test_create_modify_archive_entry": {"executed_lines": [109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108}, "test_update_config": {"executed_lines": [139, 140, 142, 145, 146, 147, 152, 153, 154, 155], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 138}, "test_update_config.set_timeout": {"executed_lines": [143], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142}, "test_update_config_quick_unlock": {"executed_lines": [160, 161, 162, 165, 166, 171, 172, 173], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159}, "test_change_password_route": {"executed_lines": [178, 179, 180, 181, 182, 187, 188, 189, 190], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177}, "test_update_config_unknown_key": {"executed_lines": [195, 196, 197, 202], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 194}, "test_shutdown": {"executed_lines": [207, 209, 211, 212, 216, 218, 222, 223, 224, 225, 226, 227], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 206}, "test_shutdown.Loop.call_soon": {"executed_lines": [213, 214], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 212}, "test_invalid_token_other_endpoints": {"executed_lines": [249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 27, 28, 34, 35, 43, 44, 54, 55, 68, 69, 81, 82, 94, 95, 107, 108, 137, 138, 158, 159, 176, 177, 193, 194, 205, 206, 230, 231, 248], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_get_pm_requires_initialized_state.DummyState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_get_pm_requires_initialized_state.DummyApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_get_pm_requires_initialized_state.DummyRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_shutdown.Loop": {"executed_lines": [213, 214], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 16, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 51, 54, 55, 56, 57, 62, 63, 64, 65, 68, 69, 70, 71, 75, 76, 77, 78, 81, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 101, 102, 103, 104, 107, 108, 109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 145, 146, 147, 152, 153, 154, 155, 158, 159, 160, 161, 162, 165, 166, 171, 172, 173, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 193, 194, 195, 196, 197, 202, 205, 206, 207, 209, 211, 212, 216, 218, 222, 223, 224, 225, 226, 227, 230, 231, 248, 249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 145, "num_statements": 145, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api_new_endpoints.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109, 112, 113, 114, 115, 117, 118, 119, 121, 122, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195, 198, 199, 200, 201, 203, 204, 205, 213, 214, 215, 217, 218, 219, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257, 260, 261, 262, 264, 265, 267, 268, 269, 270, 271, 274, 275, 278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312, 315, 316, 317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345, 348, 349, 350, 351, 353, 354, 356, 357, 358, 363, 364, 365, 368, 369, 370, 371, 372, 373, 374, 375, 376, 379, 380, 381, 382, 385, 386, 387, 388, 389, 390, 391, 398, 399, 400, 401, 404, 407, 408, 409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437, 440, 441, 442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460, 463, 464, 465, 466, 468, 469, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488, 491, 492, 493, 494, 496, 497, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514, 517, 518, 519, 520, 521, 522, 524, 525, 527, 528, 530, 531, 533, 534, 535, 537, 538, 539, 541, 542, 544, 545, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 563, 564, 565, 567, 568, 570, 572, 573, 574, 576, 578, 579, 580, 585, 586, 589, 590, 591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612, 615, 616, 617, 618, 619, 620, 624, 625, 630, 633, 634, 635, 636, 637, 638, 639, 641, 642, 647, 650, 651, 652, 653, 655, 656, 657, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672, 675, 676, 677, 678, 680, 681, 682, 683, 684, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 699, 700, 701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714, 717, 718, 719, 720, 721, 723, 724, 725, 726, 729, 730, 731, 732, 733, 735, 736, 737, 738, 741, 742, 743, 744, 745, 747, 748, 749, 750, 753, 754, 755, 756, 757, 758, 759, 760, 763, 764, 765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793, 796, 797, 798, 799, 801, 802, 804, 805, 807, 808, 810, 811, 816, 817, 818, 819, 822, 823, 824, 825, 826, 828, 830, 834, 835, 836, 838, 841, 844, 845, 848, 849, 850, 851, 856, 861, 862, 863, 864, 867, 868, 871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898, 901, 902, 905, 906, 907, 908, 919, 924, 925, 926, 929, 930, 933, 934, 935, 936, 937, 948, 953, 954, 955, 958, 959, 962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995, 998, 999, 1002, 1003, 1004, 1008, 1013, 1014, 1015, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1031, 1032, 1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1059, 1060, 1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1077, 1078, 1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1099, 1100, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1121, 1122, 1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192, 1195, 1196, 1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250, 1253, 1254, 1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342, 1345, 1346, 1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391, 1394, 1395, 1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453, 1456, 1457, 1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487, 1490, 1491, 1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520, 1523, 1524, 1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550, 1553, 1554, 1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1602, 1607, 1610, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1621, 1622, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1665, 1666, 1668, 1669, 1672, 1674, 1677, 1679, 1680, 1685, 1686, 1687, 1690, 1691, 1692, 1694, 1695, 1696, 1698, 1699, 1702, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719, 1722, 1723, 1724, 1726, 1727, 1728, 1729, 1730, 1731, 1733, 1734, 1741, 1742, 1744, 1745, 1747, 1748, 1749, 1750, 1752, 1753, 1754, 1756, 1764, 1765, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1812, 1813, 1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 1012, "num_statements": 1012, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_create_and_modify_totp_entry": {"executed_lines": [24, 25, 27, 31, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_create_and_modify_totp_entry.add_totp": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_create_and_modify_totp_entry.modify": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_create_and_modify_ssh_entry": {"executed_lines": [78, 79, 81, 85, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 77}, "test_create_and_modify_ssh_entry.add_ssh": {"executed_lines": [82, 83], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "test_create_and_modify_ssh_entry.modify": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "test_create_and_modify_document_entry": {"executed_lines": [114, 115, 117, 121, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113}, "test_create_and_modify_document_entry.add_document": {"executed_lines": [118, 119], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117}, "test_create_and_modify_document_entry.modify": {"executed_lines": [122], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "test_document_import_export_endpoints": {"executed_lines": [161, 162, 164, 168, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "test_document_import_export_endpoints.import_document": {"executed_lines": [165, 166], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "test_document_import_export_endpoints.export_document": {"executed_lines": [169, 170], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168}, "test_entry_links_endpoints": {"executed_lines": [200, 201, 203, 213, 217, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199}, "test_entry_links_endpoints.add_link": {"executed_lines": [204, 205], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203}, "test_entry_links_endpoints.remove_link": {"executed_lines": [214, 215], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 213}, "test_entry_links_endpoints.get_links": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217}, "test_update_entry_error": {"executed_lines": [262, 264, 267, 268, 269, 270, 271], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 261}, "test_update_entry_error.modify": {"executed_lines": [265], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264}, "test_get_entry_private_kind_blocked_when_high_risk_locked": {"executed_lines": [278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 275}, "test_get_entry_hydrates_partitioned_high_risk_entry": {"executed_lines": [317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 316}, "test_update_config_secret_mode": {"executed_lines": [350, 351, 353, 356, 357, 358, 363, 364, 365], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 349}, "test_update_config_secret_mode.set_secret": {"executed_lines": [354], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 353}, "test_totp_export_endpoint": {"executed_lines": [370, 371, 372, 373, 374, 375, 376], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 369}, "test_totp_codes_endpoint": {"executed_lines": [381, 382, 385, 386, 387, 388, 389, 390, 391], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 380}, "test_parent_seed_endpoint_removed": {"executed_lines": [400, 401, 404], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 399}, "test_fingerprint_endpoints": {"executed_lines": [409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 408}, "test_checksum_endpoints": {"executed_lines": [442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 441}, "test_vault_import_via_path": {"executed_lines": [465, 466, 468, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 464}, "test_vault_import_via_path.import_db": {"executed_lines": [469], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 468}, "test_vault_import_via_upload": {"executed_lines": [493, 494, 496, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 492}, "test_vault_import_via_upload.import_db": {"executed_lines": [497], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 496}, "test_vault_import_upload_sets_secure_temp_permissions": {"executed_lines": [519, 520, 521, 522, 524, 527, 528, 530, 531, 533, 537, 541, 542, 544, 545, 550, 551, 552, 553, 554], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 518}, "test_vault_import_upload_sets_secure_temp_permissions.import_db": {"executed_lines": [525], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 524}, "test_vault_import_upload_sets_secure_temp_permissions.tracking_chmod": {"executed_lines": [534, 535], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 533}, "test_vault_import_upload_sets_secure_temp_permissions.tracking_unlink": {"executed_lines": [538, 539], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 537}, "test_vault_import_upload_temp_file_removed_on_failure": {"executed_lines": [559, 560, 561, 563, 567, 568, 570, 572, 576, 578, 579, 580, 585, 586], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 558}, "test_vault_import_upload_temp_file_removed_on_failure.import_db": {"executed_lines": [564, 565], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 563}, "test_vault_import_upload_temp_file_removed_on_failure.tracking_unlink": {"executed_lines": [573, 574], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 572}, "test_vault_import_upload_too_large": {"executed_lines": [591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 590}, "test_vault_import_invalid_extension": {"executed_lines": [617, 618, 619, 620, 624, 625, 630], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 616}, "test_vault_import_path_traversal_blocked": {"executed_lines": [635, 636, 637, 638, 639, 641, 642, 647], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 634}, "test_vault_lock_endpoint": {"executed_lines": [652, 653, 655, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 651}, "test_vault_lock_endpoint.lock": {"executed_lines": [656, 657], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 655}, "test_vault_unlock_endpoint": {"executed_lines": [677, 678, 680, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 676}, "test_vault_unlock_endpoint.unlock": {"executed_lines": [681, 682, 683, 684], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 680}, "test_vault_unlock_rate_limited_after_failed_attempts": {"executed_lines": [701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 700}, "test_entry_endpoints_blocked_when_vault_locked": {"executed_lines": [719, 720, 721, 723, 724, 725, 726], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 718}, "test_generate_password_blocked_when_vault_locked": {"executed_lines": [731, 732, 733, 735, 736, 737, 738], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 730}, "test_config_endpoint_blocked_when_vault_locked": {"executed_lines": [743, 744, 745, 747, 748, 749, 750], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 742}, "test_get_config_denies_sensitive_keys": {"executed_lines": [755, 756, 757, 758, 759, 760], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 754}, "test_lock_unlock_cycle_restores_entry_access": {"executed_lines": [765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 764}, "test_secret_mode_endpoint": {"executed_lines": [798, 799, 801, 804, 807, 808, 810, 811, 816, 817, 818, 819], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 797}, "test_secret_mode_endpoint.set_secret": {"executed_lines": [802], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 801}, "test_secret_mode_endpoint.set_delay": {"executed_lines": [805], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 804}, "test_vault_export_endpoint": {"executed_lines": [824, 825, 826, 828, 830, 834, 835, 836, 838, 841], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 823}, "test_vault_export_endpoint_denied_for_agent_profile": {"executed_lines": [848, 849, 850, 851, 856, 861, 862, 863, 864], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 845}, "test_vault_export_endpoint_policy_filtered_manifest": {"executed_lines": [871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 868}, "test_vault_export_endpoint_requires_approval_when_configured": {"executed_lines": [905, 906, 907, 908, 919, 924, 925, 926], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 902}, "test_vault_export_endpoint_blocked_when_high_risk_locked": {"executed_lines": [933, 934, 935, 936, 937, 948, 953, 954, 955], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 930}, "test_vault_export_endpoint_approval_allows_full_export": {"executed_lines": [962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 959}, "test_totp_export_endpoint_denied_for_agent_profile": {"executed_lines": [1002, 1003, 1004, 1008, 1013, 1014, 1015], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 999}, "test_export_check_endpoint_full_denied_default": {"executed_lines": [1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1019}, "test_export_check_endpoint_kind_allowed_default": {"executed_lines": [1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1032}, "test_export_check_endpoint_kind_requires_kind": {"executed_lines": [1052, 1053, 1054, 1055, 1056], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1051}, "test_export_manifest_verify_endpoint_ok": {"executed_lines": [1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1060}, "test_export_manifest_verify_endpoint_mismatch": {"executed_lines": [1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1078}, "test_export_manifest_verify_endpoint_detects_tamper": {"executed_lines": [1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1100}, "test_backup_parent_seed_endpoint": {"executed_lines": [1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1122}, "test_high_risk_api_unlock_status_and_lock": {"executed_lines": [1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1153}, "test_agent_job_profiles_crud_endpoints": {"executed_lines": [1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1196}, "test_agent_job_profile_run_issues_lease": {"executed_lines": [1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1223}, "test_agent_job_profile_run_policy_mismatch_denied": {"executed_lines": [1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1254}, "test_agent_job_profile_template_endpoint": {"executed_lines": [1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1294}, "test_agent_job_profile_template_post_and_verify": {"executed_lines": [1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1346}, "test_agent_recovery_split_recover_api": {"executed_lines": [1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1395}, "test_agent_recovery_drill_and_verify_api": {"executed_lines": [1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1424}, "test_agent_recovery_drill_verify_detects_tamper": {"executed_lines": [1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1457}, "test_backup_parent_seed_blocked_when_high_risk_locked": {"executed_lines": [1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1491}, "test_backup_parent_seed_requires_approval_when_agent_profile": {"executed_lines": [1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1524}, "test_backup_parent_seed_allows_with_approval_when_agent_profile": {"executed_lines": [1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1554}, "test_backup_parent_seed_path_traversal_blocked": {"executed_lines": [1594, 1595, 1596, 1597, 1598, 1602, 1607], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1593}, "test_relay_management_endpoints": {"executed_lines": [1612, 1613, 1614, 1616, 1619, 1621, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1611}, "test_relay_management_endpoints.load_config": {"executed_lines": [1617], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1616}, "test_relay_management_endpoints.set_relays": {"executed_lines": [1622], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1621}, "test_generate_password_no_special_chars": {"executed_lines": [1662, 1664, 1665, 1668, 1669, 1674, 1677, 1679, 1680, 1685, 1686, 1687], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1661}, "test_generate_password_no_special_chars.DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [1666], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1665}, "test_generate_password_no_special_chars.DummyBIP85.derive_entropy": {"executed_lines": [1672], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1669}, "test_generate_password_allowed_chars": {"executed_lines": [1692, 1694, 1695, 1698, 1699, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1691}, "test_generate_password_allowed_chars.DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [1696], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1695}, "test_generate_password_allowed_chars.DummyBIP85.derive_entropy": {"executed_lines": [1702], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1699}, "test_semantic_endpoints": {"executed_lines": [1724, 1726, 1727, 1733, 1741, 1744, 1747, 1752, 1756, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1723}, "test_semantic_endpoints.DummySemanticService.__init__": {"executed_lines": [1728, 1729, 1730, 1731], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1727}, "test_semantic_endpoints.DummySemanticService.status": {"executed_lines": [1734], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1733}, "test_semantic_endpoints.DummySemanticService.build": {"executed_lines": [1742], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1741}, "test_semantic_endpoints.DummySemanticService.rebuild": {"executed_lines": [1745], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1744}, "test_semantic_endpoints.DummySemanticService.set_enabled": {"executed_lines": [1748, 1749, 1750], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1747}, "test_semantic_endpoints.DummySemanticService.set_mode": {"executed_lines": [1753, 1754], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1752}, "test_semantic_endpoints.DummySemanticService.search": {"executed_lines": [1764, 1765], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1756}, "test_semantic_search_requires_query": {"executed_lines": [1805, 1806, 1807, 1808, 1809], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1804}, "test_semantic_config_requires_enabled_or_mode": {"executed_lines": [1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1813}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 76, 77, 112, 113, 159, 160, 198, 199, 260, 261, 274, 275, 315, 316, 348, 349, 368, 369, 379, 380, 398, 399, 407, 408, 440, 441, 463, 464, 491, 492, 517, 518, 557, 558, 589, 590, 615, 616, 633, 634, 650, 651, 675, 676, 699, 700, 717, 718, 729, 730, 741, 742, 753, 754, 763, 764, 796, 797, 822, 823, 844, 845, 867, 868, 901, 902, 929, 930, 958, 959, 998, 999, 1018, 1019, 1031, 1032, 1050, 1051, 1059, 1060, 1077, 1078, 1099, 1100, 1121, 1122, 1152, 1153, 1195, 1196, 1222, 1223, 1253, 1254, 1293, 1294, 1345, 1346, 1394, 1395, 1423, 1424, 1456, 1457, 1490, 1491, 1523, 1524, 1553, 1554, 1592, 1593, 1610, 1611, 1660, 1661, 1690, 1691, 1722, 1723, 1803, 1804, 1812, 1813], "summary": {"covered_lines": 144, "num_statements": 144, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_generate_password_no_special_chars.DummyEnc": {"executed_lines": [1666], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1664}, "test_generate_password_no_special_chars.DummyBIP85": {"executed_lines": [1672], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1668}, "test_generate_password_allowed_chars.DummyEnc": {"executed_lines": [1696], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1694}, "test_generate_password_allowed_chars.DummyBIP85": {"executed_lines": [1702], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1698}, "test_semantic_endpoints.DummySemanticService": {"executed_lines": [1728, 1729, 1730, 1731, 1734, 1742, 1745, 1748, 1749, 1750, 1753, 1754, 1764, 1765], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1726}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109, 112, 113, 114, 115, 117, 118, 119, 121, 122, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195, 198, 199, 200, 201, 203, 204, 205, 213, 214, 215, 217, 218, 219, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257, 260, 261, 262, 264, 265, 267, 268, 269, 270, 271, 274, 275, 278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312, 315, 316, 317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345, 348, 349, 350, 351, 353, 354, 356, 357, 358, 363, 364, 365, 368, 369, 370, 371, 372, 373, 374, 375, 376, 379, 380, 381, 382, 385, 386, 387, 388, 389, 390, 391, 398, 399, 400, 401, 404, 407, 408, 409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437, 440, 441, 442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460, 463, 464, 465, 466, 468, 469, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488, 491, 492, 493, 494, 496, 497, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514, 517, 518, 519, 520, 521, 522, 524, 525, 527, 528, 530, 531, 533, 534, 535, 537, 538, 539, 541, 542, 544, 545, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 563, 564, 565, 567, 568, 570, 572, 573, 574, 576, 578, 579, 580, 585, 586, 589, 590, 591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612, 615, 616, 617, 618, 619, 620, 624, 625, 630, 633, 634, 635, 636, 637, 638, 639, 641, 642, 647, 650, 651, 652, 653, 655, 656, 657, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672, 675, 676, 677, 678, 680, 681, 682, 683, 684, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 699, 700, 701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714, 717, 718, 719, 720, 721, 723, 724, 725, 726, 729, 730, 731, 732, 733, 735, 736, 737, 738, 741, 742, 743, 744, 745, 747, 748, 749, 750, 753, 754, 755, 756, 757, 758, 759, 760, 763, 764, 765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793, 796, 797, 798, 799, 801, 802, 804, 805, 807, 808, 810, 811, 816, 817, 818, 819, 822, 823, 824, 825, 826, 828, 830, 834, 835, 836, 838, 841, 844, 845, 848, 849, 850, 851, 856, 861, 862, 863, 864, 867, 868, 871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898, 901, 902, 905, 906, 907, 908, 919, 924, 925, 926, 929, 930, 933, 934, 935, 936, 937, 948, 953, 954, 955, 958, 959, 962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995, 998, 999, 1002, 1003, 1004, 1008, 1013, 1014, 1015, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1031, 1032, 1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1059, 1060, 1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1077, 1078, 1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1099, 1100, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1121, 1122, 1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192, 1195, 1196, 1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250, 1253, 1254, 1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342, 1345, 1346, 1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391, 1394, 1395, 1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453, 1456, 1457, 1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487, 1490, 1491, 1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520, 1523, 1524, 1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550, 1553, 1554, 1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1602, 1607, 1610, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1621, 1622, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1665, 1668, 1669, 1674, 1677, 1679, 1680, 1685, 1686, 1687, 1690, 1691, 1692, 1694, 1695, 1698, 1699, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719, 1722, 1723, 1724, 1726, 1727, 1733, 1741, 1744, 1747, 1752, 1756, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1812, 1813, 1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 994, "num_statements": 994, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api_notifications.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 16, 17, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 38, 41, 42, 43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_notifications_endpoint": {"executed_lines": [9, 10, 11, 12, 13, 16, 17, 21], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_notifications_endpoint_clears_queue": {"executed_lines": [26, 27, 28, 29, 32, 33, 34, 35, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_notifications_endpoint_does_not_clear_current": {"executed_lines": [43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 24, 25, 41, 42], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 16, 17, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 38, 41, 42, 43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api_profile_stats.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_stats_endpoint": {"executed_lines": [6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "": {"executed_lines": [1, 4, 5], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api_rate_limit.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_rate_limit_exceeded": {"executed_lines": [15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_api_reload_relays.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_reload_relays_logs_errors": {"executed_lines": [8, 11, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_reload_relays_logs_errors.close": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_reload_relays_logs_errors.init": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_archive_from_retrieve.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_archive_entry_from_retrieve": {"executed_lines": [23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_restore_entry_from_retrieve": {"executed_lines": [55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 22, 53], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_archive_nonpassword.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_archive_nonpassword_list_search": {"executed_lines": [23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_archive_restore.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 179, "num_statements": 179, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [21, 22, 23, 24], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_archive_restore_affects_listing_and_search": {"executed_lines": [28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_view_archived_entries_cli": {"executed_lines": [57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "test_view_archived_entries_view_only": {"executed_lines": [89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88}, "test_view_archived_entries_removed_after_restore": {"executed_lines": [123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122}, "test_archived_entries_menu_hides_active": {"executed_lines": [161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "test_view_archived_entries_refreshes_after_view_action": {"executed_lines": [199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 27, 56, 88, 122, 160, 198], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 179, "num_statements": 179, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_atomic_write.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 17, 18, 20, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 41, 44, 45, 46, 47, 49, 50, 53, 56, 59, 61, 62, 65, 67, 69, 70, 72, 73, 76, 77], "summary": {"covered_lines": 40, "num_statements": 42, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [10, 11], "excluded_lines": [], "functions": {"_writer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11], "excluded_lines": [], "start_line": 9}, "test_atomic_write_concurrent": {"executed_lines": [17, 18, 20, 24, 25, 26, 27, 29, 30, 31], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_atomic_write_cleanup_on_failure": {"executed_lines": [36, 39, 41, 49, 50, 53, 56], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_atomic_write_cleanup_on_failure.failing_writer": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "test_atomic_write_preserves_existing_on_failure": {"executed_lines": [61, 62, 65, 67, 72, 73, 76, 77], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_atomic_write_preserves_existing_on_failure.failing_writer": {"executed_lines": [69, 70], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 34, 59], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 17, 18, 20, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 41, 44, 45, 46, 47, 49, 50, 53, 56, 59, 61, 62, 65, 67, 69, 70, 72, 73, 76, 77], "summary": {"covered_lines": 40, "num_statements": 42, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [10, 11], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_audit_logger.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_audit_logger_records_events": {"executed_lines": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_verify_chain": {"executed_lines": [58, 59, 60, 61, 62, 63, 66, 67, 68, 69], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "test_audit_log_tamper_evident": {"executed_lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 57, 72], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_auto_sync.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 30, 32, 34, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_auto_sync_triggers_post": {"executed_lines": [14, 30, 32, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_auto_sync_triggers_post.fake_post": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 30, 32, 34, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_background_error_reporting.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 42, 43, 44, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [8, 9, 10, 11, 12, 15, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_start_background_sync_error": {"executed_lines": [20, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_start_background_sync_error.failing_sync": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_start_background_relay_check_error": {"executed_lines": [40, 42, 43, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "test_start_background_relay_check_error.DummyClient.check_relay_health": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [1, 2, 4, 7, 19, 39], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_start_background_relay_check_error.DummyClient": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 42, 43, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_background_relay_check.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 23, 24, 26, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_background_relay_check_runs_async": {"executed_lines": [14, 15, 16, 17, 18, 23, 24, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_background_relay_check_warns_when_unhealthy": {"executed_lines": [30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 29], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 23, 24, 26, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_background_sync_always.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 36, 38, 40, 41, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 61, 63, 65, 66], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_switch_fingerprint_triggers_bg_sync": {"executed_lines": [12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 38, 40, 41], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_switch_fingerprint_triggers_bg_sync.fake_bg": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_exit_managed_account_triggers_bg_sync": {"executed_lines": [45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 63, 65, 66], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_exit_managed_account_triggers_bg_sync.fake_bg": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 44], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 36, 38, 40, 41, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 61, 63, 65, 66], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_background_vault_sync_paths.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 14, 15, 17, 18, 22, 23, 24, 25, 27, 28, 30, 32, 34, 35, 38, 39, 40, 42, 44, 45, 47, 48, 52, 53, 54, 56, 58, 59, 62, 63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_start_background_vault_sync_thread_worker_path": {"executed_lines": [9, 10, 12, 14, 17, 18, 22, 23, 27, 30, 32, 34, 35], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_start_background_vault_sync_thread_worker_path.fake_sync_vault_async": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_start_background_vault_sync_thread_worker_path.ImmediateThread.__init__": {"executed_lines": [24, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_start_background_vault_sync_thread_worker_path.ImmediateThread.start": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_start_background_vault_sync_async_worker_path": {"executed_lines": [39, 40, 42, 44, 47, 48, 52, 56, 58, 59], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "test_start_background_vault_sync_async_worker_path.fake_sync_vault_async": {"executed_lines": [45], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_start_background_vault_sync_async_worker_path.runner": {"executed_lines": [53, 54], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_sync_vault_async_sets_offline_error": {"executed_lines": [63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "": {"executed_lines": [1, 2, 4, 5, 8, 38, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_start_background_vault_sync_thread_worker_path.ImmediateThread": {"executed_lines": [24, 25, 28], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 14, 15, 17, 18, 22, 23, 27, 30, 32, 34, 35, 38, 39, 40, 42, 44, 45, 47, 48, 52, 53, 54, 56, 58, 59, 62, 63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_backup_interval.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_interval": {"executed_lines": [12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_backup_restore.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_restore_workflow": {"executed_lines": [16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_additional_backup_location": {"executed_lines": [89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 88], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_backup_restore_startup.py": {"executed_lines": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_cli_flag_restores_before_init": {"executed_lines": [6, 7, 8, 10, 13, 14, 19, 20, 21, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "test_cli_flag_restores_before_init.fake_restore": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_cli_flag_restores_before_init.DummyPM.__init__": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_menu_option_restores_before_init": {"executed_lines": [32, 33, 34, 36, 39, 40, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_menu_option_restores_before_init.fake_restore": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_menu_option_restores_before_init.DummyPM.__init__": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [1, 2, 5, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_cli_flag_restores_before_init.DummyPM": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_menu_option_restores_before_init.DummyPM": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "": {"executed_lines": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 40, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_bip85_compliance.py": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 29, 30, 31, 32, 35, 42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_bip85_symmetric_key_stability": {"executed_lines": [29, 30, 31, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_bip85_app_no_39_default_behavior": {"executed_lines": [42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 35], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 29, 30, 31, 32, 35, 42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_bip85_derivation_path.py": {"executed_lines": [1, 3, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 21, 22, 23, 26, 27, 28, 29, 31, 37, 38, 44, 47, 48, 49, 50, 52, 54, 57, 58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"DummyChild.PrivateKey": {"executed_lines": [8], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "DummyChild.Raw": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "DummyChild.ToBytes": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "DummyCtx.__init__": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "DummyCtx.DerivePath": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_derivation_paths_for_entropy_lengths": {"executed_lines": [27, 28, 29, 31, 37, 38, 44], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_default_word_count_from_entropy_bytes": {"executed_lines": [48, 49, 50, 52, 54], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "test_derive_entropy_logs_do_not_expose_key_material": {"executed_lines": [58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "": {"executed_lines": [1, 3, 6, 7, 10, 13, 17, 18, 21, 26, 47, 57], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyChild": {"executed_lines": [8, 11, 14], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "DummyCtx": {"executed_lines": [19, 22, 23], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 3, 6, 7, 10, 13, 17, 18, 21, 26, 27, 28, 29, 31, 37, 38, 44, 47, 48, 49, 50, 52, 54, 57, 58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_bip85_init.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_init_with_seed_bytes": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_init_with_xprv": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_initialize_bip85_works_while_locked": {"executed_lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 20, 25], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_bip85_vectors.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 56, 57, 58], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"bip85": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_bip85_mnemonic_12": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_bip85_mnemonic_24": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_bip85_symmetric_key": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "test_derive_totp_secret": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_derive_ssh_key": {"executed_lines": [47], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_derive_seed_phrase": {"executed_lines": [51], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_invalid_params": {"executed_lines": [55, 56, 57, 58], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 30, 34, 38, 42, 46, 50, 54], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 56, 57, 58], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_check_critical_coverage.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 35, 38, 48, 49, 50, 53, 54, 60, 61, 64, 65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_load_module": {"executed_lines": [11, 12, 13, 16, 17, 18, 19, 20], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_default_thresholds_include_tui2_service_module": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_parse_threshold_overrides_valid": {"executed_lines": [31, 34, 35], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_parse_threshold_overrides_invalid": {"executed_lines": [49, 50], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "test_find_file_payload_accepts_absolute_path_suffix": {"executed_lines": [54, 60, 61], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "test_compute_function_coverage_reports_uncovered": {"executed_lines": [65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 23, 26, 30, 38, 48, 53, 64], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 35, 38, 48, 49, 50, 53, 54, 60, 61, 64, 65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_check_determinism_suite.py": {"executed_lines": [1, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19, 22, 23, 29, 30, 36, 37, 41, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_load_module": {"executed_lines": [8, 9, 10, 13, 14, 15, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_extract_nodeids_filters_noise": {"executed_lines": [23, 29, 30], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_extract_file_set_normalizes_windows_paths": {"executed_lines": [37, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [1, 3, 4, 7, 19, 22, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19, 22, 23, 29, 30, 36, 37, 41, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_checksum_utils.py": {"executed_lines": [1, 2, 3, 5, 6, 9, 10, 11, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 56], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_json_checksum": {"executed_lines": [10, 11, 14], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_calculate_checksum": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_calculate_checksum_missing": {"executed_lines": [27, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_verify_and_update": {"executed_lines": [32, 33, 34, 35, 37, 38, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_initialize_checksum": {"executed_lines": [43, 44, 45, 46, 47, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_verify_checksum_missing": {"executed_lines": [52, 53, 54, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "": {"executed_lines": [1, 2, 3, 5, 6, 9, 17, 26, 31, 42, 51], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 9, 10, 11, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 56], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_agent_mode.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 43, 44, 45, 46, 47, 50, 51, 52, 53, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122, 125, 126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145, 148, 149, 150, 151, 160, 161, 162, 165, 166, 167, 169, 170, 171, 173, 174, 189, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 211, 212, 213, 215, 216, 218, 219, 221, 222, 224, 225, 231, 234, 235, 236, 237, 238, 239, 242, 243, 244, 252, 253, 254, 256, 257, 259, 260, 262, 263, 272, 273, 274, 275, 276, 279, 280, 281, 289, 290, 291, 293, 294, 299, 300, 306, 307, 308, 309, 310, 311, 314, 315, 316, 324, 325, 326, 328, 329, 331, 332, 334, 335, 341, 344, 345, 346, 347, 348, 351, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 376, 378, 379, 381, 382, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444, 447, 448, 449, 457, 458, 459, 461, 462, 464, 465, 467, 468, 470, 471, 484, 485, 486, 487, 488, 489, 492, 493, 494, 495, 503, 504, 505, 507, 508, 510, 511, 513, 514, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586, 589, 590, 591, 592, 600, 601, 602, 604, 605, 606, 607, 608, 609, 610, 612, 613, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699, 702, 703, 704, 705, 713, 714, 715, 717, 718, 720, 721, 722, 723, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799, 802, 803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836, 839, 840, 842, 843, 844, 845, 853, 854, 855, 857, 858, 860, 861, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927, 930, 931, 932, 933, 941, 942, 943, 945, 946, 948, 949, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997, 1000, 1001, 1013, 1014, 1015, 1016, 1017, 1020, 1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044, 1045, 1063, 1064, 1065, 1068, 1071, 1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1109, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131, 1134, 1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160, 1163, 1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1197, 1199, 1200, 1211, 1212, 1215, 1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242, 1245, 1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273, 1276, 1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316, 1319, 1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350, 1353, 1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1418, 1420, 1421, 1423, 1424, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511, 1514, 1515, 1517, 1518, 1519, 1520, 1528, 1529, 1530, 1532, 1533, 1535, 1536, 1538, 1539, 1549, 1550, 1551, 1552, 1553, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1576, 1577, 1578, 1583, 1591, 1592, 1593, 1595, 1596, 1598, 1599, 1601, 1602, 1604, 1605, 1618, 1633, 1634, 1635, 1638, 1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1686, 1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724, 1727, 1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1758, 1760, 1761, 1763, 1764, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839, 1842, 1843, 1844, 1846, 1853, 1858, 1870, 1871, 1872, 1874, 1875, 1881, 1882, 1894, 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927, 1930, 1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1962, 1963, 1964, 1965, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2025, 2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2061, 2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100, 2103, 2104, 2105, 2106, 2107, 2108, 2111, 2112, 2113, 2115, 2116, 2117, 2119, 2120, 2122, 2123, 2125, 2126, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2159, 2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2183, 2184, 2185, 2188, 2189, 2190, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2203, 2204, 2205, 2208, 2209, 2210, 2211, 2212, 2215, 2216, 2217, 2220, 2223, 2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251, 2254, 2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279, 2282, 2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 902, "num_statements": 904, "percent_covered": 99.77876106194691, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 99.77876106194691, "percent_statements_covered_display": "99"}, "missing_lines": [864, 952], "excluded_lines": [], "functions": {"test_agent_policy_show_defaults": {"executed_lines": [19, 20, 21, 22, 23, 24], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_agent_policy_set_persists": {"executed_lines": [28, 29, 43, 44, 45, 46, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_agent_policy_lint_file": {"executed_lines": [51, 52, 53, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_agent_policy_review_and_apply_risk_gate": {"executed_lines": [83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "test_agent_init_creates_profile": {"executed_lines": [126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "test_agent_init_requires_password_env": {"executed_lines": [149, 150, 151, 160, 161, 162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148}, "test_agent_init_keyring_broker": {"executed_lines": [166, 167, 169, 173, 174, 189, 190, 191, 192], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165}, "test_agent_init_keyring_broker.fake_resolve_password": {"executed_lines": [170, 171], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169}, "test_agent_get_requires_fingerprint": {"executed_lines": [196, 197, 198], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195}, "test_agent_get_password_json": {"executed_lines": [202, 203, 211, 212, 215, 218, 221, 224, 225, 231, 234, 235, 236, 237, 238, 239], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "test_agent_get_password_json.DummyEntryService.__init__": {"executed_lines": [213], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 212}, "test_agent_get_password_json.DummyEntryService.search_entries": {"executed_lines": [216], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 215}, "test_agent_get_password_json.DummyEntryService.retrieve_entry": {"executed_lines": [219], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218}, "test_agent_get_password_json.DummyEntryService.generate_password": {"executed_lines": [222], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221}, "test_agent_get_denied_by_policy": {"executed_lines": [243, 244, 252, 253, 256, 259, 262, 263, 272, 273, 274, 275, 276], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242}, "test_agent_get_denied_by_policy.DummyEntryService.__init__": {"executed_lines": [254], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 253}, "test_agent_get_denied_by_policy.DummyEntryService.search_entries": {"executed_lines": [257], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256}, "test_agent_get_denied_by_policy.DummyEntryService.retrieve_entry": {"executed_lines": [260], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259}, "test_agent_get_ambiguous_returns_error_payload": {"executed_lines": [280, 281, 289, 290, 293, 299, 300, 306, 307, 308, 309, 310, 311], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService.__init__": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService.search_entries": {"executed_lines": [294], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293}, "test_agent_get_key_value_json": {"executed_lines": [315, 316, 324, 325, 328, 331, 334, 335, 341, 344, 345, 346, 347, 348], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 314}, "test_agent_get_key_value_json.DummyEntryService.__init__": {"executed_lines": [326], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 325}, "test_agent_get_key_value_json.DummyEntryService.search_entries": {"executed_lines": [329], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 328}, "test_agent_get_key_value_json.DummyEntryService.retrieve_entry": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 331}, "test_agent_get_private_kind_requires_approval": {"executed_lines": [352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 378, 381, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 351}, "test_agent_get_private_kind_requires_approval.DummyEntryService.__init__": {"executed_lines": [376], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375}, "test_agent_get_private_kind_requires_approval.DummyEntryService.search_entries": {"executed_lines": [379], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378}, "test_agent_get_private_kind_requires_approval.DummyEntryService.retrieve_entry": {"executed_lines": [382], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 381}, "test_agent_get_safe_output_masks_by_default": {"executed_lines": [448, 449, 457, 458, 461, 464, 467, 470, 471, 484, 485, 486, 487, 488, 489], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 447}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.__init__": {"executed_lines": [459], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 458}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.search_entries": {"executed_lines": [462], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 461}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.retrieve_entry": {"executed_lines": [465], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 464}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.generate_password": {"executed_lines": [468], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 467}, "test_agent_token_issue_and_use_limit": {"executed_lines": [493, 494, 495, 503, 504, 507, 510, 513, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 492}, "test_agent_token_issue_and_use_limit.DummyEntryService.__init__": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 504}, "test_agent_token_issue_and_use_limit.DummyEntryService.search_entries": {"executed_lines": [508], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 507}, "test_agent_token_issue_and_use_limit.DummyEntryService.retrieve_entry": {"executed_lines": [511], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 510}, "test_agent_token_issue_and_use_limit.DummyEntryService.generate_password": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 513}, "test_agent_document_import_with_token_scope": {"executed_lines": [590, 591, 592, 600, 601, 604, 612, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589}, "test_agent_document_import_with_token_scope.DummyEntryService.__init__": {"executed_lines": [602], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 601}, "test_agent_document_import_with_token_scope.DummyEntryService.import_document_file": {"executed_lines": [605, 606, 607, 608, 609, 610], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 604}, "test_agent_document_import_with_token_scope.DummyEntryService.retrieve_entry": {"executed_lines": [613], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 612}, "test_agent_document_export_with_token_scope": {"executed_lines": [703, 704, 705, 713, 714, 717, 720, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 702}, "test_agent_document_export_with_token_scope.DummyEntryService.__init__": {"executed_lines": [715], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 714}, "test_agent_document_export_with_token_scope.DummyEntryService.retrieve_entry": {"executed_lines": [718], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 717}, "test_agent_document_export_with_token_scope.DummyEntryService.export_document_file": {"executed_lines": [721, 722, 723], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 720}, "test_agent_identity_create_list_revoke": {"executed_lines": [803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 802}, "test_agent_token_denied_when_identity_revoked": {"executed_lines": [840, 842, 843, 844, 845, 853, 854, 857, 860, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 839}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.__init__": {"executed_lines": [855], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 854}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.search_entries": {"executed_lines": [858], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 857}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.retrieve_entry": {"executed_lines": [861], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 860}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [864], "excluded_lines": [], "start_line": 863}, "test_agent_token_denied_when_identity_missing": {"executed_lines": [931, 932, 933, 941, 942, 945, 948, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 930}, "test_agent_token_denied_when_identity_missing.DummyEntryService.__init__": {"executed_lines": [943], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 942}, "test_agent_token_denied_when_identity_missing.DummyEntryService.search_entries": {"executed_lines": [946], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 945}, "test_agent_token_denied_when_identity_missing.DummyEntryService.retrieve_entry": {"executed_lines": [949], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 948}, "test_agent_token_denied_when_identity_missing.DummyEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [952], "excluded_lines": [], "start_line": 951}, "test_agent_job_run_rejects_env_broker_by_default": {"executed_lines": [1001, 1013, 1014, 1015, 1016, 1017], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1000}, "test_agent_job_template_cron_json": {"executed_lines": [1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1020}, "test_agent_job_template_systemd_text": {"executed_lines": [1045, 1063, 1064, 1065, 1068], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1044}, "test_agent_job_profile_lifecycle": {"executed_lines": [1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1071}, "test_agent_job_profile_lifecycle.fake_job_run": {"executed_lines": [1109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1108}, "test_agent_job_profile_run_fingerprint_mismatch": {"executed_lines": [1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1134}, "test_agent_job_profile_run_policy_mismatch": {"executed_lines": [1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1199, 1200, 1211, 1212], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1163}, "test_agent_job_profile_run_policy_mismatch.fake_job_run": {"executed_lines": [1197], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1196}, "test_agent_job_profile_run_host_mismatch": {"executed_lines": [1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1215}, "test_agent_job_profile_check_detects_policy_drift": {"executed_lines": [1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1245}, "test_agent_recovery_split_and_recover_roundtrip": {"executed_lines": [1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1276}, "test_agent_recovery_recover_insufficient_shares": {"executed_lines": [1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1319}, "test_agent_recovery_drill_records_and_strict_exit": {"executed_lines": [1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1353}, "test_agent_high_risk_unlock_required_for_private_kind": {"executed_lines": [1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1420, 1423, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1394}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.__init__": {"executed_lines": [1418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1417}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.search_entries": {"executed_lines": [1421], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1420}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.retrieve_entry": {"executed_lines": [1424], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1423}, "test_agent_get_private_kind_without_approval_denied": {"executed_lines": [1515, 1517, 1518, 1519, 1520, 1528, 1529, 1532, 1535, 1538, 1539, 1549, 1550, 1551, 1552, 1553], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1514}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.__init__": {"executed_lines": [1530], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1529}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.search_entries": {"executed_lines": [1533], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1532}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.retrieve_entry": {"executed_lines": [1536], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1535}, "test_agent_policy_show_invalid_json": {"executed_lines": [1557, 1558, 1559, 1560, 1561, 1562], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1556}, "test_agent_get_denied_when_policy_invalid": {"executed_lines": [1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1565}, "test_agent_get_keyring_defaults_account_to_fingerprint": {"executed_lines": [1577, 1578, 1583, 1591, 1592, 1595, 1598, 1601, 1604, 1605, 1618, 1633, 1634, 1635], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1576}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.__init__": {"executed_lines": [1593], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1592}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.search_entries": {"executed_lines": [1596], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1595}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.retrieve_entry": {"executed_lines": [1599], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1598}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.generate_password": {"executed_lines": [1602], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1601}, "test_agent_bootstrap_context": {"executed_lines": [1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1638}, "test_agent_bootstrap_context_invalid_policy": {"executed_lines": [1668, 1669, 1670, 1671, 1672, 1673], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1667}, "test_agent_posture_check_clean": {"executed_lines": [1677, 1678, 1679, 1680, 1681, 1682, 1683], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1676}, "test_agent_approval_issue_list_and_revoke": {"executed_lines": [1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1686}, "test_agent_secret_lease_issue_consume_and_exhaust": {"executed_lines": [1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1760, 1763, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1727}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.__init__": {"executed_lines": [1758], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1757}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.search_entries": {"executed_lines": [1761], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1760}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.retrieve_entry": {"executed_lines": [1764], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1763}, "test_agent_lease_consume_hydrates_partitioned_private_entry": {"executed_lines": [1843, 1844, 1846, 1853, 1858, 1870, 1871, 1874, 1881, 1882, 1894, 1896, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1842}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService.__init__": {"executed_lines": [1872], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1871}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService.retrieve_entry": {"executed_lines": [1875], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1874}, "test_agent_lease_consume_hydrates_partitioned_private_entry.fake_hydrate": {"executed_lines": [1897, 1898, 1899, 1900], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1896}, "test_agent_high_risk_partition_migrate_command": {"executed_lines": [1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1930}, "test_agent_high_risk_partition_migrate_command.fake_migrate": {"executed_lines": [1962, 1963, 1964, 1965], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1959}, "test_agent_posture_check_invalid_policy_fails": {"executed_lines": [1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1992}, "test_agent_posture_check_high_risk_policy": {"executed_lines": [2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2003}, "test_agent_posture_check_flags_policy_gate_and_rule_issues": {"executed_lines": [2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2025}, "test_agent_posture_check_flags_token_rotation_overdue": {"executed_lines": [2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2061}, "test_agent_posture_check_runtime_requires_fingerprint": {"executed_lines": [2104, 2105, 2106, 2107, 2108], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2103}, "test_agent_posture_check_runtime_config_findings": {"executed_lines": [2112, 2113, 2115, 2116, 2119, 2122, 2125, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2111}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_quick_unlock": {"executed_lines": [2117], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2116}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_kdf_mode": {"executed_lines": [2120], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2119}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_kdf_iterations": {"executed_lines": [2123], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2122}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_secret_class_partitions": {"executed_lines": [2126], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2125}, "test_agent_posture_remediate_emits_actions": {"executed_lines": [2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2159}, "test_agent_posture_remediate_runtime_requires_fingerprint": {"executed_lines": [2184, 2185, 2188, 2189, 2190], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2183}, "test_agent_export_check_full_denied_by_default": {"executed_lines": [2194, 2195, 2196, 2197, 2198, 2199, 2200], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2193}, "test_agent_export_check_kind_allowed_default": {"executed_lines": [2204, 2205, 2208, 2209, 2210, 2211, 2212], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2203}, "test_agent_export_check_strict_exit": {"executed_lines": [2216, 2217, 2220], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2215}, "test_agent_export_manifest_verify_ok": {"executed_lines": [2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2223}, "test_agent_export_manifest_verify_detects_policy_mismatch": {"executed_lines": [2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2254}, "test_agent_export_manifest_verify_detects_tampered_entries": {"executed_lines": [2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2282}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 27, 50, 82, 125, 148, 165, 195, 201, 242, 279, 314, 351, 447, 492, 589, 702, 802, 839, 930, 1000, 1020, 1044, 1071, 1134, 1163, 1215, 1245, 1276, 1319, 1353, 1394, 1514, 1556, 1565, 1576, 1638, 1667, 1676, 1686, 1727, 1842, 1930, 1992, 2003, 2025, 2061, 2103, 2111, 2159, 2183, 2193, 2203, 2215, 2223, 2254, 2282], "summary": {"covered_lines": 68, "num_statements": 68, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_agent_get_password_json.DummyEntryService": {"executed_lines": [213, 216, 219, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211}, "test_agent_get_denied_by_policy.DummyEntryService": {"executed_lines": [254, 257, 260], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService": {"executed_lines": [291, 294], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 289}, "test_agent_get_key_value_json.DummyEntryService": {"executed_lines": [326, 329, 332], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 324}, "test_agent_get_private_kind_requires_approval.DummyEntryService": {"executed_lines": [376, 379, 382], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 374}, "test_agent_get_safe_output_masks_by_default.DummyEntryService": {"executed_lines": [459, 462, 465, 468], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 457}, "test_agent_token_issue_and_use_limit.DummyEntryService": {"executed_lines": [505, 508, 511, 514], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 503}, "test_agent_document_import_with_token_scope.DummyEntryService": {"executed_lines": [602, 605, 606, 607, 608, 609, 610, 613], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 600}, "test_agent_document_export_with_token_scope.DummyEntryService": {"executed_lines": [715, 718, 721, 722, 723], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 713}, "test_agent_token_denied_when_identity_revoked.DummyEntryService": {"executed_lines": [855, 858, 861], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [864], "excluded_lines": [], "start_line": 853}, "test_agent_token_denied_when_identity_missing.DummyEntryService": {"executed_lines": [943, 946, 949], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [952], "excluded_lines": [], "start_line": 941}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService": {"executed_lines": [1418, 1421, 1424], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1416}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService": {"executed_lines": [1530, 1533, 1536], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1528}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService": {"executed_lines": [1593, 1596, 1599, 1602], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1591}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService": {"executed_lines": [1758, 1761, 1764], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1756}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService": {"executed_lines": [1872, 1875], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1870}, "test_agent_posture_check_runtime_config_findings.DummyConfig": {"executed_lines": [2117, 2120, 2123, 2126], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2115}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 43, 44, 45, 46, 47, 50, 51, 52, 53, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122, 125, 126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145, 148, 149, 150, 151, 160, 161, 162, 165, 166, 167, 169, 170, 171, 173, 174, 189, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 211, 212, 215, 218, 221, 224, 225, 231, 234, 235, 236, 237, 238, 239, 242, 243, 244, 252, 253, 256, 259, 262, 263, 272, 273, 274, 275, 276, 279, 280, 281, 289, 290, 293, 299, 300, 306, 307, 308, 309, 310, 311, 314, 315, 316, 324, 325, 328, 331, 334, 335, 341, 344, 345, 346, 347, 348, 351, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 378, 381, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444, 447, 448, 449, 457, 458, 461, 464, 467, 470, 471, 484, 485, 486, 487, 488, 489, 492, 493, 494, 495, 503, 504, 507, 510, 513, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586, 589, 590, 591, 592, 600, 601, 604, 612, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699, 702, 703, 704, 705, 713, 714, 717, 720, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799, 802, 803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836, 839, 840, 842, 843, 844, 845, 853, 854, 857, 860, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927, 930, 931, 932, 933, 941, 942, 945, 948, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997, 1000, 1001, 1013, 1014, 1015, 1016, 1017, 1020, 1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044, 1045, 1063, 1064, 1065, 1068, 1071, 1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1109, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131, 1134, 1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160, 1163, 1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1197, 1199, 1200, 1211, 1212, 1215, 1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242, 1245, 1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273, 1276, 1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316, 1319, 1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350, 1353, 1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1420, 1423, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511, 1514, 1515, 1517, 1518, 1519, 1520, 1528, 1529, 1532, 1535, 1538, 1539, 1549, 1550, 1551, 1552, 1553, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1576, 1577, 1578, 1583, 1591, 1592, 1595, 1598, 1601, 1604, 1605, 1618, 1633, 1634, 1635, 1638, 1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1686, 1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724, 1727, 1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1760, 1763, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839, 1842, 1843, 1844, 1846, 1853, 1858, 1870, 1871, 1874, 1881, 1882, 1894, 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927, 1930, 1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1962, 1963, 1964, 1965, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2025, 2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2061, 2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100, 2103, 2104, 2105, 2106, 2107, 2108, 2111, 2112, 2113, 2115, 2116, 2119, 2122, 2125, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2159, 2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2183, 2184, 2185, 2188, 2189, 2190, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2203, 2204, 2205, 2208, 2209, 2210, 2211, 2212, 2215, 2216, 2217, 2220, 2223, 2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251, 2254, 2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279, 2282, 2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 841, "num_statements": 841, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_clipboard_flag.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 23, 26, 27, 30, 31, 32, 35, 36, 39, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_stub_service": {"executed_lines": [11, 12, 15, 18, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "_stub_service.Service.search_entries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "_stub_service.Service.retrieve_entry": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_stub_service.Service.generate_password": {"executed_lines": [19, 20, 21], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_entry_get_handles_missing_clipboard": {"executed_lines": [27, 30, 31, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_entry_get_no_clipboard_flag": {"executed_lines": [36, 39, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 26, 35], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_stub_service.Service": {"executed_lines": [13, 16, 19, 20, 21], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 15, 18, 23, 26, 27, 30, 31, 32, 35, 36, 39, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_config_set_extra.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31, 32, 34, 35, 36, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_config_set_variants": {"executed_lines": [32, 34, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_config_set_variants.func": {"executed_lines": [35, 36], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31, 32, 34, 35, 36, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_core_services.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 40, 41, 45, 52, 53, 54, 55, 58, 59, 61, 62, 63, 65, 66, 67, 69, 70, 71, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_cli_vault_unlock": {"executed_lines": [15, 17, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_cli_vault_unlock.unlock_vault": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_cli_vault_unlock_with_env_broker": {"executed_lines": [32, 33, 35, 39, 40, 41, 45, 52, 53, 54, 55], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_cli_vault_unlock_with_env_broker.unlock_vault": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_cli_entry_add_search_sync": {"executed_lines": [59, 61, 65, 69, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "test_cli_entry_add_search_sync.add_entry": {"executed_lines": [62, 63], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 61}, "test_cli_entry_add_search_sync.search_entries": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "test_cli_entry_add_search_sync.start_background_vault_sync": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 31, 58], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 40, 41, 45, 52, 53, 54, 55, 58, 59, 61, 62, 63, 65, 66, 67, 69, 70, 71, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_doc_examples.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 88, 89, 90, 92, 106, 109, 119, 122], "summary": {"covered_lines": 22, "num_statements": 60, "percent_covered": 36.666666666666664, "percent_covered_display": "37", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 36.666666666666664, "percent_statements_covered_display": "37"}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84, 96, 97, 98, 99, 100, 101, 102, 103, 110, 111, 112, 113, 116, 123, 124, 125, 126], "excluded_lines": [], "functions": {"DummyPM.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84], "excluded_lines": [], "start_line": 17}, "load_doc_commands": {"executed_lines": [88, 89, 90, 92], "summary": {"covered_lines": 4, "num_statements": 12, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 87}, "_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [110, 111, 112, 113, 116], "excluded_lines": [], "start_line": 109}, "test_doc_cli_examples": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124, 125, 126], "excluded_lines": [], "start_line": 123}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 106, 109, 119, 122], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95"}, "missing_lines": [123], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyPM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 88, 89, 90, 92, 106, 109, 119, 122], "summary": {"covered_lines": 22, "num_statements": 39, "percent_covered": 56.41025641025641, "percent_covered_display": "56", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 56.41025641025641, "percent_statements_covered_display": "56"}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 110, 111, 112, 113, 116, 123, 124, 125, 126], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_entry_add_commands.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 150, 152, 153, 154, 155, 157, 158, 160, 166, 167, 168, 169, 170, 171, 172, 175, 176, 178, 179, 180, 181, 183, 184, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218, 221, 222, 224, 225, 226, 227, 229, 235, 237, 249, 250, 251, 252, 255, 256, 258, 259, 260, 268, 269, 270, 272, 273, 274, 284, 285, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entry_add_commands": {"executed_lines": [150, 152, 157, 160, 166, 167, 168, 169, 170, 171, 172], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 147}, "test_entry_add_commands.func": {"executed_lines": [153, 154, 155], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 152}, "test_entry_add_commands.start_background_vault_sync": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157}, "test_entry_import_document_command": {"executed_lines": [176, 178, 183, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175}, "test_entry_import_document_command.import_document_file": {"executed_lines": [179, 180, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178}, "test_entry_import_document_command.start_background_vault_sync": {"executed_lines": [184], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 183}, "test_entry_export_document_command": {"executed_lines": [222, 224, 229, 235, 237, 249, 250, 251, 252], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221}, "test_entry_export_document_command.export_document_file": {"executed_lines": [225, 226, 227], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 224}, "test_entry_link_commands": {"executed_lines": [256, 258, 268, 272, 284, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255}, "test_entry_link_commands.add_link": {"executed_lines": [259, 260], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 258}, "test_entry_link_commands.remove_link": {"executed_lines": [269, 270], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268}, "test_entry_link_commands.get_links": {"executed_lines": [273, 274], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 272}, "test_entry_link_commands.start_background_vault_sync": {"executed_lines": [285], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 284}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 175, 221, 255], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 150, 152, 153, 154, 155, 157, 158, 160, 166, 167, 168, 169, 170, 171, 172, 175, 176, 178, 179, 180, 181, 183, 184, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218, 221, 222, 224, 225, 226, 227, 229, 235, 237, 249, 250, 251, 252, 255, 256, 258, 259, 260, 268, 269, 270, 272, 273, 274, 284, 285, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_export_import.py": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 28, 31, 32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93, 96, 97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 142, 143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 78, "num_statements": 78, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_pm": {"executed_lines": [16, 17, 18, 19, 28], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_cli_export_creates_file": {"executed_lines": [32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_cli_import_round_trip": {"executed_lines": [60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_cli_export_import_unencrypted": {"executed_lines": [97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "test_cli_export_requires_file": {"executed_lines": [130, 131, 132, 133, 134, 136, 137, 138, 139], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129}, "test_cli_import_handler_exception_returns_error": {"executed_lines": [143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142}, "": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 31, 59, 96, 129, 142], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 28, 31, 32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93, 96, 97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 142, 143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 78, "num_statements": 78, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_integration.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 40, "num_statements": 41, "percent_covered": 97.5609756097561, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.5609756097561, "percent_statements_covered_display": "98"}, "missing_lines": [52], "excluded_lines": [], "functions": {"test_cli_integration": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_cli_integration.auto_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52], "excluded_lines": [], "start_line": 51}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 40, "num_statements": 41, "percent_covered": 97.5609756097561, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.5609756097561, "percent_statements_covered_display": "98"}, "missing_lines": [52], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_invalid_input.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 19, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 115, 116, 117, 118, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133, 136, 137, 138, 140, 141, 143, 144, 145, 147, 148, 150, 151, 154, 155, 156, 158, 159, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 110, "num_statements": 113, "percent_covered": 97.34513274336283, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 97.34513274336283, "percent_statements_covered_display": "97"}, "missing_lines": [20, 23, 26], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [16, 17, 19, 22, 25, 28, 31, 34, 38, 55], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_make_pm.add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 19}, "_make_pm.retrieve": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [23], "excluded_lines": [], "start_line": 22}, "_make_pm.modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26], "excluded_lines": [], "start_line": 25}, "_make_pm.update": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "_make_pm.lock": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "_make_pm.unlock": {"executed_lines": [35, 36], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_empty_and_non_numeric_choice": {"executed_lines": [59, 60, 61, 62, 63, 64, 65, 66, 67], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "test_out_of_range_menu": {"executed_lines": [71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "test_invalid_add_entry_submenu": {"executed_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "test_inactivity_timeout_loop": {"executed_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "test_inactivity_timeout_unlock_cancelled_stays_in_menu": {"executed_lines": [111, 112, 113, 115, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "test_inactivity_timeout_unlock_cancelled_stays_in_menu.unlock_fail": {"executed_lines": [116, 117, 118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115}, "test_menu_action_seedpass_error_does_not_crash": {"executed_lines": [137, 138, 140, 143, 144, 145, 147, 148, 150, 151], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136}, "test_menu_action_seedpass_error_does_not_crash.fail_retrieve": {"executed_lines": [141], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140}, "test_menu_action_password_prompt_error_does_not_crash": {"executed_lines": [155, 156, 158, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154}, "test_menu_action_password_prompt_error_does_not_crash.fail_retrieve": {"executed_lines": [159], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 58, 70, 82, 95, 110, 136, 154], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 19, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 115, 116, 117, 118, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133, 136, 137, 138, 140, 141, 143, 144, 145, 147, 148, 150, 151, 154, 155, 156, 158, 159, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 110, "num_statements": 113, "percent_covered": 97.34513274336283, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 97.34513274336283, "percent_statements_covered_display": "97"}, "missing_lines": [20, 23, 26], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_relays.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 15, 16, 18, 19, 21, 23, 24, 26, 28, 31, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 89.1891891891892, "percent_statements_covered_display": "89"}, "missing_lines": [13, 20, 25, 27], "excluded_lines": [], "functions": {"DummyService.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "DummyService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13], "excluded_lines": [], "start_line": 12}, "DummyService.list_relays": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "DummyService.add_relay": {"executed_lines": [19, 21], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [20], "excluded_lines": [], "start_line": 18}, "DummyService.remove_relay": {"executed_lines": [24, 26, 28], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [25, 27], "excluded_lines": [], "start_line": 23}, "test_cli_relay_crud": {"executed_lines": [35, 37, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_cli_relay_crud.pm_factory": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 15, 18, 23, 31, 34], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyService": {"executed_lines": [10, 16, 19, 21, 24, 26, 28], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [13, 20, 25, 27], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 15, 18, 23, 31, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_semantic.py": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 23, 25, 26, 28, 29, 31, 39, 41, 52, 53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 50, "num_statements": 51, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.03921568627452, "percent_statements_covered_display": "98"}, "missing_lines": [40], "excluded_lines": [], "functions": {"_DummySemanticService.__init__": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "_DummySemanticService.status": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_DummySemanticService.set_enabled": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_DummySemanticService.set_mode": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "_DummySemanticService.build": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "_DummySemanticService.rebuild": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "_DummySemanticService.search": {"executed_lines": [39, 41], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [40], "excluded_lines": [], "start_line": 31}, "test_semantic_cli_commands": {"executed_lines": [53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 25, 28, 31, 52], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_DummySemanticService": {"executed_lines": [13, 16, 19, 22, 23, 26, 29, 39, 41], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [40], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 25, 28, 31, 52, 53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_subcommands.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 17, 18, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 119, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 143, 145, 147, 148, 149, 151, 152, 153, 154, 156, 157, 158], "summary": {"covered_lines": 113, "num_statements": 113, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"make_pm": {"executed_lines": [12, 17, 18, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_search_command": {"executed_lines": [30, 31, 32, 33, 34, 35, 36, 37, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_get_command": {"executed_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "test_totp_command": {"executed_lines": [55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "test_search_command_no_results": {"executed_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "test_get_command_multiple_matches": {"executed_lines": [86, 90, 91, 92, 93, 94, 95, 96, 97, 98], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "test_get_command_wrong_type": {"executed_lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101}, "test_totp_command_multiple_matches": {"executed_lines": [115, 119, 120, 121, 122, 123, 124, 125, 126, 127], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114}, "test_totp_command_wrong_type": {"executed_lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 130}, "test_main_fingerprint_option": {"executed_lines": [145, 147, 151, 152, 153, 154, 156, 157, 158], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143}, "test_main_fingerprint_option.fake_pm": {"executed_lines": [148, 149], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 147}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 29, 41, 54, 73, 85, 101, 114, 130, 143], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 17, 18, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 119, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 143, 145, 147, 148, 149, 151, 152, 153, 154, 156, 157, 158], "summary": {"covered_lines": 113, "num_statements": 113, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_toggle_offline_mode.py": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [11, 15, 20], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_toggle_offline_updates": {"executed_lines": [24, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_toggle_offline_keep": {"executed_lines": [34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "": {"executed_lines": [1, 2, 4, 5, 7, 10, 23, 33], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_toggle_secret_mode.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 18, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [12, 18, 24], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_toggle_secret_mode_updates": {"executed_lines": [28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_toggle_secret_mode_keep": {"executed_lines": [38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 27, 37], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 18, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cli_vault_stats.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_vault_stats_command": {"executed_lines": [12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_clipboard_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 16, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 52, 53, 55, 57, 58, 59, 61, 62, 64, 65, 66, 68, 69, 70, 71, 74, 75, 76, 78, 79, 80, 82, 83], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_copy_to_clipboard_clears": {"executed_lines": [16, 18, 21, 24, 26, 27, 31, 34, 35, 36, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_copy_to_clipboard_clears.fake_copy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_copy_to_clipboard_clears.fake_paste": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_copy_to_clipboard_clears.DummyTimer.__init__": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_copy_to_clipboard_clears.DummyTimer.start": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_copy_to_clipboard_does_not_clear_if_changed": {"executed_lines": [47, 49, 52, 55, 57, 58, 61, 64, 65, 66, 68, 69, 70, 71], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_copy_to_clipboard_does_not_clear_if_changed.fake_copy": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "test_copy_to_clipboard_does_not_clear_if_changed.fake_paste": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer.__init__": {"executed_lines": [59], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer.start": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 61}, "test_copy_to_clipboard_missing_dependency": {"executed_lines": [75, 78, 79, 80, 82, 83], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "test_copy_to_clipboard_missing_dependency.fail_copy": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 46, 74], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_copy_to_clipboard_clears.DummyTimer": {"executed_lines": [28, 29, 32], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer": {"executed_lines": [59, 62], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 16, 18, 19, 21, 22, 24, 26, 27, 31, 34, 35, 36, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 52, 53, 55, 57, 58, 61, 64, 65, 66, 68, 69, 70, 71, 74, 75, 76, 78, 79, 80, 82, 83], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_concurrency_stress.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 35, "num_statements": 55, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 20, "excluded_lines": 6, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 77], "excluded_lines": [25, 26, 35, 36, 47, 48], "functions": {"_writer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24], "excluded_lines": [25, 26], "start_line": 17}, "_reader": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31, 32, 33, 34], "excluded_lines": [35, 36], "start_line": 29}, "_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41, 42, 43, 44, 45, 46], "excluded_lines": [47, 48], "start_line": 39}, "test_concurrency_stress": {"executed_lines": [54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [77], "excluded_lines": [], "start_line": 53}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 35, "num_statements": 55, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 20, "excluded_lines": 6, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 77], "excluded_lines": [25, 26, 35, 36, 47, 48], "start_line": 1}}}, "src/tests/test_config_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 87, 88, 89, 90, 92, 93, 95, 96, 97, 100, 101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116, 119, 120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150, 153, 154, 155, 156, 158, 160, 161, 164, 165, 166, 167, 169, 171, 172, 175, 176, 177, 178, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 198, 201, 202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 171, "num_statements": 171, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_config_defaults_and_round_trip": {"executed_lines": [17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_pin_verification_and_change": {"executed_lines": [38, 39, 40, 42, 43, 44, 45, 46], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "test_config_file_encrypted_after_save": {"executed_lines": [53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_set_relays_persists_changes": {"executed_lines": [71, 72, 73, 74, 75, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "test_set_relays_requires_at_least_one": {"executed_lines": [80, 81, 82, 83, 84], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_inactivity_timeout_round_trip": {"executed_lines": [88, 89, 90, 92, 93, 95, 96, 97], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "test_password_hash_migrates_from_file": {"executed_lines": [101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100}, "test_additional_backup_path_round_trip": {"executed_lines": [120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "test_secret_mode_round_trip": {"executed_lines": [138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137}, "test_kdf_iterations_round_trip": {"executed_lines": [154, 155, 156, 158, 160, 161], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 153}, "test_backup_interval_round_trip": {"executed_lines": [165, 166, 167, 169, 171, 172], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "test_quick_unlock_round_trip": {"executed_lines": [176, 177, 178, 180, 182, 183], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175}, "test_nostr_retry_settings_round_trip": {"executed_lines": [187, 188, 189, 191, 192, 193, 195, 196, 197, 198], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186}, "test_special_char_settings_round_trip": {"executed_lines": [202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "test_password_policy_extended_fields": {"executed_lines": [225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 224}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 37, 49, 52, 70, 79, 87, 100, 119, 137, 153, 164, 175, 186, 201, 224], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 87, 88, 89, 90, 92, 93, 95, 96, 97, 100, 101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116, 119, 120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150, 153, 154, 155, 156, 158, 160, 161, 164, 165, 166, 167, 169, 171, 172, 175, 176, 177, 178, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 198, 201, 202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 171, "num_statements": 171, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_core_api_services.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 77, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 96, 97, 100, 103, 105, 106, 107, 108, 112, 114, 117, 120, 122, 123, 124, 126, 128, 129, 130, 131, 133, 134, 136, 137, 138, 140, 141, 142, 144, 148, 149, 150, 152, 154, 155, 158, 159, 160, 161, 163, 164, 165, 167, 168, 170, 171, 172, 174, 175, 177, 178, 179, 181, 185, 186, 187, 189, 192, 193, 194, 195, 197, 198, 199, 201, 203, 206, 207, 209, 210, 212, 214, 217, 219, 220, 221, 223, 224, 225, 228, 229, 230, 231, 233, 234, 235, 237, 240, 242, 243, 244, 246, 249, 251, 252, 256, 257, 259, 260, 264, 265, 267, 268, 272, 273, 275, 276, 277, 278, 280, 281, 283, 285, 286, 287, 289, 291, 292, 294, 296, 297, 299, 301, 302, 304, 305, 306, 308, 310, 311, 313, 314, 315, 316, 319, 321, 322, 325, 326, 329, 331, 332, 333, 334, 337, 339, 340, 341, 342, 345, 347, 348, 349, 350, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 372, 374, 375, 376, 378, 379, 381, 383, 384, 385, 387, 388, 390, 392, 393, 394, 396, 397, 399, 401, 402, 403, 405, 406, 408, 410, 411, 412, 414, 415, 417, 419, 420, 421, 423, 424, 426, 428, 429, 430, 432, 433, 435, 437, 438, 439, 441, 442, 444, 461, 463, 464, 466, 467, 469, 470, 472, 473, 475, 476, 478, 480, 481, 483, 484, 485, 487, 488, 489, 491, 492, 493, 496, 497, 498, 499, 501, 502, 503, 505, 508, 510, 511, 512, 514, 515, 516, 520, 527, 528, 532, 533, 534, 536, 537, 538, 540, 541, 542, 544, 545, 547, 550, 553, 554, 556, 557, 558, 560, 561, 563, 564, 567, 568, 569, 570, 572, 573, 576, 577, 579, 583, 584, 587, 589, 590, 591, 593, 594, 595, 598, 599, 600, 601, 603, 604, 605, 607, 608, 609, 611, 612, 613, 615, 616, 618, 619, 620, 622, 623, 625, 626, 627, 629, 632, 633, 634, 635, 636, 638, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 385, "num_statements": 385, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"mock_manager": {"executed_lines": [43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "mock_bus": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "TestVaultService.service": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "TestVaultService.test_export_vault": {"executed_lines": [76, 77, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "TestVaultService.test_import_vault": {"executed_lines": [83, 84, 86, 87], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "TestVaultService.test_export_profile": {"executed_lines": [90, 91, 92, 94, 96, 97, 100, 103], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89}, "TestVaultService.test_import_profile": {"executed_lines": [106, 107, 108, 112, 114, 117, 120], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105}, "TestVaultService.test_change_password": {"executed_lines": [123, 124, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122}, "TestVaultService.test_unlock": {"executed_lines": [129, 130, 131, 133, 134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 128}, "TestVaultService.test_lock": {"executed_lines": [137, 138], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136}, "TestVaultService.test_backup_parent_seed": {"executed_lines": [141, 142, 144], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140}, "TestVaultService.test_stats": {"executed_lines": [149, 150, 152, 154, 155], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148}, "TestProfileService.service": {"executed_lines": [161], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160}, "TestProfileService.test_list_profiles": {"executed_lines": [164, 165, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163}, "TestProfileService.test_add_profile": {"executed_lines": [171, 172, 174, 175], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 170}, "TestProfileService.test_remove_profile": {"executed_lines": [178, 179, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177}, "TestProfileService.test_switch_profile": {"executed_lines": [186, 187, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185}, "TestSyncService.service": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 194}, "TestSyncService.test_sync": {"executed_lines": [198, 199, 201, 203, 206, 207], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 197}, "TestSyncService.test_sync_none": {"executed_lines": [210, 212, 214, 217], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 209}, "TestSyncService.test_start_background_sync": {"executed_lines": [220, 221], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 219}, "TestSyncService.test_start_background_vault_sync": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223}, "TestEntryService.service": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 230}, "TestEntryService.test_list_entries": {"executed_lines": [234, 235, 237, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 233}, "TestEntryService.test_search_entries": {"executed_lines": [243, 244, 246, 249], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242}, "TestEntryService.test_search_entries_default_excludes_archived": {"executed_lines": [252, 256, 257], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251}, "TestEntryService.test_search_entries_include_archived": {"executed_lines": [260, 264, 265], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259}, "TestEntryService.test_search_entries_archived_only": {"executed_lines": [268, 272, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267}, "TestEntryService.test_retrieve_entry": {"executed_lines": [276, 277, 278, 280, 281], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 275}, "TestEntryService.test_generate_password_default": {"executed_lines": [285, 286, 287, 289, 291, 292], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283}, "TestEntryService.test_generate_password_custom": {"executed_lines": [296, 297, 299, 301, 302], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 294}, "TestEntryService.test_get_totp_code": {"executed_lines": [305, 306, 308, 310, 311], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304}, "TestEntryService.test_get_seed_phrase": {"executed_lines": [314, 315, 316, 319], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313}, "TestEntryService.test_get_managed_account_seed": {"executed_lines": [322, 325, 326, 329], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 321}, "TestEntryService.test_get_ssh_key_pair": {"executed_lines": [332, 333, 334, 337], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 331}, "TestEntryService.test_get_pgp_key": {"executed_lines": [340, 341, 342, 345], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 339}, "TestEntryService.test_get_nostr_key_pair": {"executed_lines": [348, 349, 350, 353], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347}, "TestEntryService.test_get_secret_mode_enabled": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 355}, "TestEntryService.test_get_clipboard_clear_delay": {"executed_lines": [360, 361], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 359}, "TestEntryService.test_copy_to_clipboard": {"executed_lines": [364, 365, 366, 367], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363}, "TestEntryService.test_add_entry": {"executed_lines": [370, 372, 374, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 369}, "TestEntryService.test_add_totp": {"executed_lines": [379, 381, 383, 384, 385], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378}, "TestEntryService.test_add_ssh_key": {"executed_lines": [388, 390, 392, 393, 394], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 387}, "TestEntryService.test_add_pgp_key": {"executed_lines": [397, 399, 401, 402, 403], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396}, "TestEntryService.test_add_nostr_key": {"executed_lines": [406, 408, 410, 411, 412], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 405}, "TestEntryService.test_add_seed": {"executed_lines": [415, 417, 419, 420, 421], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 414}, "TestEntryService.test_add_key_value": {"executed_lines": [424, 426, 428, 429, 430], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 423}, "TestEntryService.test_add_managed_account": {"executed_lines": [433, 435, 437, 438, 439], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 432}, "TestEntryService.test_modify_entry": {"executed_lines": [442, 444, 461], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 441}, "TestEntryService.test_archive_entry": {"executed_lines": [464, 466, 467], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 463}, "TestEntryService.test_restore_entry": {"executed_lines": [470, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 469}, "TestEntryService.test_export_totp_entries": {"executed_lines": [476, 478, 480, 481], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 475}, "TestEntryService.test_display_totp_codes": {"executed_lines": [484, 485], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 483}, "TestEntryService.test_load_managed_account": {"executed_lines": [488, 489], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 487}, "TestEntryService.test_exit_managed_account": {"executed_lines": [492, 493], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 491}, "TestConfigService.service": {"executed_lines": [499], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 498}, "TestConfigService.test_get": {"executed_lines": [502, 503, 505, 508], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 501}, "TestConfigService.test_set_simple": {"executed_lines": [511, 512], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 510}, "TestConfigService.test_set_bool": {"executed_lines": [515, 516], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 514}, "TestConfigService.test_set_relays": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 520}, "TestConfigService.test_set_invalid_key": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 532}, "TestConfigService.test_get_secret_mode_enabled": {"executed_lines": [537, 538], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 536}, "TestConfigService.test_get_clipboard_clear_delay": {"executed_lines": [541, 542], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 540}, "TestConfigService.test_set_secret_mode": {"executed_lines": [545, 547, 550, 553, 554], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 544}, "TestConfigService.test_get_offline_mode": {"executed_lines": [557, 558], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 556}, "TestConfigService.test_set_offline_mode": {"executed_lines": [561, 563, 564], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 560}, "TestUtilityService.service": {"executed_lines": [570], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 569}, "TestUtilityService.test_generate_password": {"executed_lines": [573, 576, 577, 579, 583, 584, 587], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 572}, "TestUtilityService.test_verify_checksum": {"executed_lines": [590, 591], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589}, "TestUtilityService.test_update_checksum": {"executed_lines": [594, 595], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 593}, "TestNostrService.service": {"executed_lines": [601], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 600}, "TestNostrService.test_get_pubkey": {"executed_lines": [604, 605], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 603}, "TestNostrService.test_list_relays": {"executed_lines": [608, 609], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 607}, "TestNostrService.test_add_relay": {"executed_lines": [612, 613, 615, 616], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 611}, "TestNostrService.test_remove_relay": {"executed_lines": [619, 620, 622, 623], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 618}, "TestNostrService.test_reset_sync_state": {"executed_lines": [626, 627, 629, 632, 633, 634, 635, 636], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625}, "TestNostrService.test_start_fresh_namespace": {"executed_lines": [639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 638}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 63, 64, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"MockPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "TestVaultService": {"executed_lines": [73, 76, 77, 79, 80, 83, 84, 86, 87, 90, 91, 92, 94, 96, 97, 100, 103, 106, 107, 108, 112, 114, 117, 120, 123, 124, 126, 129, 130, 131, 133, 134, 137, 138, 141, 142, 144, 149, 150, 152, 154, 155], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "TestProfileService": {"executed_lines": [161, 164, 165, 167, 168, 171, 172, 174, 175, 178, 179, 181, 186, 187, 189], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158}, "TestSyncService": {"executed_lines": [195, 198, 199, 201, 203, 206, 207, 210, 212, 214, 217, 220, 221, 224, 225], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 192}, "TestEntryService": {"executed_lines": [231, 234, 235, 237, 240, 243, 244, 246, 249, 252, 256, 257, 260, 264, 265, 268, 272, 273, 276, 277, 278, 280, 281, 285, 286, 287, 289, 291, 292, 296, 297, 299, 301, 302, 305, 306, 308, 310, 311, 314, 315, 316, 319, 322, 325, 326, 329, 332, 333, 334, 337, 340, 341, 342, 345, 348, 349, 350, 353, 356, 357, 360, 361, 364, 365, 366, 367, 370, 372, 374, 375, 376, 379, 381, 383, 384, 385, 388, 390, 392, 393, 394, 397, 399, 401, 402, 403, 406, 408, 410, 411, 412, 415, 417, 419, 420, 421, 424, 426, 428, 429, 430, 433, 435, 437, 438, 439, 442, 444, 461, 464, 466, 467, 470, 472, 473, 476, 478, 480, 481, 484, 485, 488, 489, 492, 493], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 228}, "TestConfigService": {"executed_lines": [499, 502, 503, 505, 508, 511, 512, 515, 516, 527, 528, 533, 534, 537, 538, 541, 542, 545, 547, 550, 553, 554, 557, 558, 561, 563, 564], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 496}, "TestUtilityService": {"executed_lines": [570, 573, 576, 577, 579, 583, 584, 587, 590, 591, 594, 595], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 567}, "TestNostrService": {"executed_lines": [601, 604, 605, 608, 609, 612, 613, 615, 616, 619, 620, 622, 623, 626, 627, 629, 632, 633, 634, 635, 636, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 598}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 121, "num_statements": 121, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_core_services.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52, 55, 56, 58, 59, 60, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_vault_service_unlock": {"executed_lines": [9, 11, 15, 16, 17, 18, 19], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_vault_service_unlock.unlock_vault": {"executed_lines": [12, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_entry_service_add_entry_and_search": {"executed_lines": [23, 25, 29, 33, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_entry_service_add_entry_and_search.add_entry": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_entry_service_add_entry_and_search.search_entries": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_entry_service_add_entry_and_search.start_background_vault_sync": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "test_sync_service_sync": {"executed_lines": [56, 58, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_sync_service_sync.sync_vault": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [1, 2, 4, 5, 8, 22, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52, 55, 56, 58, 59, 60, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_cross_process_determinism.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 20, 21, 22, 23, 24, 26, 67, 75, 78, 79, 80, 81, 82], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_run_derivation_subprocess": {"executed_lines": [20, 21, 22, 23, 24, 26, 67, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_artifacts_are_identical_across_processes": {"executed_lines": [80, 81, 82], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 78, 79], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 20, 21, 22, 23, 24, 26, 67, 75, 78, 79, 80, 81, 82], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_custom_fields_display.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_retrieve_entry_shows_custom_fields": {"executed_lines": [9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 3, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_decrypt_messages.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_wrong_password_message": {"executed_lines": [17, 18, 19, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_legacy_file_requires_migration_message": {"executed_lines": [31, 36, 40, 41, 42, 44, 45, 46, 47], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_legacy_file_requires_migration_message._fast_legacy_key": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_corrupted_data_message": {"executed_lines": [51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 30, 50], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_default_encryption_mode.py": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13, 14, 26, 28, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_default_encryption_mode": {"executed_lines": [14, 26, 28, 29], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13, 14, 26, 28, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_delta_merge.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90, 93, 94, 105, 116, 128, 133, 138, 139, 140, 143, 144, 157, 171, 172, 173, 174, 175, 176, 179, 180, 193, 206, 219, 222, 225, 226, 227, 228, 231, 232, 244, 256, 257, 258, 259, 265, 266, 277, 290, 291, 292, 295, 296, 300, 313, 324, 327, 330, 331, 334, 335, 346, 358, 359, 360, 363, 364, 376, 388, 389, 390, 393, 394, 402, 414, 415, 416, 419, 420, 428, 440, 441, 442, 443, 446, 447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 146, "num_statements": 146, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_mgr": {"executed_lines": [14, 15, 16, 17], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_merge_modified_ts": {"executed_lines": [21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_merge_replay_idempotent_through_vault_boundary": {"executed_lines": [64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "test_merge_conflict_equal_timestamp_order_independent": {"executed_lines": [94, 105, 116, 128, 133, 138, 139, 140], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_merge_conflict_equal_timestamp_field_level_union": {"executed_lines": [144, 157, 171, 172, 173, 174, 175, 176], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143}, "test_merge_conflict_equal_timestamp_field_union_order_independent": {"executed_lines": [180, 193, 206, 219, 222, 225, 226, 227, 228], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179}, "test_merge_equal_timestamp_tags_and_custom_fields_union": {"executed_lines": [232, 244, 256, 257, 258, 259], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231}, "test_merge_tombstone_removes_older_entry": {"executed_lines": [266, 277, 290, 291, 292], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 265}, "test_merge_tombstone_order_independent": {"executed_lines": [296, 300, 313, 324, 327, 330, 331], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 295}, "test_merge_replay_same_payload_is_idempotent": {"executed_lines": [335, 346, 358, 359, 360], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334}, "test_merge_replay_older_payload_does_not_override_newer": {"executed_lines": [364, 376, 388, 389, 390], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363}, "test_merge_tombstone_replay_keeps_older_readd_deleted": {"executed_lines": [394, 402, 414, 415, 416], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 393}, "test_merge_tombstone_allows_newer_recreate": {"executed_lines": [420, 428, 440, 441, 442, 443], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 419}, "test_merge_last_merge_ts_order_independent": {"executed_lines": [447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 446}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 20, 63, 93, 143, 179, 231, 265, 295, 334, 363, 393, 419, 446], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90, 93, 94, 105, 116, 128, 133, 138, 139, 140, 143, 144, 157, 171, 172, 173, 174, 175, 176, 179, 180, 193, 206, 219, 222, 225, 226, 227, 228, 231, 232, 244, 256, 257, 258, 259, 265, 266, 277, 290, 291, 292, 295, 296, 300, 313, 324, 327, 330, 331, 334, 335, 346, 358, 359, 360, 363, 364, 376, 388, 389, 390, 393, 394, 402, 414, 415, 416, 419, 420, 428, 440, 441, 442, 443, 446, 447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 146, "num_statements": 146, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_deterministic_artifact_regression.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 106, 107, 108, 111, 114, 115, 116, 119, 121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163, 169, 171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 200, 202, 203, 204, 207, 255, 262, 263, 264], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_MnemonicSeedEncoder.derive_seed_from_mnemonic": {"executed_lines": [108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 107}, "_build_password_generator": {"executed_lines": [114, 115, 116], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111}, "test_deterministic_vectors_index_352_regression": {"executed_lines": [121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "test_repeatability_for_same_seed_and_index": {"executed_lines": [171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169}, "test_password_entropy_stream_hash_regression": {"executed_lines": [202, 203, 204], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200}, "test_password_policy_vector_regression": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 106, 107, 111, 119, 169, 188, 200, 207, 255], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DeterministicVector": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "_MnemonicSeedEncoder": {"executed_lines": [108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 106, 107, 111, 114, 115, 116, 119, 121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163, 169, 171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 200, 202, 203, 204, 207, 255, 262, 263, 264], "summary": {"covered_lines": 80, "num_statements": 80, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_document_file_io.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 31, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 96, 97, 100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "_make_managers": {"executed_lines": [23, 24, 25, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "_deterministic_text_bytes": {"executed_lines": [31, 35, 36, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_import_document_file_roundtrip": {"executed_lines": [41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "test_export_document_file_writes_expected_content": {"executed_lines": [59, 60, 61, 62, 64, 65, 66, 67, 68], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "test_import_export_large_document_roundtrip_is_byte_stable": {"executed_lines": [73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "test_portable_backup_restore_preserves_document_content_and_extension": {"executed_lines": [100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "test_backup_manager_restore_latest_preserves_large_document_content": {"executed_lines": [145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 22, 29, 40, 58, 71, 72, 96, 97, 144], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 31, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 96, 97, 100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_duplicate_seed_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 26, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_pm": {"executed_lines": [13, 14, 15, 16, 17, 18, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "_setup_pm.DummyEnc.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "_setup_pm.DummyEnc.encrypt_parent_seed": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_duplicate_seed_profile_creation": {"executed_lines": [43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_setup_pm.DummyEnc": {"executed_lines": [24, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_edit_tags_from_retrieve.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 13, 14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_edit_tags_from_retrieve": {"executed_lines": [14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_encryption_checksum.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 39, 40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_encryption_checksum_workflow": {"executed_lines": [17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_update_checksum_removes_legacy": {"executed_lines": [40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 39], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 39, 40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_encryption_files.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_json_save_and_load_round_trip": {"executed_lines": [16, 17, 18, 20, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_encrypt_and_decrypt_file_binary_round_trip": {"executed_lines": [31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_encrypt_file_rejects_traversal": {"executed_lines": [47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 30, 46], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_encryption_fuzz.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 17, 18, 19, 20, 23, 24, 29, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_encrypt_decrypt_roundtrip": {"executed_lines": [17, 18, 19, 20], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_corrupted_ciphertext_fails": {"executed_lines": [31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 23, 24, 29], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 17, 18, 19, 20, 23, 24, 29, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_encryption_validate_seed.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"make_manager": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_validate_seed_valid_mnemonic": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_validate_seed_invalid_mnemonic": {"executed_lines": [26, 27, 28, 29, 30], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 17, 25], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entries_empty.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_list_entries_empty": {"executed_lines": [15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entry_add.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52, 55, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117, 120, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 84, "num_statements": 85, "percent_covered": 98.82352941176471, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.82352941176471, "percent_statements_covered_display": "99"}, "missing_lines": [91], "excluded_lines": [], "functions": {"test_add_and_retrieve_entry": {"executed_lines": [18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_round_trip_entry_types": {"executed_lines": [68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97"}, "missing_lines": [91], "excluded_lines": [], "start_line": 67}, "test_legacy_entry_defaults_to_password": {"executed_lines": [104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "test_add_default_archived_false": {"executed_lines": [135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 55, 67, 103, 120, 134], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52, 55, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117, 120, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 84, "num_statements": 85, "percent_covered": 98.82352941176471, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.82352941176471, "percent_statements_covered_display": "99"}, "missing_lines": [91], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entry_links_graph.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 43, "num_statements": 45, "percent_covered": 95.55555555555556, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.55555555555556, "percent_statements_covered_display": "96"}, "missing_lines": [55, 61], "excluded_lines": [], "functions": {"_entry_manager": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_links_add_list_remove_and_search": {"executed_lines": [22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_links_reject_invalid_targets_and_self_link": {"executed_lines": [49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85"}, "missing_lines": [55, 61], "excluded_lines": [], "start_line": 48}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21, 48], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 43, "num_statements": 45, "percent_covered": 95.55555555555556, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.55555555555556, "percent_statements_covered_display": "96"}, "missing_lines": [55, 61], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entry_management_checksum_path.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_update_checksum_writes_to_expected_path": {"executed_lines": [15, 16, 17, 18, 19, 20, 23, 24, 26, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_backup_index_file_creates_backup_in_directory": {"executed_lines": [31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 30], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entry_policy_override.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 28, 29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 46, "num_statements": 47, "percent_covered": 97.87234042553192, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.87234042553192, "percent_statements_covered_display": "98"}, "missing_lines": [20], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 19}, "DummyBIP85.derive_entropy": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "make_manager": {"executed_lines": [29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_entry_policy_override_changes_password": {"executed_lines": [55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 28, 54], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 18}, "DummyBIP85": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 28, 29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_entry_types_roundtrip.py": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.9795918367347, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.9795918367347, "percent_statements_covered_display": "99"}, "missing_lines": [79], "excluded_lines": [], "functions": {"_make_entry_manager": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "_add_entry_for_type": {"executed_lines": [22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [79], "excluded_lines": [], "start_line": 21}, "test_all_entry_type_values_are_enum_backed": {"executed_lines": [83], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82}, "test_each_entry_type_roundtrip_retrieve_and_filter": {"executed_lines": [88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "test_each_entry_type_sets_and_updates_dates": {"executed_lines": [148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145}, "": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 21, 82, 86, 87, 144, 145], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.9795918367347, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.9795918367347, "percent_statements_covered_display": "99"}, "missing_lines": [79], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_export_plaintext_policy.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_plaintext_export_requires_second_confirmation": {"executed_lines": [21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 4, 5, 8, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_export_totp_codes.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 39, "num_statements": 40, "percent_covered": 97.5, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.5, "percent_statements_covered_display": "98"}, "missing_lines": [20], "excluded_lines": [], "functions": {"FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 19}, "test_handle_export_totp_codes": {"executed_lines": [24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_file_lock.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27, 28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 77.41935483870968, "percent_statements_covered_display": "77"}, "missing_lines": [12, 13, 14, 18, 19, 20, 36], "excluded_lines": [], "functions": {"_hold_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14], "excluded_lines": [], "start_line": 11}, "_try_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20], "excluded_lines": [], "start_line": 17}, "test_exclusive_lock_blocks_until_released": {"executed_lines": [28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [36], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27, 28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 77.41935483870968, "percent_statements_covered_display": "77"}, "missing_lines": [12, 13, 14, 18, 19, 20, 36], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_file_locking.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 16, 17, 18, 19, 24, 27, 28, 29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 20, 21], "functions": {"_writer": {"executed_lines": [9, 10, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13], "start_line": 8}, "_reader": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [20, 21], "start_line": 16}, "test_concurrent_shared_and_exclusive_lock": {"executed_lines": [29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "": {"executed_lines": [1, 2, 3, 5, 8, 16, 24, 27, 28], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 16, 17, 18, 19, 24, 27, 28, 29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 20, 21], "start_line": 1}}}, "src/tests/test_fingerprint.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 41, 44, 46, 47, 50, 53, 56, 58, 60, 62, 63, 64], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_generate_fingerprint_valid": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_generate_fingerprint_custom_length": {"executed_lines": [27, 28, 29, 30, 31], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_generate_fingerprint_normalization": {"executed_lines": [36, 37, 38], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_generate_fingerprint_error_handling": {"executed_lines": [44, 46, 47, 50, 53], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "test_generate_fingerprint_invalid_input": {"executed_lines": [58, 60, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 25, 34, 41, 56], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 41, 44, 46, 47, 50, 53, 56, 58, 60, 62, 63, 64], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_fingerprint_encryption.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_generate_fingerprint_deterministic": {"executed_lines": [17, 18, 21, 22, 23, 24], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_generate_fingerprint_does_not_log_seed_phrase": {"executed_lines": [28, 29, 30, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_encryption_round_trip": {"executed_lines": [35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 27, 34], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_fingerprint_manager_utils.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_remove_fingerprint": {"executed_lines": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4}, "test_remove_nonexistent_fingerprint": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [1, 4, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_full_sync_roundtrip.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "_deterministic_text_bytes": {"executed_lines": [37, 41, 42], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_full_sync_roundtrip": {"executed_lines": [46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "test_large_document_sync_roundtrip": {"executed_lines": [84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 36, 45, 82, 83], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_full_sync_roundtrip_new.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_full_sync_roundtrip": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 32], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_fuzz_key_derivation.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37, 39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_fuzz_key_round_trip": {"executed_lines": [39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37, 39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_generate_test_profile.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_initialize_profile_creates_directories": {"executed_lines": [8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [1, 2, 3, 4, 7], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_generate_test_profile_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 48, 50, 53, 54, 55, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 43, "num_statements": 44, "percent_covered": 97.72727272727273, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.72727272727273, "percent_statements_covered_display": "98"}, "missing_lines": [51], "excluded_lines": [], "functions": {"load_script": {"executed_lines": [10, 13, 14, 15, 16, 17], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_generate_test_profile_sync": {"executed_lines": [21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 50, 53, 54, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_generate_test_profile_sync.DummyKeys.private_key_hex": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "test_generate_test_profile_sync.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51], "excluded_lines": [], "start_line": 50}, "test_generate_test_profile_sync.DummyKeyManager.__init__": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 20], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_generate_test_profile_sync.DummyKeys": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [51], "excluded_lines": [], "start_line": 46}, "test_generate_test_profile_sync.DummyKeyManager": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 50, 53, 54, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_get_entry_summaries_archived_view.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_get_entry_summaries_excludes_archived_and_view_handler": {"executed_lines": [15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_get_entry_summaries_updates.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_create_entry_manager": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_get_entry_summaries_updates_label": {"executed_lines": [19, 20, 21, 22, 24, 25, 27, 28, 29], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_get_entry_summaries_updates_archive_restore": {"executed_lines": [33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 18, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_gui_features.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 85, "percent_covered": 30.58823529411765, "percent_covered_display": "31", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 30.58823529411765, "percent_statements_covered_display": "31"}, "missing_lines": [16, 19, 22, 25, 30, 31, 34, 35, 36, 39, 42, 45, 50, 51, 52, 53, 54, 59, 60, 62, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": [], "functions": {"DummyNostr.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16], "excluded_lines": [], "start_line": 15}, "DummyNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [19], "excluded_lines": [], "start_line": 18}, "DummyNostr.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21}, "DummyNostr.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25], "excluded_lines": [], "start_line": 24}, "DummyEntries.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31], "excluded_lines": [], "start_line": 29}, "DummyEntries.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [34, 35, 36], "excluded_lines": [], "start_line": 33}, "DummyEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39], "excluded_lines": [], "start_line": 38}, "DummyEntries.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42], "excluded_lines": [], "start_line": 41}, "DummyEntries.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45], "excluded_lines": [], "start_line": 44}, "DummyController.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51, 52, 53, 54], "excluded_lines": [], "start_line": 49}, "set_backend": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [59, 60, 62], "excluded_lines": [], "start_line": 58}, "test_relay_manager_add_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": [], "start_line": 65}, "test_status_bar_updates_and_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 78}, "test_totp_viewer_refresh_on_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": [], "start_line": 94}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyNostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 19, 22, 25], "excluded_lines": [], "start_line": 14}, "DummyEntries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31, 34, 35, 36, 39, 42, 45], "excluded_lines": [], "start_line": 28}, "DummyController": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51, 52, 53, 54], "excluded_lines": [], "start_line": 48}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 68, "percent_covered": 38.23529411764706, "percent_covered_display": "38", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 38.23529411764706, "percent_statements_covered_display": "38"}, "missing_lines": [59, 60, 62, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_gui_headless.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 15, 17, 18, 21, 22, 23, 24, 26, 27, 29, 32, 33, 34, 36, 39, 40, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 66, 69, 72, 73, 74, 76, 79, 80, 83, 86, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 104, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138, 141, 149, 150, 151, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 105, "num_statements": 109, "percent_covered": 96.3302752293578, "percent_covered_display": "96", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 96.3302752293578, "percent_statements_covered_display": "96"}, "missing_lines": [30, 81, 84, 87], "excluded_lines": [], "functions": {"FakeVault.__init__": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "FakeVault.unlock": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "FakeEntries.__init__": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "FakeEntries.list_entries": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "FakeEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30], "excluded_lines": [], "start_line": 29}, "FakeEntries.add_entry": {"executed_lines": [33, 34], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "FakeEntries.add_totp": {"executed_lines": [39, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "FakeEntries.add_ssh_key": {"executed_lines": [43, 44], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "FakeEntries.add_seed": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "FakeEntries.add_pgp_key": {"executed_lines": [51, 52], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "FakeEntries.add_nostr_key": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "FakeEntries.add_key_value": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "FakeEntries.add_managed_account": {"executed_lines": [63, 64], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "FakeEntries.modify_entry": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "setup_module": {"executed_lines": [73, 74, 76], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "FakeNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [81], "excluded_lines": [], "start_line": 80}, "FakeNostr.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [84], "excluded_lines": [], "start_line": 83}, "FakeNostr.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [87], "excluded_lines": [], "start_line": 86}, "test_unlock_creates_main_window": {"executed_lines": [91, 92, 93, 94, 95, 96, 97, 99, 100, 101], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90}, "test_entrydialog_add_calls_service": {"executed_lines": [118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117}, "test_entrydialog_edit_calls_service": {"executed_lines": [150, 151, 153, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "test_entrydialog_edit_calls_service.retrieve": {"executed_lines": [154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 153}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 17, 21, 22, 26, 29, 32, 36, 42, 46, 50, 54, 58, 62, 66, 72, 79, 80, 83, 86, 90, 104, 117, 141, 149], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeVault": {"executed_lines": [15, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "FakeEntries": {"executed_lines": [23, 24, 27, 33, 34, 39, 40, 43, 44, 47, 48, 51, 52, 55, 56, 59, 60, 63, 64, 69], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [30], "excluded_lines": [], "start_line": 21}, "FakeNostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [81, 84, 87], "excluded_lines": [], "start_line": 79}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 17, 21, 22, 26, 29, 32, 36, 42, 46, 50, 54, 58, 62, 66, 72, 73, 74, 76, 79, 80, 83, 86, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 104, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138, 141, 149, 150, 151, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 83, "num_statements": 83, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_gui_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 15, 19, 20, 21, 23, 24, 26, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 46, 47, 49, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 54, "num_statements": 56, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96"}, "missing_lines": [16, 27], "excluded_lines": [], "functions": {"DummyEntries.list_entries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "DummyEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16], "excluded_lines": [], "start_line": 15}, "DummyNostr.__init__": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "DummyNostr.start_background_vault_sync": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "DummyNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27], "excluded_lines": [], "start_line": 26}, "DummyController.__init__": {"executed_lines": [32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "set_backend": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "test_start_vault_sync_schedules_task": {"executed_lines": [47, 49, 51, 54, 55, 56, 57, 59, 60, 61, 62, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_start_vault_sync_schedules_task.create_task": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "test_status_updates_on_bus_events": {"executed_lines": [67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 15, 19, 20, 23, 26, 30, 31, 40, 41, 46, 66], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEntries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [16], "excluded_lines": [], "start_line": 11}, "DummyNostr": {"executed_lines": [21, 24], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [27], "excluded_lines": [], "start_line": 19}, "DummyController": {"executed_lines": [32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 15, 19, 20, 23, 26, 30, 31, 40, 41, 42, 43, 46, 47, 49, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_handle_switch_fingerprint.py": {"executed_lines": [1, 4, 5, 6, 7, 9, 10, 12, 13, 15, 16, 17, 18, 19, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91"}, "missing_lines": [22, 23], "excluded_lines": [], "functions": {"test_handle_switch_fingerprint_active_profile": {"executed_lines": [5, 6, 9, 12, 15, 16, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.__init__": {"executed_lines": [7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.list_fingerprints": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.display_name": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_handle_switch_fingerprint_active_profile.DummyPM.__init__": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_handle_switch_fingerprint_active_profile.DummyPM.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 4], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_handle_switch_fingerprint_active_profile.DummyFingerprintManager": {"executed_lines": [7, 10, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "test_handle_switch_fingerprint_active_profile.DummyPM": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [22, 23], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 4, 5, 6, 9, 12, 15, 16, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_imghdr_stub.py": {"executed_lines": [1, 2, 3, 5, 10, 13, 16, 17, 18, 21, 24, 25, 26, 29, 31, 32, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 53, 54, 57, 59, 60, 61, 64, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 83, 84, 85, 88, 91, 92, 93, 95, 96, 97, 100, 102, 103, 104, 107, 109, 110, 111, 114, 116, 117, 118, 121, 124, 125, 126, 129, 131, 132, 133, 136, 138, 139, 142, 144, 145, 146, 149, 151, 152, 153, 156, 158, 159, 162, 164, 165, 166, 167, 169, 171, 172, 175, 178, 179, 180, 183, 185, 186, 187, 190, 192, 193, 196, 198, 199], "summary": {"covered_lines": 110, "num_statements": 110, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_what_with_bytes_io_jpeg": {"executed_lines": [16, 17, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_what_with_bytes_io_png": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_what_with_bytes_io_gif87a": {"executed_lines": [31, 32, 33], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_what_with_bytes_io_gif89a": {"executed_lines": [38, 39, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_what_with_bytes_io_tiff_intel": {"executed_lines": [45, 46, 47], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "test_what_with_bytes_io_tiff_motorola": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_what_with_bytes_io_rgb": {"executed_lines": [59, 60, 61], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "test_what_with_bytes_io_pbm": {"executed_lines": [67, 68, 69, 71, 72, 73], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_what_with_bytes_io_pgm": {"executed_lines": [79, 80, 81, 83, 84, 85], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76}, "test_what_with_bytes_io_ppm": {"executed_lines": [91, 92, 93, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88}, "test_what_with_bytes_io_rast": {"executed_lines": [102, 103, 104], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100}, "test_what_with_bytes_io_xbm": {"executed_lines": [109, 110, 111], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 107}, "test_what_with_bytes_io_bmp": {"executed_lines": [116, 117, 118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114}, "test_what_with_bytes_io_webp": {"executed_lines": [124, 125, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "test_what_with_bytes_io_exr": {"executed_lines": [131, 132, 133], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129}, "test_what_returns_none_for_unknown": {"executed_lines": [138, 139], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136}, "test_what_with_file_path_str": {"executed_lines": [144, 145, 146], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142}, "test_what_with_path_object": {"executed_lines": [151, 152, 153], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "test_what_with_explicit_header": {"executed_lines": [158, 159], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156}, "test_what_preserves_file_position": {"executed_lines": [164, 165, 166, 167, 169, 171, 172], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 162}, "test_what_with_bytes_io_jpeg_exif": {"executed_lines": [178, 179, 180], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175}, "test_what_with_empty_file": {"executed_lines": [185, 186, 187], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 183}, "test_what_with_empty_bytes_io": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190}, "test_what_with_short_file_bmp": {"executed_lines": [198, 199], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 196}, "": {"executed_lines": [1, 2, 3, 5, 10, 13, 21, 29, 36, 43, 50, 57, 64, 76, 88, 100, 107, 114, 121, 129, 136, 142, 149, 156, 162, 175, 183, 190, 196], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 10, 13, 16, 17, 18, 21, 24, 25, 26, 29, 31, 32, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 53, 54, 57, 59, 60, 61, 64, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 83, 84, 85, 88, 91, 92, 93, 95, 96, 97, 100, 102, 103, 104, 107, 109, 110, 111, 114, 116, 117, 118, 121, 124, 125, 126, 129, 131, 132, 133, 136, 138, 139, 142, 144, 145, 146, 149, 151, 152, 153, 156, 158, 159, 162, 164, 165, 166, 167, 169, 171, 172, 175, 178, 179, 180, 183, 185, 186, 187, 190, 192, 193, 196, 198, 199], "summary": {"covered_lines": 110, "num_statements": 110, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_import.py": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [7, 8, 9, 10], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [7, 8, 9, 10], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [7, 8, 9, 10], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_inactivity_lock.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 16, 17, 19, 20, 22, 23, 24, 26, 41, 43, 44, 46, 47, 50, 52, 54, 55, 57, 58, 60, 61, 62, 64, 79, 81, 82, 83, 84, 85, 87, 89, 90, 92, 93, 96, 98, 100, 101, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_inactivity_triggers_lock": {"executed_lines": [14, 16, 19, 22, 26, 41, 43, 44, 46, 47], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_inactivity_triggers_lock.update_activity": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_inactivity_triggers_lock.lock_vault": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_inactivity_triggers_lock.unlock_vault": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_input_timeout_triggers_lock": {"executed_lines": [52, 54, 57, 60, 64, 79, 81, 87, 89, 90, 92, 93], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_input_timeout_triggers_lock.update_activity": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "test_input_timeout_triggers_lock.lock_vault": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "test_input_timeout_triggers_lock.unlock_vault": {"executed_lines": [61, 62], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "test_input_timeout_triggers_lock.fake_input": {"executed_lines": [82, 83, 84, 85], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "test_update_activity_checks_timeout": {"executed_lines": [98, 100, 101, 103, 104, 105, 106, 107, 109, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "test_update_activity_checks_timeout.lock": {"executed_lines": [110, 111], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 109}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 50, 96], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 16, 17, 19, 20, 22, 23, 24, 26, 41, 43, 44, 46, 47, 50, 52, 54, 55, 57, 58, 60, 61, 62, 64, 79, 81, 82, 83, 84, 85, 87, 89, 90, 92, 93, 96, 98, 100, 101, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_index_cache.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_index_caching": {"executed_lines": [12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_index_import_export.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71, 74, 75, 76], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_vault": {"executed_lines": [20, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_index_export_import_round_trip": {"executed_lines": [31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_get_encrypted_index_missing_file": {"executed_lines": [75, 76], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 30, 74], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71, 74, 75, 76], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_input_utils.py": {"executed_lines": [1, 3, 5, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 47, 50, 51, 52, 53, 55, 56, 57, 60, 61, 64, 65, 66, 67, 70, 71, 72, 73, 75, 76, 78, 79, 81, 82, 83, 85, 88, 89, 90, 91, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 63, "num_statements": 64, "percent_covered": 98.4375, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.4375, "percent_statements_covered_display": "98"}, "missing_lines": [94], "excluded_lines": [], "functions": {"test_timed_input_no_timeout_reads_stdin": {"executed_lines": [9, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_timed_input_dispatches_windows": {"executed_lines": [14, 15, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_timed_input_dispatches_posix": {"executed_lines": [22, 23, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_timed_input_posix_fileno_fallback": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_timed_input_posix_returns_line_when_ready": {"executed_lines": [35, 36, 39, 42, 43, 44, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_timed_input_posix_returns_line_when_ready.DummyStdin.fileno": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_timed_input_posix_returns_line_when_ready.DummyStdin.readline": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "test_timed_input_posix_raises_timeout": {"executed_lines": [51, 52, 55, 56, 57, 60, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_timed_input_posix_raises_timeout.DummyStdin.fileno": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_timed_input_windows_fallback_when_msvcrt_missing": {"executed_lines": [65, 66, 67], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_timed_input_windows_handles_backspace_and_enter": {"executed_lines": [71, 72, 75, 78, 81, 82, 83, 85], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.__init__": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.kbhit": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.getwche": {"executed_lines": [79], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "test_timed_input_windows_raises_timeout": {"executed_lines": [89, 90, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88}, "test_timed_input_windows_raises_timeout.DummyMSVCRT.kbhit": {"executed_lines": [91], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90}, "test_timed_input_windows_raises_timeout.DummyMSVCRT.getwche": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94], "excluded_lines": [], "start_line": 93}, "": {"executed_lines": [1, 3, 5, 8, 13, 21, 29, 34, 50, 64, 70, 88], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_timed_input_posix_returns_line_when_ready.DummyStdin": {"executed_lines": [37, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_timed_input_posix_raises_timeout.DummyStdin": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT": {"executed_lines": [73, 76, 79], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71}, "test_timed_input_windows_raises_timeout.DummyMSVCRT": {"executed_lines": [91], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [94], "excluded_lines": [], "start_line": 89}, "": {"executed_lines": [1, 3, 5, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 26, 29, 30, 31, 34, 35, 36, 39, 42, 43, 44, 47, 50, 51, 52, 55, 56, 57, 60, 61, 64, 65, 66, 67, 70, 71, 72, 75, 78, 81, 82, 83, 85, 88, 89, 90, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_invalid_password_message.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_invalid_password_shows_friendly_message_once": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_kb_scale_stress.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 43, 56, 57, 60, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108, 113, 120, 121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 72, "num_statements": 72, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_entry_manager": {"executed_lines": [17, 18, 19, 20], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "_seed_bulk_entries": {"executed_lines": [24, 25, 26, 27, 28, 29, 30, 43, 56, 57], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_kb_sort_tag_search_scale": {"executed_lines": [68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67}, "test_kb_graph_high_degree_links_scale": {"executed_lines": [121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 23, 60, 67, 113, 120], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 43, 56, 57, 60, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108, 113, 120, 121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 72, "num_statements": 72, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_kdf_iteration_fallback.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kdf_iteration_fallback": {"executed_lines": [15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_kdf_modes.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99, 102, 103, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 125, 126, 127, 133, 135, 136, 137, 138, 140, 143, 145, 146, 147, 148, 149, 150, 151, 154, 155, 156, 162, 164, 165, 166, 167, 168, 170, 171, 173, 174, 177, 178, 179, 185, 187, 188, 189, 190, 191, 193, 194, 196, 197, 200, 201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218, 221, 222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 154, "num_statements": 154, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_profile": {"executed_lines": [28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "_make_pm": {"executed_lines": [65, 66, 67, 68, 69, 70, 71], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_setup_encryption_manager_kdf_modes": {"executed_lines": [75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "test_kdf_param_round_trip": {"executed_lines": [103, 107, 108, 109, 110, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102}, "test_vault_kdf_migration": {"executed_lines": [115, 116, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114}, "test_derive_seed_key_argon2_uses_configured_time_cost": {"executed_lines": [126, 127, 133, 135, 140, 143, 145, 146, 147, 148, 149, 150, 151], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "test_derive_seed_key_argon2_uses_configured_time_cost.fake_argon2": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 135}, "test_derive_seed_key_pbkdf2_respects_iteration_override": {"executed_lines": [155, 156, 162, 164, 170, 171, 173, 174], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154}, "test_derive_seed_key_pbkdf2_respects_iteration_override.fake_pbkdf2": {"executed_lines": [165, 166, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "test_derive_seed_key_pbkdf2_enforces_policy_floor": {"executed_lines": [178, 179, 185, 187, 193, 194, 196, 197], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177}, "test_derive_seed_key_pbkdf2_enforces_policy_floor.fake_pbkdf2": {"executed_lines": [188, 189, 190, 191], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187}, "test_tampered_kdf_wrapper_payload_is_rejected": {"executed_lines": [201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200}, "test_setup_encryption_manager_rejects_wrong_argon2_params": {"executed_lines": [222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 64, 74, 102, 114, 125, 154, 177, 200, 221], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99, 102, 103, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 125, 126, 127, 133, 135, 136, 137, 138, 140, 143, 145, 146, 147, 148, 149, 150, 151, 154, 155, 156, 162, 164, 165, 166, 167, 168, 170, 171, 173, 174, 177, 178, 179, 185, 187, 188, 189, 190, 191, 193, 194, 196, 197, 200, 201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218, 221, 222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 154, "num_statements": 154, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_kdf_strength_slider.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kdf_strength_slider_persists": {"executed_lines": [11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 10], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_derivation.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 47, 50, 51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pbkdf2_fingerprint_affects_key": {"executed_lines": [17, 18, 19, 21, 22, 23, 25, 26, 27, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_derive_key_empty_password_error": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_seed_only_key_deterministic": {"executed_lines": [38, 39, 40, 41, 42], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "test_derive_index_key_seed_only": {"executed_lines": [46, 47], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "test_argon2_fingerprint_affects_key": {"executed_lines": [51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 31, 37, 45, 50], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 47, 50, 51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_hierarchy.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kd_distinct_infos": {"executed_lines": [8, 9, 10, 11], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_derive_index_key_matches_hierarchy": {"executed_lines": [15, 16, 17, 18, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 4, 7, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_manager_helpers.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_key_manager_getters": {"executed_lines": [8, 9, 11, 12, 15, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_key_manager_getters.DummyKeys.public_key_hex": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_key_manager_getters.DummyKeys.private_key_hex": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_key_manager_getters.DummyKeys": {"executed_lines": [13, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 15, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_validation_failures.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 38, 39, 42, 43, 44, 47, 48, 51, 52, 53, 56, 57, 60, 61, 62, 65, 66], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_add_totp_invalid_secret": {"executed_lines": [19, 20, 21], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_add_ssh_key_validation_failure": {"executed_lines": [25, 26, 29, 30], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_add_pgp_key_validation_failure": {"executed_lines": [34, 35, 38, 39], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "test_add_nostr_key_validation_failure": {"executed_lines": [43, 44, 47, 48], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_add_seed_validation_failure": {"executed_lines": [52, 53, 56, 57], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "test_add_managed_account_validation_failure": {"executed_lines": [61, 62, 65, 66], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 18, 24, 33, 42, 51, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 38, 39, 42, 43, 44, 47, 48, 51, 52, 53, 56, 57, 60, 61, 62, 65, 66], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_validation_utils.py": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 20, 23, 26, 28, 32, 35, 37, 41, 44, 47, 51, 54, 57, 58, 59, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_validate_totp_secret_exception": {"executed_lines": [20, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_validate_ssh_key_pair_exception": {"executed_lines": [28, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_validate_pgp_private_key_exception": {"executed_lines": [37, 41], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_validate_nostr_keys_exception": {"executed_lines": [47, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_validate_seed_phrase_exception": {"executed_lines": [57, 58, 59, 62], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 26, 35, 44, 54], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 20, 23, 26, 28, 32, 35, 37, 41, 44, 47, 51, 54, 57, 58, 59, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_key_value_entry.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_add_and_modify_key_value": {"executed_lines": [22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_last_used_fingerprint.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 30, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_last_used_fingerprint": {"executed_lines": [14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_last_used_fingerprint.init_fm": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 30, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_legacy_format_exception.py": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_decrypt_data_raises_legacy_exception": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_vault_handles_legacy_exception": {"executed_lines": [23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_legacy_migration.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106, 109, 110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138, 141, 142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220, 223, 224, 226, 227, 228, 229, 231, 232, 233, 234, 235, 237, 238, 240, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 260, 261, 263, 264, 266, 267, 268, 269, 272, 273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310, 313, 314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359, 362, 363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393, 396, 397, 399, 400, 401, 402, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 271, "num_statements": 279, "percent_covered": 97.1326164874552, "percent_covered_display": "97", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 97.1326164874552, "percent_statements_covered_display": "97"}, "missing_lines": [73, 245, 351, 352, 385, 386, 424, 425], "excluded_lines": [], "functions": {"test_legacy_index_migrates": {"executed_lines": [21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_failed_migration_restores_legacy": {"executed_lines": [60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_failed_migration_restores_legacy.bad_load_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [73], "excluded_lines": [], "start_line": 72}, "test_migrated_index_has_v3_prefix": {"executed_lines": [88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "test_legacy_index_migration_removes_strays": {"executed_lines": [110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 109}, "test_migration_syncs_when_confirmed": {"executed_lines": [142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 141}, "test_migration_declines_sync": {"executed_lines": [187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186}, "test_legacy_nostr_payload_syncs_when_confirmed": {"executed_lines": [224, 226, 227, 228, 229, 231, 232, 237, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 263, 264, 266, 267, 268, 269], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.__init__": {"executed_lines": [233, 234, 235], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 232}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.fetch_latest_snapshot": {"executed_lines": [238, 240], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [245], "excluded_lines": [], "start_line": 244}, "test_legacy_nostr_payload_syncs_when_confirmed.fake_sync_vault_async": {"executed_lines": [260, 261], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259}, "test_legacy_index_reinit_syncs_once_when_confirmed": {"executed_lines": [273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 272}, "test_schema_migration_no_sync_prompt": {"executed_lines": [314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313}, "test_schema_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [351, 352], "excluded_lines": [], "start_line": 350}, "test_declined_migration_no_sync_prompt": {"executed_lines": [363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 362}, "test_declined_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [385, 386], "excluded_lines": [], "start_line": 384}, "test_failed_migration_no_sync_prompt": {"executed_lines": [397, 399, 400, 401, 402, 403, 405, 407, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396}, "test_failed_migration_no_sync_prompt.fail": {"executed_lines": [408], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 407}, "test_failed_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [424, 425], "excluded_lines": [], "start_line": 423}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 59, 87, 109, 141, 186, 223, 272, 313, 362, 396], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_legacy_nostr_payload_syncs_when_confirmed.DummyClient": {"executed_lines": [233, 234, 235, 238, 240], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [245], "excluded_lines": [], "start_line": 231}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106, 109, 110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138, 141, 142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220, 223, 224, 226, 227, 228, 229, 231, 232, 237, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 260, 261, 263, 264, 266, 267, 268, 269, 272, 273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310, 313, 314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359, 362, 363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393, 396, 397, 399, 400, 401, 402, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 266, "num_statements": 273, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 97.43589743589743, "percent_statements_covered_display": "97"}, "missing_lines": [73, 351, 352, 385, 386, 424, 425], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_legacy_migration_iterations.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 45, 46, 47, 49, 50, 52, 55, 56, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_legacy_file": {"executed_lines": [23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_migrate_iterations": {"executed_lines": [33, 35, 36, 37, 39, 41, 45, 46, 47, 49, 50, 52, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "test_migrate_iterations.fake_prompt": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "test_migrate_iterations.tracking_derive": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 31, 32], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 45, 46, 47, 49, 50, 52, 55, 56, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_legacy_migration_prompt.py": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_legacy_file": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_open_legacy_without_migrating": {"executed_lines": [26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_migrate_legacy_sets_flag": {"executed_lines": [42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 25, 41], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_legacy_migration_second_session.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 58, 59, 63, 64, 65], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [55, 56], "functions": {"test_legacy_migration_second_session": {"executed_lines": [18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 58, 59, 63, 64, 65], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [55], "start_line": 17}, "test_legacy_migration_second_session.fail_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [56], "start_line": 55}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 58, 59, 63, 64, 65], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [55, 56], "start_line": 1}}}, "src/tests/test_legacy_salt_fix.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44, 47, 49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_decrypt_legacy_with_new_salt": {"executed_lines": [18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_decrypt_legacy_with_empty_salt_fallback": {"executed_lines": [49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 47], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44, 47, 49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_list_entries_all_types.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 54, 55, 63, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_manager": {"executed_lines": [19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_create_all_entries": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "test_cli_list_all_types": {"executed_lines": [49, 50, 51, 52, 54, 63, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "test_cli_list_all_types.fake_get_entry_service": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "test_menu_list_all_types": {"executed_lines": [74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 37, 48, 73], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 54, 55, 63, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_list_entries_sort_filter.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_sort_by_label": {"executed_lines": [23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_sort_by_updated": {"executed_lines": [36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_filter_by_type": {"executed_lines": [55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 35, 54], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_load_global_config.py": {"executed_lines": [3, 4, 6, 8, 11, 13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_load_global_config_invalid_toml": {"executed_lines": [13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [3, 4, 6, 8, 11], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 6, 8, 11, 13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_managed_account.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [18, 19, 20, 21], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_add_managed_account_fields_and_dir": {"executed_lines": [25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_load_and_exit_managed_account": {"executed_lines": [47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 24, 46], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_managed_account_entry.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 90, "num_statements": 90, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [21, 22, 23, 24], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_add_and_get_managed_account_seed": {"executed_lines": [28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_load_and_exit_managed_account": {"executed_lines": [76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 27, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 90, "num_statements": 90, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_add_password.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 213, 216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261, 264, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308, 311, 312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 217, "num_statements": 217, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_handle_add_password": {"executed_lines": [25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_handle_add_password_secret_mode": {"executed_lines": [94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_handle_add_password_quick_mode": {"executed_lines": [155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154}, "test_handle_add_password_quick_mode_reprompts_invalid_length": {"executed_lines": [216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 213}, "test_handle_add_password_reprompts_invalid_mode": {"executed_lines": [267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264}, "test_handle_add_password_empty_mode_cancels": {"executed_lines": [312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 311}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 24, 93, 154, 213, 264, 311], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 213, 216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261, 264, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308, 311, 312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 216, "num_statements": 216, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_add_totp.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "FakeNostrClient.publish_snapshot": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_handle_add_totp": {"executed_lines": [26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 20, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [18, 21, 22], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_checksum_backup.py": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 12, 14, 15, 17, 18, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakeBackupManager.__init__": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "FakeBackupManager.create_backup": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "FakeBackupManager.restore_latest_backup": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "_make_pm": {"executed_lines": [22, 23, 24, 25], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_handle_verify_checksum_success": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_handle_verify_checksum_failure": {"executed_lines": [40, 41, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "test_handle_verify_checksum_missing": {"executed_lines": [51, 52, 53, 54, 56, 59, 60, 61, 62, 63], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_handle_verify_checksum_missing.raise_missing": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "test_backup_and_restore_database": {"executed_lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 14, 17, 21, 28, 39, 50, 66], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeBackupManager": {"executed_lines": [12, 15, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 14, 17, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_current_notification.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13, 14, 15, 16, 17], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_notify_sets_current": {"executed_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_get_current_notification_ttl": {"executed_lines": [33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 20, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_display_totp_codes.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 11, 13, 18, 19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 33, "num_statements": 35, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.28571428571429, "percent_statements_covered_display": "94"}, "missing_lines": [14, 15], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15], "excluded_lines": [], "start_line": 13}, "test_handle_display_totp_codes": {"executed_lines": [19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_display_totp_codes_excludes_archived": {"executed_lines": [44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 13, 18, 43], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [14, 15], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 13, 18, 19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_edit_totp.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 41, "num_statements": 43, "percent_covered": 95.34883720930233, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.34883720930233, "percent_statements_covered_display": "95"}, "missing_lines": [20, 21], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21], "excluded_lines": [], "start_line": 19}, "test_edit_totp_period_from_retrieve": {"executed_lines": [25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [20, 21], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_import_database.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 28, 31, 32, 36, 37, 38, 39, 42, 43, 45, 46, 48, 49, 53, 54, 55], "summary": {"covered_lines": 36, "num_statements": 37, "percent_covered": 97.29729729729729, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.29729729729729, "percent_statements_covered_display": "97"}, "missing_lines": [29], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_import_non_backup_file": {"executed_lines": [25, 26, 28, 31, 32, 36, 37, 38, 39], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_import_non_backup_file.fake_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28}, "test_import_missing_file": {"executed_lines": [43, 45, 48, 49, 53, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_import_missing_file.raise_missing": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 24, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 28, 31, 32, 36, 37, 38, 39, 42, 43, 45, 46, 48, 49, 53, 54, 55], "summary": {"covered_lines": 36, "num_statements": 37, "percent_covered": 97.29729729729729, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.29729729729729, "percent_statements_covered_display": "97"}, "missing_lines": [29], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_list_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 169, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 245, 246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258, 261, 262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277, 280, 293, 295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368, 371, 374, 376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 282, "num_statements": 282, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_handle_list_entries": {"executed_lines": [21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_list_entries_show_details": {"executed_lines": [56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_show_entry_details_by_index": {"executed_lines": [101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "_setup_manager": {"executed_lines": [151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 150}, "_detail_common": {"executed_lines": [170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169}, "test_show_seed_entry_details": {"executed_lines": [187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186}, "test_show_ssh_entry_details": {"executed_lines": [204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203}, "test_show_pgp_entry_details": {"executed_lines": [226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225}, "test_show_nostr_entry_details": {"executed_lines": [246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 245}, "test_show_managed_account_entry_details": {"executed_lines": [262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 261}, "test_show_entry_details_sensitive": {"executed_lines": [295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293}, "test_show_entry_details_with_enum_type": {"executed_lines": [376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 374}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 55, 99, 150, 169, 186, 203, 225, 245, 261, 280, 293, 371, 374], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 169, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 245, 246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258, 261, 262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277, 280, 293, 295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368, 371, 374, 376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 282, "num_statements": 282, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_retrieve_totp.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95"}, "missing_lines": [20, 21], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21], "excluded_lines": [], "start_line": 19}, "test_handle_retrieve_totp_entry": {"executed_lines": [25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [20, 21], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_search_display.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_search_entries_prompt_for_details": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_seed_setup.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 55, 56, 62, 63, 65, 66, 67, 70, 71, 72, 74, 76, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_validate_bip85_seed_invalid_word": {"executed_lines": [8, 9, 10], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_validate_bip85_seed_checksum_failure": {"executed_lines": [14, 16, 19, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_setup_existing_seed_words": {"executed_lines": [26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_setup_existing_seed_paste": {"executed_lines": [46, 47, 49, 51, 55, 56, 62, 63, 65, 66, 67], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "test_setup_existing_seed_paste.fake_masked_input": {"executed_lines": [52, 53], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "test_setup_existing_seed_with_args": {"executed_lines": [71, 72, 74, 76, 81, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70}, "test_setup_existing_seed_with_args.finalize": {"executed_lines": [82, 83, 84], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "": {"executed_lines": [1, 2, 3, 4, 7, 13, 25, 45, 70], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 55, 56, 62, 63, 65, 66, 67, 70, 71, 72, 74, 76, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_warning_notifications.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_handle_search_entries_no_query": {"executed_lines": [35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 34], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manager_workflow.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "FakeNostrClient.__init__": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "FakeNostrClient.publish_snapshot": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_manager_workflow": {"executed_lines": [30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 20, 21, 24, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "FakeNostrClient": {"executed_lines": [22, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 20, 21, 24, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manifest_id_privacy.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_published_events_no_fingerprint": {"executed_lines": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4}, "": {"executed_lines": [1, 4], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_manifest_state_restore.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_manifest_state_restored": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 37], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_memory_protection.py": {"executed_lines": [1, 2, 4, 6, 8, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_inmemory_secret_round_trip_bytes_and_str": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_inmemory_secret_invalid_type": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_inmemory_secret_wipe_clears_attributes": {"executed_lines": [24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_access_after_wipe_raises_error": {"executed_lines": [33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 2, 4, 6, 8, 11, 18, 23, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_menu_navigation.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_navigate_all_main_menu_options": {"executed_lines": [39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_menu_notifications.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 42, 43, 44, 45, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [14, 15, 16, 17], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_display_menu_prints_notifications": {"executed_lines": [43, 44, 45, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_display_menu_reuses_notification_line": {"executed_lines": [62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 61}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 42, 61], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 42, 43, 44, 45, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_menu_options.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_menu_totp_option": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "test_menu_settings_option": {"executed_lines": [44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 32, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_menu_search.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_menu_search_option": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_migrations.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 31, 34, 35, 36, 37, 38, 39, 40, 49, 52, 53, 54, 60, 61, 62, 63, 72, 75, 76, 77, 78, 79, 80, 83, 84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup": {"executed_lines": [12, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_migrate_v0_to_v4": {"executed_lines": [17, 18, 19, 20, 21, 22, 31], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_migrate_v1_to_v4": {"executed_lines": [35, 36, 37, 38, 39, 40, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_migrate_v2_to_v4": {"executed_lines": [53, 54, 60, 61, 62, 63, 72], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_error_on_future_version": {"executed_lines": [76, 77, 78, 79, 80], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "test_schema_migration_persisted_once": {"executed_lines": [84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 16, 34, 52, 75, 83], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 31, 34, 35, 36, 37, 38, 39, 40, 49, 52, 53, 54, 60, 61, 62, 63, 72, 75, 76, 77, 78, 79, 80, 83, 84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_modify_entry_validation.py": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 19, 20, 21, 22, 23, 26, 85, 92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"entry_manager": {"executed_lines": [19, 20, 21, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_modify_entry_invalid_fields": {"executed_lines": [92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 26, 85], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 19, 20, 21, 22, 23, 26, 85, 92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_modify_ssh_managed_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33, 36, 37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_modify_ssh_entry": {"executed_lines": [22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_modify_managed_account_entry": {"executed_lines": [37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33, 36, 37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_modify_totp_entry.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_modify_totp_entry_period_digits_and_archive": {"executed_lines": [10, 11, 12, 13, 15, 16, 18, 19, 20, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_modify_totp_entry_invalid_field": {"executed_lines": [25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 24], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_multiple_deltas_sync.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 71, "num_statements": 71, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_sync_applies_multiple_deltas": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "test_initial_sync_applies_multiple_deltas": {"executed_lines": [69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 32, 68], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 71, "num_statements": 71, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_multiple_fingerprint_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 31, 34, 39, 42, 45, 50, 54, 56, 57, 58, 60, 62, 63, 64], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_when_multiple_fingerprints": {"executed_lines": [17, 18, 19, 21, 22, 24, 25, 26, 28, 31, 34, 39, 42, 45, 50, 54, 56, 60, 62, 63, 64], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_prompt_when_multiple_fingerprints.init_fm": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_prompt_when_multiple_fingerprints.fake_input": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 31, 34, 39, 42, 45, 50, 54, 56, 57, 58, 60, 62, 63, 64], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_new_seed_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 28, 29, 31, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 33, 36, 37, 38, 39, 40], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "setup_pm.DummyEnc.__init__": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "setup_pm.DummyEnc.encrypt_parent_seed": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_generate_new_seed_creates_profile": {"executed_lines": [44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"setup_pm.DummyEnc": {"executed_lines": [26, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nonce_uniqueness.py": {"executed_lines": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_nonce_uniqueness": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_noninteractive_init_unlock.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 39, 42, 46, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 73, 75, 78, 81, 83, 84], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_init_with_password": {"executed_lines": [14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 36, 39, 42, 46, 47], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_init_with_password.fake_setup": {"executed_lines": [33, 34], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "test_unlock_with_password": {"executed_lines": [51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 75, 78, 81, 83, 84], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_unlock_with_password.fake_setup": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 50], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 39, 42, 46, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 73, 75, 78, 81, 83, 84], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_and_publish_to_nostr": {"executed_lines": [18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 58, 59, 60, 62, 63, 65, 66, 68, 69, 71, 72, 73, 77, 78, 79, 81, 84, 85, 86, 87, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 103, 106, 107, 109, 111, 112, 113, 115, 116, 118, 119, 122, 123, 125, 127, 128, 130, 132, 134, 137, 138, 140, 142, 144, 145, 147, 149, 150, 152, 153, 154, 157, 158, 160, 161, 162, 163, 164, 165, 167, 169, 170, 172, 174, 175, 177, 179, 181, 182, 185, 186, 188, 189, 191, 192, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 207], "summary": {"covered_lines": 136, "num_statements": 137, "percent_covered": 99.27007299270073, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.27007299270073, "percent_statements_covered_display": "99"}, "missing_lines": [74], "excluded_lines": [], "functions": {"test_nostr_client_uses_custom_relays": {"executed_lines": [19, 20, 21, 22, 24, 27, 28, 29, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "FakeAddRelaysClient.__init__": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "FakeAddRelaysClient.add_relays": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "FakeAddRelaysClient.connect": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "FakeAddRelayClient.__init__": {"executed_lines": [48, 49], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "FakeAddRelayClient.add_relay": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "FakeAddRelayClient.connect": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "FakeWebSocket.__init__": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "FakeWebSocket.__aenter__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "FakeWebSocket.__aexit__": {"executed_lines": [66], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "FakeWebSocket.send": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68}, "FakeWebSocket.recv": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [74], "excluded_lines": [], "start_line": 71}, "_setup_client": {"executed_lines": [78, 79, 81, 84, 85, 86, 87], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 77}, "test_initialize_client_pool_add_relays_used": {"executed_lines": [91, 92, 93, 94, 95], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90}, "test_initialize_client_pool_add_relay_fallback": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98}, "test_check_relay_health_runs_async": {"executed_lines": [107, 109, 111, 115, 116, 118, 119], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106}, "test_check_relay_health_runs_async.fake_check": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111}, "test_ping_relay_accepts_eose": {"executed_lines": [123, 125, 127, 130, 132, 134], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122}, "test_ping_relay_accepts_eose.fake_connect": {"executed_lines": [128], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 127}, "test_update_relays_reinitializes_pool": {"executed_lines": [138, 140, 142, 144, 147, 149, 150, 152, 153, 154], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137}, "test_update_relays_reinitializes_pool.fake_init": {"executed_lines": [145], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144}, "test_retrieve_json_sync_backoff": {"executed_lines": [158, 160, 161, 162, 163, 164, 165, 167, 169, 172, 174, 177, 179, 181, 182], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157}, "test_retrieve_json_sync_backoff.fake_sleep": {"executed_lines": [170], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169}, "test_retrieve_json_sync_backoff.fake_async": {"executed_lines": [175], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "test_client_methods_run_in_event_loop": {"executed_lines": [186, 188, 191, 194, 197, 198, 199, 201, 207], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185}, "test_client_methods_run_in_event_loop.fake_init": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188}, "test_client_methods_run_in_event_loop.fake_send_event": {"executed_lines": [192], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 191}, "test_client_methods_run_in_event_loop.fake_retrieve": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 194}, "test_client_methods_run_in_event_loop.run_all": {"executed_lines": [202, 203, 204, 205], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 34, 35, 39, 42, 46, 47, 51, 54, 58, 59, 62, 65, 68, 71, 77, 90, 98, 106, 122, 137, 157, 185], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeAddRelaysClient": {"executed_lines": [36, 37, 40, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "FakeAddRelayClient": {"executed_lines": [48, 49, 52, 55], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "FakeWebSocket": {"executed_lines": [60, 63, 66, 69, 72, 73], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [74], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 27, 28, 29, 31, 34, 35, 39, 42, 46, 47, 51, 54, 58, 59, 62, 65, 68, 71, 77, 78, 79, 81, 84, 85, 86, 87, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 103, 106, 107, 109, 111, 112, 113, 115, 116, 118, 119, 122, 123, 125, 127, 128, 130, 132, 134, 137, 138, 140, 142, 144, 145, 147, 149, 150, 152, 153, 154, 157, 158, 160, 161, 162, 163, 164, 165, 167, 169, 170, 172, 174, 175, 177, 179, 181, 182, 185, 186, 188, 189, 191, 192, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 207], "summary": {"covered_lines": 122, "num_statements": 122, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_contract.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 20, 21, 22, 23, 25, 26, 28, 31, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 48, 50, 51, 52, 54, 55, 56, 58, 59, 61, 64, 65, 66, 68, 71, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 57, "num_statements": 59, "percent_covered": 96.61016949152543, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.61016949152543, "percent_statements_covered_display": "97"}, "missing_lines": [29, 35], "excluded_lines": [], "functions": {"MockNostrServer.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "MockClient.__init__": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "MockClient.add_relays": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "MockClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28}, "MockClient.connect": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "MockClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [35], "excluded_lines": [], "start_line": 34}, "MockClient.send_event": {"executed_lines": [38, 40, 41, 44, 45, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "MockClient.send_event.FakeId.to_hex": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "MockClient.send_event.FakeOutput.__init__": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "MockClient.fetch_events": {"executed_lines": [51, 52, 54, 55, 58, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "MockClient.fetch_events.FakeEvents.__init__": {"executed_lines": [56], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "MockClient.fetch_events.FakeEvents.to_vec": {"executed_lines": [59], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "setup_client": {"executed_lines": [65, 66, 68, 71, 72, 73, 74, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_publish_and_retrieve": {"executed_lines": [79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 20, 21, 25, 28, 31, 34, 37, 50, 64, 78], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"MockNostrServer": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "MockClient": {"executed_lines": [22, 23, 26, 32, 38, 40, 41, 44, 45, 48, 51, 52, 54, 55, 58, 61], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [29, 35], "excluded_lines": [], "start_line": 20}, "MockClient.send_event.FakeId": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "MockClient.send_event.FakeOutput": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "MockClient.fetch_events.FakeEvents": {"executed_lines": [56, 59], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 20, 21, 25, 28, 31, 34, 37, 50, 64, 65, 66, 68, 71, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_dummy_client.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117, 120, 121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144, 147, 148, 150, 151, 152, 154, 156, 157, 158, 160, 163, 164, 165, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 128, "num_statements": 129, "percent_covered": 99.2248062015504, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.2248062015504, "percent_statements_covered_display": "99"}, "missing_lines": [161], "excluded_lines": [], "functions": {"test_manifest_generation": {"executed_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_retrieve_multi_chunk_snapshot": {"executed_lines": [35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_publish_and_fetch_deltas": {"executed_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_fetch_snapshot_fallback_on_missing_chunk": {"executed_lines": [73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "test_fetch_snapshot_fallback_on_missing_chunk.fake_sleep": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "test_fetch_snapshot_uses_event_ids": {"executed_lines": [121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120}, "test_publish_delta_aborts_if_outdated": {"executed_lines": [148, 150, 151, 152, 154, 156, 157, 160, 163, 164, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 147}, "test_publish_delta_aborts_if_outdated.DummyKeys.private_key_hex": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157}, "test_publish_delta_aborts_if_outdated.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [161], "excluded_lines": [], "start_line": 160}, "test_publish_delta_aborts_if_outdated.DummyKeyManager.__init__": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 34, 55, 72, 120, 147], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_publish_delta_aborts_if_outdated.DummyKeys": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [161], "excluded_lines": [], "start_line": 156}, "test_publish_delta_aborts_if_outdated.DummyKeyManager": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117, 120, 121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144, 147, 148, 150, 151, 152, 154, 156, 157, 160, 163, 164, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_nostr_key_determinism": {"executed_lines": [21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_index_size.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 94, "percent_covered": 24.46808510638298, "percent_covered_display": "24", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 24.46808510638298, "percent_statements_covered_display": "24"}, "missing_lines": [26, 27, 28, 39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 91, 92, 93, 94, 97, 98, 99, 100, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": [], "functions": {"_relays_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28], "excluded_lines": [], "start_line": 25}, "test_nostr_index_size_limits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": [], "start_line": 37}, "test_nostr_index_size_limits.fetch_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [91, 92, 93, 94, 97, 98, 99, 100], "excluded_lines": [], "start_line": 88}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 94, "percent_covered": 24.46808510638298, "percent_covered_display": "24", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 24.46808510638298, "percent_statements_covered_display": "24"}, "missing_lines": [26, 27, 28, 39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 91, 92, 93, 94, 97, 98, 99, 100, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_legacy_decrypt_fallback.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 15, 18, 19, 20, 21, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_legacy_password_only_fallback": {"executed_lines": [13, 15, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_legacy_password_only_fallback._fast_legacy_key": {"executed_lines": [18, 19, 20, 21], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 15, 18, 19, 20, 21, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_legacy_key_fallback.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11, 12, 15, 17, 18, 19, 21, 24, 25, 26, 28, 32, 34, 35, 36, 37, 39, 41, 42, 43, 57, 58, 64, 66, 67, 68, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.82608695652173, "percent_statements_covered_display": "98"}, "missing_lines": [22], "excluded_lines": [], "functions": {"test_fetch_snapshot_legacy_key_fallback": {"executed_lines": [12, 15, 17, 18, 21, 24, 28, 32, 34, 35, 39, 41, 42, 43, 57, 58, 64, 66, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_fetch_snapshot_legacy_key_fallback.LegacyKeys.private_key_hex": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_fetch_snapshot_legacy_key_fallback.LegacyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21}, "test_fetch_snapshot_legacy_key_fallback.fake_generate": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_fetch_snapshot_legacy_key_fallback.RecordingFilter.author": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_fetch_snapshot_legacy_key_fallback.fake_fetch_events": {"executed_lines": [67, 68, 69, 70, 71, 72, 74], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_fetch_snapshot_legacy_key_fallback.LegacyKeys": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [22], "excluded_lines": [], "start_line": 17}, "test_fetch_snapshot_legacy_key_fallback.RecordingFilter": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11, 12, 15, 17, 18, 21, 24, 25, 26, 28, 32, 34, 35, 39, 41, 42, 43, 57, 58, 64, 66, 67, 68, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_qr.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95, 98, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 99, "num_statements": 101, "percent_covered": 98.01980198019803, "percent_covered_display": "98", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 98.01980198019803, "percent_statements_covered_display": "98"}, "missing_lines": [21, 22], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [21, 22], "excluded_lines": [], "start_line": 20}, "test_show_qr_for_nostr_keys": {"executed_lines": [26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_show_private_key_qr": {"executed_lines": [62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "test_qr_menu_case_insensitive": {"executed_lines": [100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 20, 25, 60, 98], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeNostrClient": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [21, 22], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95, 98, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_real.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 156, "percent_covered": 19.871794871794872, "percent_covered_display": "20", "missing_lines": 125, "excluded_lines": 0, "percent_statements_covered": 19.871794871794872, "percent_statements_covered_display": "20"}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": [], "functions": {"test_nostr_publish_and_retrieve": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49], "excluded_lines": [], "start_line": 28}, "_relays_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53, 54, 55], "excluded_lines": [], "start_line": 52}, "_init_pm_for_real_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": [], "start_line": 58}, "test_account_roundtrip_sync_delete_restore_real_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161], "excluded_lines": [], "start_line": 85}, "test_real_relays_with_portable_export_import_roundtrip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": [], "start_line": 166}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 156, "percent_covered": 19.871794871794872, "percent_covered_display": "20", "missing_lines": 125, "excluded_lines": 0, "percent_statements_covered": 19.871794871794872, "percent_statements_covered_display": "20"}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_resilience_failure_modes.py": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 61, 64, 67, 69, 70, 72, 73, 74, 79, 81, 83, 88, 89, 91, 92, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_sync_vault_async_sets_last_error_when_no_encrypted_data": {"executed_lines": [10, 11, 12, 13, 15, 17, 18], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_sync_vault_async_preserves_existing_error_when_publish_returns_none": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 33, 34, 36, 38, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_sync_vault_async_preserves_existing_error_when_publish_returns_none._publish_snapshot": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_sync_vault_async_sets_default_error_when_publish_returns_none": {"executed_lines": [44, 45, 46, 47, 48, 49, 55, 57, 58, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "test_sync_index_from_nostr_async_notifies_last_error_when_snapshot_missing": {"executed_lines": [67, 69, 72, 73, 74, 79, 81, 83], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_sync_index_from_nostr_async_notifies_last_error_when_snapshot_missing._no_snapshot": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "test_sync_index_from_nostr_async_notifies_exception_when_fetch_raises": {"executed_lines": [89, 91, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88}, "test_sync_index_from_nostr_async_notifies_exception_when_fetch_raises._boom": {"executed_lines": [92], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91}, "": {"executed_lines": [1, 3, 4, 6, 9, 21, 43, 64, 88], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 61, 64, 67, 69, 70, 72, 73, 74, 79, 81, 83, 88, 89, 91, 92, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_restore_flow.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_restore_flow_from_snapshot": {"executed_lines": [32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_sdk_workflow.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 35, 38, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 56, "num_statements": 59, "percent_covered": 94.91525423728814, "percent_covered_display": "95", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.91525423728814, "percent_statements_covered_display": "95"}, "missing_lines": [53, 54, 57], "excluded_lines": [], "functions": {"FakeRelay.__init__": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "FakeRelay.handler": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "run_relay": {"executed_lines": [31, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "run_relay.main": {"executed_lines": [32, 33], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_nostr_sdk_send_receive": {"executed_lines": [39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 27, "num_statements": 30, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [53, 54, 57], "excluded_lines": [], "start_line": 38}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 16, 30, 38], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeRelay": {"executed_lines": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 16, 30, 31, 32, 33, 35, 38, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 44, "num_statements": 47, "percent_covered": 93.61702127659575, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.61702127659575, "percent_statements_covered_display": "94"}, "missing_lines": [53, 54, 57], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_nostr_snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 46, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 78, 81, 82, 84, 87, 90, 91, 92, 94, 95, 96, 98, 99, 101, 104, 105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 83, "num_statements": 86, "percent_covered": 96.51162790697674, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 96.51162790697674, "percent_statements_covered_display": "97"}, "missing_lines": [79, 85, 88], "excluded_lines": [], "functions": {"_deterministic_bytes": {"executed_lines": [22, 23, 24], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_prepare_snapshot_roundtrip": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_prepare_snapshot_chunk_hash_integrity_by_size_tier": {"executed_lines": [49, 50, 51, 52, 54, 55, 56, 58, 59], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "DummyEvent.__init__": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "DummyEvent.content": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "DummyClient.__init__": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71}, "DummyClient.add_relays": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "DummyClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [79], "excluded_lines": [], "start_line": 78}, "DummyClient.connect": {"executed_lines": [82], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "DummyClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85], "excluded_lines": [], "start_line": 84}, "DummyClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [88], "excluded_lines": [], "start_line": 87}, "DummyClient.fetch_events": {"executed_lines": [91, 92, 94, 95, 98, 101], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90}, "DummyClient.fetch_events.E.__init__": {"executed_lines": [96], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "DummyClient.fetch_events.E.to_vec": {"executed_lines": [99], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98}, "test_fetch_latest_snapshot": {"executed_lines": [105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 27, 38, 46, 62, 63, 66, 70, 71, 75, 78, 81, 84, 87, 90, 104], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEvent": {"executed_lines": [64, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "DummyClient": {"executed_lines": [72, 73, 76, 82, 91, 92, 94, 95, 98, 101], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [79, 85, 88], "excluded_lines": [], "start_line": 70}, "DummyClient.fetch_events.E": {"executed_lines": [96, 99], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 46, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 66, 70, 71, 75, 78, 81, 84, 87, 90, 104, 105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_offline_mode_behavior.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 44, 45, 46], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_sync_vault_skips_network": {"executed_lines": [8, 9, 10, 11, 12, 15, 16, 17], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_start_background_sync_offline": {"executed_lines": [21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_sync_vault_sets_last_error_on_exception": {"executed_lines": [30, 31, 32, 33, 35, 38, 44, 45, 46], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_sync_vault_sets_last_error_on_exception.boom": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "": {"executed_lines": [1, 2, 4, 7, 20, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 44, 45, 46], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_offline_mode_default_enabled.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_offline_mode_default_disabled": {"executed_lines": [9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_offline_mode_profile_creation.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_toggle_offline_mode_after_profile_creation": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_online_mode_first_login_notice.py": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 60, 61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_DummyConfigManager.__init__": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "_DummyConfigManager.load_config": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "_DummyConfigManager.save_config": {"executed_lines": [20, 21, 22], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "_DummyNostrClient.__init__": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "_make_pm": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "test_first_online_login_emits_notice_and_persists_seen": {"executed_lines": [47, 48, 49, 51, 53, 54, 55, 56, 57], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_online_notice_not_repeated_when_seen": {"executed_lines": [61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 16, 19, 25, 26, 32, 46, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_DummyConfigManager": {"executed_lines": [13, 14, 17, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "_DummyNostrClient": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 16, 19, 25, 26, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 60, 61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_parent_seed_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 31, 33, 34, 36, 37, 39, 40, 42, 43, 44, 47, 48, 50, 51, 52, 56, 57, 59, 60, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 21], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_handle_backup_reveal_parent_seed_confirm": {"executed_lines": [25, 27, 28, 31, 33, 36, 37, 39, 40, 42, 43, 44], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_handle_backup_reveal_parent_seed_confirm.fake_save": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "test_handle_backup_reveal_parent_seed_cancel": {"executed_lines": [48, 50, 51, 52, 56, 57, 59, 60], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "test_is_valid_filename": {"executed_lines": [64, 65, 66, 67, 68], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 24, 47, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 31, 33, 34, 36, 37, 39, 40, 42, 43, 44, 47, 48, 50, 51, 52, 56, 57, 59, 60, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_change.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_change_password_triggers_nostr_backup": {"executed_lines": [19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_generation_policy.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 20, 23, 24, 25, 26, 27, 28, 31, 32, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 65, 68, 69, 70, 71], "summary": {"covered_lines": 44, "num_statements": 45, "percent_covered": 97.77777777777777, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.77777777777777, "percent_statements_covered_display": "98"}, "missing_lines": [15], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15], "excluded_lines": [], "start_line": 14}, "DummyBIP85.derive_entropy": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "make_generator": {"executed_lines": [24, 25, 26, 27, 28], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "count_types": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_zero_policy_preserves_length": {"executed_lines": [41, 42, 43, 44, 45, 46], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "test_custom_policy_applied": {"executed_lines": [50, 53, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "test_generate_password_respects_policy": {"executed_lines": [65, 68, 69, 70, 71], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 23, 31, 40, 49, 64], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15], "excluded_lines": [], "start_line": 13}, "DummyBIP85": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 23, 24, 25, 26, 27, 28, 31, 32, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 65, 68, 69, 70, 71], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_helpers.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 43, "num_statements": 44, "percent_covered": 97.72727272727273, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.72727272727273, "percent_statements_covered_display": "98"}, "missing_lines": [10], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10], "excluded_lines": [], "start_line": 9}, "DummyBIP85.derive_entropy": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "make_generator": {"executed_lines": [19, 20, 21, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "test_derive_password_entropy_length": {"executed_lines": [27, 28, 29, 30, 31, 32], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_map_entropy_to_chars_only_uses_alphabet": {"executed_lines": [36, 37, 38, 39, 40], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "test_enforce_complexity_minimum_counts": {"executed_lines": [44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "test_shuffle_deterministically_repeatable": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 18, 26, 35, 43, 54], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10], "excluded_lines": [], "start_line": 8}, "DummyBIP85": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_length_constraints.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [13, 18], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13], "excluded_lines": [], "start_line": 12}, "DummyBIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18], "excluded_lines": [], "start_line": 17}, "make_generator": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_generate_password_too_short_raises": {"executed_lines": [30, 31, 32], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13], "excluded_lines": [], "start_line": 11}, "DummyBIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_notes_display.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_password_notes_shown": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_prompt.py": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_new_password": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_prompt_new_password_retry": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_prompt_existing_password": {"executed_lines": [27, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_confirm_action_yes_no": {"executed_lines": [32, 33, 34, 35], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [1, 2, 4, 5, 7, 10, 17, 26, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_properties.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 33, "num_statements": 34, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.05882352941177, "percent_statements_covered_display": "97"}, "missing_lines": [14], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14], "excluded_lines": [], "start_line": 13}, "DummyBIP85.derive_entropy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "make_generator": {"executed_lines": [23, 24, 25, 26, 27], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_password_properties": {"executed_lines": [36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 22, 30, 34, 35], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14], "excluded_lines": [], "start_line": 12}, "DummyBIP85": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 22, 23, 24, 25, 26, 27, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_shuffle_consistency.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [11], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11], "excluded_lines": [], "start_line": 10}, "DummyBIP85.derive_entropy": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "make_generator": {"executed_lines": [20, 21, 22, 23, 24], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_password_generation_consistent_output": {"executed_lines": [28, 29, 30, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 19, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11], "excluded_lines": [], "start_line": 9}, "DummyBIP85": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_special_chars.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98"}, "missing_lines": [14], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14], "excluded_lines": [], "start_line": 13}, "DummyBIP85.derive_entropy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "make_generator": {"executed_lines": [23, 24, 25, 26, 27], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_no_special_chars": {"executed_lines": [31, 32, 33, 34], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "test_allowed_special_chars_only": {"executed_lines": [38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "test_exclude_ambiguous_chars": {"executed_lines": [47, 48, 49, 50, 51], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_safe_special_chars_mode": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 22, 30, 37, 46, 54], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14], "excluded_lines": [], "start_line": 12}, "DummyBIP85": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_special_modes.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 18, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.82608695652173, "percent_statements_covered_display": "98"}, "missing_lines": [13], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13], "excluded_lines": [], "start_line": 12}, "DummyBIP85.derive_entropy": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "make_generator": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_include_special_chars_false": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_safe_mode_uses_safe_chars": {"executed_lines": [37, 38, 39, 40, 41], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_allowed_chars_override_special_mode": {"executed_lines": [45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_enforce_complexity_min_special_zero": {"executed_lines": [54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 29, 36, 44, 53], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13], "excluded_lines": [], "start_line": 11}, "DummyBIP85": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_password_unlock_after_change.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_password_change_and_unlock": {"executed_lines": [23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_pgp_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pgp_key_determinism": {"executed_lines": [18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_pgp_rsa_key_determinism": {"executed_lines": [50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 47], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_portable_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102, 105, 106, 107, 108, 109, 111, 113, 114, 115, 116, 119, 120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 142, 144, 145, 146, 147, 149, 150, 151, 152, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 131, "num_statements": 132, "percent_covered": 99.24242424242425, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.24242424242425, "percent_statements_covered_display": "99"}, "missing_lines": [92], "excluded_lines": [], "functions": {"setup_vault": {"executed_lines": [27, 28, 29, 30, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "test_round_trip": {"executed_lines": [41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "test_round_trip_unencrypted": {"executed_lines": [58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "test_corruption_detection": {"executed_lines": [78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 77}, "test_corruption_detection._fast_legacy_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [92], "excluded_lines": [], "start_line": 91}, "test_import_over_existing": {"executed_lines": [106, 107, 108, 109, 111, 113, 114, 115, 116], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105}, "test_checksum_mismatch_detection": {"executed_lines": [120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "test_export_import_seed_encrypted_with_different_key": {"executed_lines": [144, 145, 146, 147, 149, 150, 151, 152], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142}, "test_export_creates_additional_backup_and_import": {"executed_lines": [156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 40, 57, 73, 76, 77, 105, 119, 142, 155], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102, 105, 106, 107, 108, 109, 111, 113, 114, 115, 116, 119, 120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 142, 144, 145, 146, 147, 149, 150, 151, 152, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 131, "num_statements": 132, "percent_covered": 99.24242424242425, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.24242424242425, "percent_statements_covered_display": "99"}, "missing_lines": [92], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_post_sync_messages.py": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 18, 19, 20, 21, 22, 25, 26, 29, 30, 31, 34, 35, 39, 40, 41, 44, 45, 49, 50, 51, 54, 55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_handle_post_success": {"executed_lines": [11, 18, 19, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_handle_post_failure": {"executed_lines": [26, 29, 30, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_handle_post_failure_shows_nostr_error": {"executed_lines": [35, 39, 40, 41], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_handle_post_failure_offline_mode_message": {"executed_lines": [45, 49, 50, 51], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "test_handle_post_prints_all_ids": {"executed_lines": [55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 25, 34, 44, 54], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 18, 19, 20, 21, 22, 25, 26, 29, 30, 31, 34, 35, 39, 40, 41, 44, 45, 49, 50, 51, 54, 55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_cleanup.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [13, 14, 16, 17, 19, 20, 21, 22, 23, 24], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_generate_seed_cleanup_on_failure": {"executed_lines": [28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_deletion_sync.py": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_deletion_stops_sync": {"executed_lines": [15, 16, 18, 20, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_profile_deletion_stops_sync.fake_post": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_export_import.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_export_import_round_trip": {"executed_lines": [9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 28, 29, 30, 32, 33], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_profile_export_import_round_trip.sync": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_init_integration.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"load_script": {"executed_lines": [10, 13, 14, 15, 16, 17], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_initialize_profile_and_manager": {"executed_lines": [21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 20], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_management.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_delete_entry": {"executed_lines": [25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profile_recovery_flow.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 16, 17, 19, 24, 26, 28, 29, 30, 31, 33, 37, 39, 40, 43, 44, 45, 46, 47, 49, 54, 60, 63, 66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_switch_existing_selects_profile": {"executed_lines": [10, 11, 12, 16, 17, 19, 24, 26, 28, 33, 37, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "test_add_new_fingerprint_switch_existing_selects_profile.fake_select": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "test_select_fingerprint_returns_false_on_unlock_failure": {"executed_lines": [44, 45, 46, 47, 49, 54, 60], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "test_recover_profile_with_blank_index_rejects_mismatched_seed": {"executed_lines": [66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 43, 63], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 16, 17, 19, 24, 26, 28, 29, 30, 31, 33, 37, 39, 40, 43, 44, 45, 46, 47, 49, 54, 60, 63, 66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_profiles.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_switch_fingerprint": {"executed_lines": [17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_sync_index_missing_bad_data": {"executed_lines": [56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_attempt_initial_sync_incomplete_data": {"executed_lines": [87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 55, 86], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_publish_json_result.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 32, 33, 34, 35, 37, 40, 44, 45, 46, 48, 49, 52, 53, 54, 56, 57, 59, 60, 63, 64, 65, 68, 69, 70, 73, 74, 77, 79, 80, 82, 85, 86, 87, 88, 89, 90, 93, 94, 97, 99, 100, 102, 103, 104], "summary": {"covered_lines": 64, "num_statements": 66, "percent_covered": 96.96969696969697, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.96969696969697, "percent_statements_covered_display": "97"}, "missing_lines": [38, 41], "excluded_lines": [], "functions": {"setup_client": {"executed_lines": [17, 18, 20, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "FakeEvent.__init__": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "FakeEvent.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 37}, "FakeEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [41], "excluded_lines": [], "start_line": 40}, "FakeUnsignedEvent.__init__": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "FakeUnsignedEvent.sign_with_keys": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "FakeBuilder.__init__": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "FakeBuilder.tags": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "FakeBuilder.build": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "FakeEventId.to_hex": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "FakeSendEventOutput.__init__": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "test_publish_snapshot_success": {"executed_lines": [74, 77, 79, 82, 85, 86, 87, 88, 89, 90], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "test_publish_snapshot_success.fake_send": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_publish_snapshot_failure": {"executed_lines": [94, 97, 99, 102, 103, 104], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_publish_snapshot_failure.boom": {"executed_lines": [100], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 32, 33, 37, 40, 44, 45, 48, 52, 53, 56, 59, 63, 64, 68, 69, 73, 93], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeEvent": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [38, 41], "excluded_lines": [], "start_line": 32}, "FakeUnsignedEvent": {"executed_lines": [46, 49], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "FakeBuilder": {"executed_lines": [54, 57, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "FakeEventId": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "FakeSendEventOutput": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 32, 33, 37, 40, 44, 45, 48, 52, 53, 56, 59, 63, 64, 68, 69, 73, 74, 77, 79, 80, 82, 85, 86, 87, 88, 89, 90, 93, 94, 97, 99, 100, 102, 103, 104], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_pubsub.py": {"executed_lines": [1, 4, 5, 6, 8, 9, 11, 12, 14, 17, 18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [22], "excluded_lines": [], "functions": {"test_subscribe_and_publish": {"executed_lines": [5, 6, 8, 11, 12, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4}, "test_subscribe_and_publish.handler": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_unsubscribe": {"executed_lines": [18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_unsubscribe.handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 4, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 8, 9, 11, 12, 14, 17, 18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [22], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_quick_unlock_default.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_quick_unlock_default_off": {"executed_lines": [16, 17, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_quick_unlock_logs_event": {"executed_lines": [22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 21], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_quick_unlock_profile_creation.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_toggle_quick_unlock_after_profile_creation": {"executed_lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_release_integrity_utils.py": {"executed_lines": [1, 3, 10, 11, 12, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 35, "num_statements": 36, "percent_covered": 97.22222222222223, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.22222222222223, "percent_statements_covered_display": "97"}, "missing_lines": [28], "excluded_lines": [], "functions": {"test_generate_checksums_sorts_entries": {"executed_lines": [11, 12, 14, 16, 17, 18], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_parse_checksum_line_rejects_invalid_digest": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [28], "excluded_lines": [], "start_line": 21}, "test_verify_checksums_success": {"executed_lines": [32, 33, 34, 35, 36, 38, 40, 41], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_verify_checksums_detects_mismatch": {"executed_lines": [45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44}, "": {"executed_lines": [1, 3, 10, 21, 31, 44], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 10, 11, 12, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 35, "num_statements": 36, "percent_covered": 97.22222222222223, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.22222222222223, "percent_statements_covered_display": "97"}, "missing_lines": [28], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_restore_from_nostr_setup.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 100, 101, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 134, 135, 138, 141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154, 157, 160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 132, "num_statements": 133, "percent_covered": 99.24812030075188, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.24812030075188, "percent_statements_covered_display": "99"}, "missing_lines": [171], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "test_handle_new_seed_setup_restore_from_nostr": {"executed_lines": [34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 66, 67, 69, 70, 72, 73, 74, 75, 76], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "test_handle_new_seed_setup_restore_from_nostr.finalize": {"executed_lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "test_handle_new_seed_setup_restore_from_local_backup": {"executed_lines": [80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 103, 105, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_handle_new_seed_setup_restore_from_local_backup.init_fp_mgr": {"executed_lines": [100, 101], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "test_handle_new_seed_setup_restore_from_local_backup.finalize": {"executed_lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105}, "_no_snapshot": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134}, "test_restore_from_nostr_warns": {"executed_lines": [141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 138}, "test_restore_from_nostr_abort": {"executed_lines": [160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157}, "test_restore_from_nostr_abort.finalize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [171], "excluded_lines": [], "start_line": 170}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 31, 79, 134, 138, 157], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 100, 101, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 134, 135, 138, 141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154, 157, 160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 132, "num_statements": 133, "percent_covered": 99.24812030075188, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.24812030075188, "percent_statements_covered_display": "99"}, "missing_lines": [171], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_retrieve_pause_sensitive_entries.py": {"executed_lines": [1, 2, 4, 6, 8, 11, 20, 23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pause_before_entry_actions": {"executed_lines": [23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 4, 6, 8, 11, 20], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 11, 20, 23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_search_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 60, 61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75, 78, 79, 80, 81, 83, 87, 89, 90, 93, 94, 95, 96, 98, 100, 101, 104, 105, 106, 107, 109, 110, 111, 114, 115, 116, 117, 119, 121, 122, 125, 126, 127, 128, 130, 131, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_search_by_website": {"executed_lines": [23, 24, 25, 27, 28, 30, 31], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_search_by_username": {"executed_lines": [35, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_search_by_url": {"executed_lines": [47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_search_by_notes_and_totp": {"executed_lines": [61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "test_search_by_custom_field": {"executed_lines": [79, 80, 81, 83, 87, 89, 90], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "test_search_key_value_value": {"executed_lines": [94, 95, 96, 98, 100, 101], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_search_no_results": {"executed_lines": [105, 106, 107, 109, 110, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104}, "test_search_by_tag_password": {"executed_lines": [115, 116, 117, 119, 121, 122], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114}, "test_search_by_tag_totp": {"executed_lines": [126, 127, 128, 130, 131, 133, 134], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125}, "test_search_with_kind_filter": {"executed_lines": [138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 34, 46, 60, 78, 93, 104, 114, 125, 137], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 60, 61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75, 78, 79, 80, 81, 83, 87, 89, 90, 93, 94, 95, 96, 98, 100, 101, 104, 105, 106, 107, 109, 110, 111, 114, 115, 116, 117, 119, 121, 122, 125, 126, 127, 128, 130, 131, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_secret_mode.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_password_retrieve_secret_mode": {"executed_lines": [39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "test_totp_display_secret_mode": {"executed_lines": [60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_password_retrieve_no_secret_mode": {"executed_lines": [90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89}, "test_totp_display_no_secret_mode": {"executed_lines": [112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 38, 59, 89, 111], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_secret_mode_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_initializes_managers": {"executed_lines": [14, 15, 16, 17, 19, 26, 27, 30, 31, 32, 33], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_add_new_fingerprint_initializes_managers.fake_setup_existing_seed": {"executed_lines": [20, 21, 22, 23, 24], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_toggle_secret_mode_after_profile_creation": {"executed_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 36], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seed_phrase_determinism": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_generation.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_password_manager": {"executed_lines": [12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_generate_bip85_and_new_seed": {"executed_lines": [29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 28], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_import.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seed_encryption_round_trip": {"executed_lines": [16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_migration.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parent_seed_migrates_from_fernet": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_prompt.py": {"executed_lines": [1, 2, 3, 6, 7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68, 71, 72, 73, 74, 75, 77, 78, 81, 82, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 68, "num_statements": 72, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [12, 17, 23, 24], "excluded_lines": [], "functions": {"test_masked_input_posix_backspace": {"executed_lines": [7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34], "summary": {"covered_lines": 14, "num_statements": 18, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [12, 17, 23, 24], "excluded_lines": [], "start_line": 6}, "test_masked_input_windows_space": {"executed_lines": [38, 39, 40, 41, 43, 44, 45, 46, 47], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "test_masked_input_posix_ctrl_c": {"executed_lines": [51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "test_masked_input_windows_ctrl_c": {"executed_lines": [72, 73, 74, 75, 77, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71}, "test_prompt_seed_words_valid": {"executed_lines": [82, 84, 85, 86, 88, 89, 90, 92, 93], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81}, "test_prompt_seed_words_invalid_word": {"executed_lines": [97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "": {"executed_lines": [1, 2, 3, 6, 37, 50, 71, 81, 96], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 6, 7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68, 71, 72, 73, 74, 75, 77, 78, 81, 82, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 68, "num_statements": 72, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [12, 17, 23, 24], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seed_word_by_word_flow.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 60, 61, 62, 64, 68, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_seed_words_confirmation_loop": {"executed_lines": [13, 14, 15, 16, 18, 19, 20, 21, 23, 24], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_prompt_seed_words_invalid_word": {"executed_lines": [28, 29, 30, 31, 33, 34, 35, 36, 38, 39], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_add_new_fingerprint_words_flow_success": {"executed_lines": [43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 64, 68, 70, 71, 72, 73], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_add_new_fingerprint_words_flow_success.finalize": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_add_new_fingerprint_words_flow_invalid_phrase": {"executed_lines": [77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 27, 42, 76], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 60, 61, 62, 64, 68, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_seedqr_encoding.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seedqr_standard_example": {"executed_lines": [10, 14, 15], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 4, 6, 9], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_semantic_index.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46, 49, 50, 51, 52, 54, 55, 57, 58, 60, 61, 63, 64, 67, 68, 69, 85, 86, 91, 92, 95, 96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_semantic_index_build_and_search": {"executed_lines": [11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "_DummyConfig.__init__": {"executed_lines": [51, 52], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "_DummyConfig.set_semantic_index_enabled": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "_DummyConfig.get_semantic_index_enabled": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57}, "_DummyConfig.set_semantic_search_mode": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60}, "_DummyConfig.get_semantic_search_mode": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "_DummyEntryManager.__init__": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68}, "_DummyEntryManager.search_entries": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85}, "_DummyEntryManager.retrieve_entry": {"executed_lines": [92], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91}, "test_semantic_index_service_build_and_status": {"executed_lines": [96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 49, 50, 54, 57, 60, 63, 67, 68, 85, 91, 95], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_DummyConfig": {"executed_lines": [51, 52, 55, 58, 61, 64], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "_DummyEntryManager": {"executed_lines": [69, 86, 92], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46, 49, 50, 54, 57, 60, 63, 67, 68, 85, 91, 95, 96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_service_classes.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 102, "num_statements": 102, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "_setup_pm": {"executed_lines": [23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_entry_service_add_password": {"executed_lines": [44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43}, "test_menu_handler_list_entries": {"executed_lines": [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_menu_handler_list_entries_shows_empty_message": {"executed_lines": [97, 98, 100, 101, 102, 103, 104, 105, 106], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "test_profile_service_switch": {"executed_lines": [110, 111, 115, 118, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 109}, "test_profile_service_switch.DummyFingerprintManager.__init__": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111}, "test_profile_service_switch.DummyFingerprintManager.list_fingerprints": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115}, "test_profile_service_switch.DummyFingerprintManager.display_name": {"executed_lines": [119], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118}, "test_profile_service_switch.DummyFingerprintManager.get_current_fingerprint_dir": {"executed_lines": [122], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 43, 79, 96, 109], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FakePasswordGenerator": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_profile_service_switch.DummyFingerprintManager": {"executed_lines": [112, 113, 116, 119, 122], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 115, 118, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_settings_menu.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53, 56, 57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96, 99, 100, 101, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126, 129, 130, 131, 132, 134, 135, 137, 138, 139, 140, 141, 143, 144, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175, 178, 179, 180, 181, 183, 186, 187, 188, 189, 191, 192, 195, 196, 197, 198, 199, 201, 202, 204, 205, 206, 208, 209, 210, 211, 213, 214, 217, 218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232, 235, 236, 237, 238, 239, 243, 244, 245, 246, 248, 249, 252, 253, 254, 255, 256, 260, 261, 262, 263, 265, 266, 269, 270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 375, 376, 377, 378, 380, 381, 383, 384, 386, 387, 389, 392, 393, 394, 396, 397, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 289, "num_statements": 291, "percent_covered": 99.3127147766323, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 99.3127147766323, "percent_statements_covered_display": "99"}, "missing_lines": [184, 390], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "test_relay_and_profile_actions": {"executed_lines": [57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "test_settings_menu_additional_backup": {"executed_lines": [100, 101, 102, 104, 105, 106, 107, 108], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "test_settings_menu_change_password": {"executed_lines": [112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111}, "test_settings_menu_change_password_incorrect": {"executed_lines": [130, 131, 132, 134, 137, 138, 139, 140, 141, 143, 144, 146, 147], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129}, "test_settings_menu_change_password_incorrect.fail_change": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134}, "test_settings_menu_without_nostr_client": {"executed_lines": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 150}, "test_settings_menu_missing_handler_is_graceful": {"executed_lines": [179, 180, 181, 183, 186, 187, 188, 189, 191, 192], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [184], "excluded_lines": [], "start_line": 178}, "test_settings_lock_unlock_cancelled_is_graceful": {"executed_lines": [196, 197, 198, 199, 201, 204, 205, 206, 208, 209, 210, 211, 213, 214], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195}, "test_settings_lock_unlock_cancelled_is_graceful.unlock_fail": {"executed_lines": [202], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201}, "test_profiles_submenu_action_error_is_graceful": {"executed_lines": [218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217}, "test_settings_export_failure_message": {"executed_lines": [236, 237, 238, 239, 243, 244, 245, 246, 248, 249], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 235}, "test_settings_import_missing_path_message": {"executed_lines": [253, 254, 255, 256, 260, 261, 262, 263, 265, 266], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252}, "test_reset_nostr_sync_state": {"executed_lines": [270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 269}, "test_start_fresh_nostr_namespace": {"executed_lines": [304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 303}, "test_nostr_menu_dispatches_reset_sync_state": {"executed_lines": [340, 341, 342, 343, 344, 345, 346, 347, 348], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 339}, "test_nostr_menu_dispatches_fresh_namespace": {"executed_lines": [352, 353, 354, 355, 356, 357, 358, 359, 360], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 351}, "test_settings_menu_dispatches_semantic_submenu": {"executed_lines": [364, 365, 366, 367, 368, 369, 370, 371], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363}, "test_semantic_submenu_search_flow": {"executed_lines": [375, 376, 380, 383, 386, 389, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 374}, "test_semantic_submenu_search_flow.DummySemanticService.__init__": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376}, "test_semantic_submenu_search_flow.DummySemanticService.status": {"executed_lines": [381], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 380}, "test_semantic_submenu_search_flow.DummySemanticService.set_enabled": {"executed_lines": [384], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 383}, "test_semantic_submenu_search_flow.DummySemanticService.build": {"executed_lines": [387], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386}, "test_semantic_submenu_search_flow.DummySemanticService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [390], "excluded_lines": [], "start_line": 389}, "test_semantic_submenu_search_flow.DummySemanticService.set_mode": {"executed_lines": [393, 394], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 392}, "test_semantic_submenu_search_flow.DummySemanticService.search": {"executed_lines": [397, 398], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 56, 99, 111, 129, 150, 178, 195, 217, 235, 252, 269, 303, 339, 351, 363, 374], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_semantic_submenu_search_flow.DummySemanticService": {"executed_lines": [377, 378, 381, 384, 387, 393, 394, 397, 398], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [390], "excluded_lines": [], "start_line": 375}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53, 56, 57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96, 99, 100, 101, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126, 129, 130, 131, 132, 134, 135, 137, 138, 139, 140, 141, 143, 144, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175, 178, 179, 180, 181, 183, 186, 187, 188, 189, 191, 192, 195, 196, 197, 198, 199, 201, 202, 204, 205, 206, 208, 209, 210, 211, 213, 214, 217, 218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232, 235, 236, 237, 238, 239, 243, 244, 245, 246, 248, 249, 252, 253, 254, 255, 256, 260, 261, 262, 263, 265, 266, 269, 270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 375, 376, 380, 383, 386, 389, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 280, "num_statements": 281, "percent_covered": 99.644128113879, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.644128113879, "percent_statements_covered_display": "99"}, "missing_lines": [184], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_ssh_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_retrieve_ssh_key_pair": {"executed_lines": [19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_ssh_entry_valid.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_ssh_private_key_corresponds_to_public": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_state_manager.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_state_manager_round_trip": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_stats_manager.py": {"executed_lines": [1, 2, 3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_stats_manager_reset": {"executed_lines": [8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [1, 2, 3, 6], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_stats_screen.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 20, 21, 22, 23, 28, 29, 30, 33, 34, 35, 36, 41, 42, 43, 46, 47, 49, 50, 52, 53, 59, 61, 64, 65, 66, 68, 70, 73, 74, 75, 76, 79, 80, 81, 82, 87, 88, 89, 90, 93, 94, 96, 97, 98, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 59, "num_statements": 60, "percent_covered": 98.33333333333333, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.33333333333333, "percent_statements_covered_display": "98"}, "missing_lines": [71], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_live_stats_shows_message": {"executed_lines": [21, 22, 23, 28, 29, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_live_stats_shows_notification": {"executed_lines": [34, 35, 36, 41, 42, 43], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "test_live_stats_triggers_background_sync": {"executed_lines": [47, 49, 50, 52, 53, 59, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46}, "test_stats_display_only_once": {"executed_lines": [65, 66, 68, 70, 73, 74, 75, 76], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64}, "test_stats_display_only_once.fake_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71], "excluded_lines": [], "start_line": 70}, "test_stats_display_resets_after_exit": {"executed_lines": [80, 81, 82, 87, 88, 89, 90], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_stats_screen_breaks_on_enter": {"executed_lines": [94, 96, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 93}, "test_stats_screen_breaks_on_enter.display": {"executed_lines": [97, 98], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 20, 33, 46, 64, 79, 93], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 20, 21, 22, 23, 28, 29, 30, 33, 34, 35, 36, 41, 42, 43, 46, 47, 49, 50, 52, 53, 59, 61, 64, 65, 66, 68, 70, 73, 74, 75, 76, 79, 80, 81, 82, 87, 88, 89, 90, 93, 94, 96, 97, 98, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 59, "num_statements": 60, "percent_covered": 98.33333333333333, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.33333333333333, "percent_statements_covered_display": "98"}, "missing_lines": [71], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_sync_race_conditions.py": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 42, 44, 45, 46, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 75, "num_statements": 76, "percent_covered": 98.6842105263158, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.6842105263158, "percent_statements_covered_display": "99"}, "missing_lines": [49], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_sync_race_conditions": {"executed_lines": [35, 37, 38, 39, 40, 42, 44, 45, 48, 51, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "test_sync_race_conditions.DummyKeys.private_key_hex": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "test_sync_race_conditions.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [49], "excluded_lines": [], "start_line": 48}, "test_sync_race_conditions.DummyKeyManager.__init__": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52}, "test_sync_race_conditions.publish": {"executed_lines": [75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 34], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_sync_race_conditions.DummyKeys": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [49], "excluded_lines": [], "start_line": 44}, "test_sync_race_conditions.DummyKeyManager": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 42, 44, 45, 48, 51, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tag_persistence.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 30, 32, 33, 36, 37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "test_tags_persist_on_new_entry": {"executed_lines": [23, 24, 25, 27, 30, 32, 33], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_tags_persist_after_modify": {"executed_lines": [37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 36], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 30, 32, 33, 36, 37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_terminal_utils_display.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 27, 34, 35, 39, 42, 43, 44, 45, 47, 51, 52, 56, 59, 62, 68, 69, 70, 76, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94, 97, 98, 103, 104, 109, 110, 113, 114, 119, 123], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_NamedFingerprintManager.get_name": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "test_format_profile_returns_custom_name": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_format_profile_returns_raw_when_name_missing": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "test_clear_and_print_fingerprint_parent_child_breadcrumb": {"executed_lines": [23, 24, 25, 27, 34, 35, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_clear_and_print_profile_chain_with_breadcrumb": {"executed_lines": [43, 44, 45, 47, 51, 52, 56], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "test_clear_header_with_notification_invalid_level_falls_back_to_info": {"executed_lines": [62, 68, 69, 70, 76, 78, 79, 80], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_clear_header_with_notification_handles_queue_empty": {"executed_lines": [84, 88, 89, 91, 93, 94], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83}, "test_pause_returns_early_when_not_tty": {"executed_lines": [98, 103, 104, 109, 110], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "test_pause_swallows_eoferror": {"executed_lines": [114, 119, 123], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113}, "": {"executed_lines": [1, 2, 4, 7, 8, 12, 17, 22, 42, 59, 83, 97, 113], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_NamedFingerprintManager": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [1, 2, 4, 7, 8, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 27, 34, 35, 39, 42, 43, 44, 45, 47, 51, 52, 56, 59, 62, 68, 69, 70, 76, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94, 97, 98, 103, 104, 109, 110, 113, 114, 119, 123], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_terminal_utils_failure_handling.py": {"executed_lines": [3, 4, 6, 12, 17, 18, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [13, 14, 20, 21], "functions": {"ErrorFingerprintManager.get_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [14], "start_line": 13}, "ErrorPM.get_current_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [21], "start_line": 20}, "test_format_profile_reraises": {"executed_lines": [25, 26, 27, 28, 29], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_clear_header_with_notification_reraises": {"executed_lines": [33, 34, 35, 36, 37], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [3, 4, 6, 12, 17, 18, 24, 32], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [13, 20], "start_line": 1}}, "classes": {"ErrorFingerprintManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [14], "start_line": 12}, "ErrorPM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [21], "start_line": 17}, "": {"executed_lines": [3, 4, 6, 12, 17, 18, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [13, 20], "start_line": 1}}}, "src/tests/test_totp.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_current_code_matches_pyotp": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_time_remaining": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "test_print_progress_bar_terminates": {"executed_lines": [26, 27, 28, 29, 30], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 20, 21, 25], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_totp_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_totp_and_get_code": {"executed_lines": [21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "test_totp_time_remaining": {"executed_lines": [46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "test_add_totp_imported": {"executed_lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_add_totp_with_notes": {"executed_lines": [74, 75, 76, 77, 79, 80, 81], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "test_legacy_deterministic_entry": {"executed_lines": [85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 45, 59, 73, 84], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_totp_uri.py": {"executed_lines": [1, 2, 4, 6, 8, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 33, 34, 35, 36, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_otpauth_normal": {"executed_lines": [14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_parse_otpauth_missing_prefix": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_parse_otpauth_missing_secret": {"executed_lines": [34, 35, 36], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "test_make_otpauth_uri_roundtrip": {"executed_lines": [43, 44, 45, 46, 47], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "": {"executed_lines": [1, 2, 4, 6, 8, 13, 25, 33, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 33, 34, 35, 36, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_action_matrix.py": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 517, "percent_covered": 0.9671179883945842, "percent_covered_display": "1", "missing_lines": 512, "excluded_lines": 0, "percent_statements_covered": 0.9671179883945842, "percent_statements_covered_display": "1"}, "missing_lines": [9, 11, 14, 15, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 83, 85, 86, 87, 88, 90, 97, 98, 107, 109, 119, 120, 121, 130, 132, 135, 136, 137, 145, 147, 157, 158, 159, 168, 170, 173, 174, 175, 183, 185, 194, 195, 196, 204, 206, 209, 210, 211, 219, 221, 229, 230, 231, 232, 233, 240, 242, 245, 246, 247, 254, 256, 263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 290, 291, 293, 294, 295, 297, 298, 299, 306, 307, 308, 310, 311, 312, 314, 315, 316, 321, 322, 323, 328, 329, 330, 335, 336, 338, 339, 341, 342, 343, 345, 346, 347, 348, 350, 351, 352, 353, 355, 356, 357, 358, 360, 368, 369, 370, 371, 372, 374, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 390, 391, 392, 393, 394, 395, 397, 398, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 729, 731, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775, 778, 779, 780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "excluded_lines": [], "functions": {"MatrixEntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": [], "start_line": 15}, "MatrixEntryService._next_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [46], "excluded_lines": [], "start_line": 45}, "MatrixEntryService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 83], "excluded_lines": [], "start_line": 48}, "MatrixEntryService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [86, 87, 88], "excluded_lines": [], "start_line": 85}, "MatrixEntryService.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [97, 98, 107], "excluded_lines": [], "start_line": 90}, "MatrixEntryService.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [119, 120, 121, 130], "excluded_lines": [], "start_line": 109}, "MatrixEntryService.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [135, 136, 137, 145], "excluded_lines": [], "start_line": 132}, "MatrixEntryService.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [157, 158, 159, 168], "excluded_lines": [], "start_line": 147}, "MatrixEntryService.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173, 174, 175, 183], "excluded_lines": [], "start_line": 170}, "MatrixEntryService.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [194, 195, 196, 204], "excluded_lines": [], "start_line": 185}, "MatrixEntryService.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [209, 210, 211, 219], "excluded_lines": [], "start_line": 206}, "MatrixEntryService.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [229, 230, 231, 232, 233, 240], "excluded_lines": [], "start_line": 221}, "MatrixEntryService.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [245, 246, 247, 254], "excluded_lines": [], "start_line": 242}, "MatrixEntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280], "excluded_lines": [], "start_line": 256}, "MatrixEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [283, 284, 285, 286, 287, 288], "excluded_lines": [], "start_line": 282}, "MatrixEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [291], "excluded_lines": [], "start_line": 290}, "MatrixEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [294, 295], "excluded_lines": [], "start_line": 293}, "MatrixEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [298, 299], "excluded_lines": [], "start_line": 297}, "MatrixEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [307, 308], "excluded_lines": [], "start_line": 306}, "MatrixEntryService.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [311, 312], "excluded_lines": [], "start_line": 310}, "MatrixEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [315, 316], "excluded_lines": [], "start_line": 314}, "MatrixEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [322, 323], "excluded_lines": [], "start_line": 321}, "MatrixEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [329, 330], "excluded_lines": [], "start_line": 328}, "MatrixEntryService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [336], "excluded_lines": [], "start_line": 335}, "MatrixEntryService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [339], "excluded_lines": [], "start_line": 338}, "MatrixEntryService.copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [342, 343], "excluded_lines": [], "start_line": 341}, "MatrixEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [346, 347, 348], "excluded_lines": [], "start_line": 345}, "MatrixEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [351, 352, 353], "excluded_lines": [], "start_line": 350}, "MatrixEntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [356, 357, 358], "excluded_lines": [], "start_line": 355}, "MatrixEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [368, 369, 370, 371, 372], "excluded_lines": [], "start_line": 360}, "MatrixEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "excluded_lines": [], "start_line": 374}, "MatrixEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [391, 392, 393, 394, 395], "excluded_lines": [], "start_line": 390}, "MatrixEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [398], "excluded_lines": [], "start_line": 397}, "_build_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [402, 404, 407, 411, 412, 413, 414], "excluded_lines": [], "start_line": 401}, "_build_app._hook": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [405], "excluded_lines": [], "start_line": 404}, "_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [418], "excluded_lines": [], "start_line": 417}, "test_tui2_matrix_init_retry_failure_and_success": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [423, 424, 426, 432, 433, 434, 435, 436, 437, 438, 442, 443], "excluded_lines": [], "start_line": 422}, "test_tui2_matrix_init_retry_failure_and_success._factory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [427, 428, 429, 430], "excluded_lines": [], "start_line": 426}, "test_tui2_matrix_service_unavailable_and_no_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [448, 449, 450, 451, 454, 455, 456], "excluded_lines": [], "start_line": 447}, "test_tui2_matrix_actions_palette_events_and_guards": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 262, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 262, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 729, 731, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775], "excluded_lines": [], "start_line": 460}, "test_tui2_matrix_failure_paths_and_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "excluded_lines": [], "start_line": 779}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 51, "percent_covered": 9.803921568627452, "percent_covered_display": "10", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 9.803921568627452, "percent_statements_covered_display": "10"}, "missing_lines": [9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 417, 421, 422, 446, 447, 459, 460, 778, 779], "excluded_lines": [], "start_line": 1}}, "classes": {"MatrixEntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 147, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 147, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 83, 86, 87, 88, 97, 98, 107, 119, 120, 121, 130, 135, 136, 137, 145, 157, 158, 159, 168, 173, 174, 175, 183, 194, 195, 196, 204, 209, 210, 211, 219, 229, 230, 231, 232, 233, 240, 245, 246, 247, 254, 263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280, 283, 284, 285, 286, 287, 288, 291, 294, 295, 298, 299, 307, 308, 311, 312, 315, 316, 322, 323, 329, 330, 336, 339, 342, 343, 346, 347, 348, 351, 352, 353, 356, 357, 358, 368, 369, 370, 371, 372, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 370, "percent_covered": 1.3513513513513513, "percent_covered_display": "1", "missing_lines": 365, "excluded_lines": 0, "percent_statements_covered": 1.3513513513513513, "percent_statements_covered_display": "1"}, "missing_lines": [9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 729, 731, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775, 778, 779, 780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_helpers.py": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_palette_command_ok": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_parse_palette_command_empty": {"executed_lines": [20, 21], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "test_parse_palette_command_unbalanced_quotes": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "test_pagination_window_normalizes_page": {"executed_lines": [30, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_pagination_window_empty": {"executed_lines": [40, 43, 44, 45, 46], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39}, "test_pagination_window_rejects_nonpositive_page_size": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "test_truncate_entry_for_display_no_content": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "test_truncate_entry_for_display_truncates_content": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59}, "test_render_qr_ascii_nonempty": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "test_pagination_window_large_vault_sizes": {"executed_lines": [75, 76, 79, 80, 81], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73}, "": {"executed_lines": [1, 3, 5, 13, 19, 24, 29, 39, 49, 54, 59, 65, 72, 73], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_kb_scale_stress.py": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 82, "percent_covered": 6.097560975609756, "percent_covered_display": "6", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 6.097560975609756, "percent_statements_covered_display": "6"}, "missing_lines": [9, 11, 14, 15, 16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 69, 71, 72, 74, 75, 76, 78, 79, 82, 83, 85, 86, 88, 89, 90, 91, 92, 95, 96, 99, 100, 107, 108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "excluded_lines": [], "functions": {"LargeKbService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33], "excluded_lines": [], "start_line": 15}, "LargeKbService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 69], "excluded_lines": [], "start_line": 35}, "LargeKbService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [72], "excluded_lines": [], "start_line": 71}, "LargeKbService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [75, 76], "excluded_lines": [], "start_line": 74}, "LargeKbService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [79], "excluded_lines": [], "start_line": 78}, "_build_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [83, 85, 88, 89, 90, 91, 92], "excluded_lines": [], "start_line": 82}, "_build_app._hook": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [86], "excluded_lines": [], "start_line": 85}, "_filters": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96], "excluded_lines": [], "start_line": 95}, "test_tui2_kb_large_index_navigation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "excluded_lines": [], "start_line": 107}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 18, "percent_covered": 27.77777777777778, "percent_covered_display": "28", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 27.77777777777778, "percent_statements_covered_display": "28"}, "missing_lines": [9, 11, 14, 15, 35, 71, 74, 78, 82, 95, 99, 100, 107], "excluded_lines": [], "start_line": 1}}, "classes": {"LargeKbService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 69, 72, 75, 76, 79], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 49, "percent_covered": 10.204081632653061, "percent_covered_display": "10", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 10.204081632653061, "percent_statements_covered_display": "10"}, "missing_lines": [9, 11, 14, 15, 35, 71, 74, 78, 82, 83, 85, 86, 88, 89, 90, 91, 92, 95, 96, 99, 100, 107, 108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_large_vault_validation.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 14, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 54, 62, 66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98"}, "missing_lines": [33], "excluded_lines": [], "functions": {"_deterministic_labels": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "test_large_vault_pagination_validation": {"executed_lines": [23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 95.83333333333333, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96"}, "missing_lines": [33], "excluded_lines": [], "start_line": 21}, "test_large_document_detail_truncation_validation": {"executed_lines": [66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "": {"executed_lines": [1, 3, 5, 7, 10, 14, 21, 54, 62], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 14, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 54, 62, 66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98"}, "missing_lines": [33], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_parity_scenarios.py": {"executed_lines": [1, 3, 5, 7], "summary": {"covered_lines": 4, "num_statements": 111, "percent_covered": 3.6036036036036037, "percent_covered_display": "4", "missing_lines": 107, "excluded_lines": 0, "percent_statements_covered": 3.6036036036036037, "percent_statements_covered_display": "4"}, "missing_lines": [8, 10, 13, 14, 15, 16, 21, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 54, 56, 57, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 72, 73, 75, 83, 84, 85, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16], "excluded_lines": [], "start_line": 14}, "FakeEntryService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 54], "excluded_lines": [], "start_line": 21}, "FakeEntryService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57], "excluded_lines": [], "start_line": 56}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": [], "start_line": 59}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67], "excluded_lines": [], "start_line": 66}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [70], "excluded_lines": [], "start_line": 69}, "FakeEntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [73], "excluded_lines": [], "start_line": 72}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [83, 84, 85], "excluded_lines": [], "start_line": 75}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "start_line": 87}, "_build_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [103, 105, 108, 109, 110, 111, 112], "excluded_lines": [], "start_line": 102}, "_build_app._hook": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [106], "excluded_lines": [], "start_line": 105}, "_widget_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116], "excluded_lines": [], "start_line": 115}, "_run_palette": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [120, 121, 122, 123], "excluded_lines": [], "start_line": 119}, "_status_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [127], "excluded_lines": [], "start_line": 126}, "test_tui2_parity_filters_cover_all_entry_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161], "excluded_lines": [], "start_line": 131}, "test_tui2_parity_archive_restore_roundtrip_non_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [166, 169, 171, 172, 173, 174, 175, 177, 178, 179], "excluded_lines": [], "start_line": 165}, "test_tui2_parity_edit_document_guard_for_non_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [184, 186, 187, 188, 189, 190], "excluded_lines": [], "start_line": 183}, "": {"executed_lines": [1, 3, 5, 7], "summary": {"covered_lines": 4, "num_statements": 26, "percent_covered": 15.384615384615385, "percent_covered_display": "15", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 15.384615384615385, "percent_statements_covered_display": "15"}, "missing_lines": [8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 115, 119, 126, 130, 131, 164, 165, 182, 183], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeEntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 54, 57, 60, 61, 62, 63, 64, 67, 70, 73, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [1, 3, 5, 7], "summary": {"covered_lines": 4, "num_statements": 70, "percent_covered": 5.714285714285714, "percent_covered_display": "6", "missing_lines": 66, "excluded_lines": 0, "percent_statements_covered": 5.714285714285714, "percent_statements_covered_display": "6"}, "missing_lines": [8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_tui_v2_textual_interactions.py": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 1290, "percent_covered": 0.3875968992248062, "percent_covered_display": "1", "missing_lines": 1285, "excluded_lines": 0, "percent_statements_covered": 0.3875968992248062, "percent_statements_covered_display": "1"}, "missing_lines": [9, 11, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 31, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 70, 71, 73, 80, 81, 90, 92, 101, 102, 103, 112, 114, 115, 116, 124, 126, 127, 128, 136, 138, 141, 142, 143, 151, 153, 162, 163, 164, 172, 174, 177, 178, 179, 187, 189, 197, 198, 199, 200, 201, 208, 210, 213, 214, 215, 222, 224, 231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 245, 246, 247, 248, 250, 251, 252, 253, 254, 255, 257, 258, 260, 261, 262, 264, 265, 266, 273, 274, 275, 277, 278, 279, 281, 282, 283, 284, 285, 286, 292, 294, 295, 296, 301, 302, 303, 308, 309, 310, 315, 316, 318, 319, 321, 322, 323, 325, 326, 328, 329, 331, 332, 334, 342, 343, 350, 352, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 373, 374, 377, 378, 379, 380, 381, 382, 383, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 401, 402, 403, 404, 405, 406, 408, 409, 410, 411, 412, 413, 414, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 431, 432, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 456, 457, 458, 459, 460, 462, 463, 465, 466, 468, 469, 470, 471, 473, 474, 475, 476, 478, 479, 480, 482, 483, 485, 486, 487, 490, 491, 492, 495, 496, 497, 498, 500, 501, 502, 504, 505, 508, 509, 510, 511, 513, 514, 516, 517, 520, 521, 522, 523, 524, 525, 526, 527, 529, 530, 531, 532, 533, 535, 536, 537, 539, 540, 541, 542, 543, 544, 545, 546, 548, 549, 550, 552, 553, 554, 555, 556, 557, 559, 560, 562, 565, 566, 567, 568, 569, 570, 571, 573, 574, 581, 582, 583, 585, 586, 587, 588, 590, 591, 592, 593, 595, 596, 597, 599, 607, 608, 609, 610, 611, 612, 623, 634, 636, 637, 639, 664, 665, 666, 667, 670, 671, 674, 675, 678, 679, 682, 683, 684, 685, 686, 687, 690, 691, 692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722, 725, 726, 727, 739, 741, 742, 743, 744, 745, 747, 748, 749, 750, 752, 753, 754, 755, 756, 758, 759, 760, 763, 764, 765, 777, 779, 780, 781, 782, 784, 785, 786, 787, 788, 789, 790, 792, 794, 796, 797, 799, 800, 801, 802, 803, 806, 807, 808, 814, 816, 817, 819, 820, 821, 823, 824, 825, 827, 828, 829, 832, 833, 834, 835, 837, 838, 840, 841, 842, 843, 844, 845, 847, 848, 849, 852, 853, 854, 862, 864, 865, 867, 868, 869, 870, 871, 873, 874, 875, 876, 877, 879, 880, 881, 882, 883, 884, 885, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 900, 901, 920, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 942, 943, 944, 947, 948, 949, 962, 964, 965, 966, 967, 968, 969, 971, 972, 973, 974, 976, 977, 978, 979, 980, 983, 984, 985, 991, 993, 994, 995, 996, 997, 999, 1000, 1001, 1002, 1003, 1006, 1007, 1008, 1026, 1027, 1028, 1030, 1031, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1046, 1048, 1049, 1050, 1053, 1054, 1055, 1088, 1090, 1091, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1123, 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1143, 1144, 1145, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155, 1158, 1159, 1160, 1164, 1166, 1167, 1168, 1170, 1171, 1173, 1174, 1175, 1178, 1179, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1191, 1192, 1193, 1194, 1195, 1197, 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1230, 1233, 1234, 1235, 1236, 1238, 1239, 1241, 1242, 1243, 1245, 1246, 1247, 1249, 1250, 1251, 1253, 1254, 1255, 1257, 1258, 1259, 1261, 1262, 1263, 1265, 1266, 1267, 1269, 1270, 1271, 1273, 1274, 1275, 1278, 1279, 1282, 1299, 1301, 1302, 1303, 1304, 1306, 1307, 1308, 1310, 1311, 1312, 1314, 1315, 1316, 1318, 1319, 1320, 1322, 1323, 1324, 1325, 1329, 1330, 1331, 1332, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1343, 1344, 1347, 1353, 1355, 1356, 1357, 1358, 1359, 1361, 1362, 1363, 1365, 1366, 1367, 1369, 1370, 1371, 1373, 1374, 1375, 1377, 1378, 1379, 1381, 1382, 1383, 1387, 1388, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1398, 1399, 1402, 1403, 1404, 1433, 1435, 1436, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1472, 1473, 1474, 1480, 1482, 1483, 1484, 1485, 1486, 1488, 1489, 1490, 1492, 1493, 1494, 1495, 1496, 1498, 1499, 1500, 1502, 1503, 1504, 1506, 1507, 1508, 1509, 1510, 1513, 1514, 1515, 1536, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1555, 1556, 1557, 1559, 1560, 1561, 1564, 1565, 1566, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1600, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1624, 1625, 1627, 1628, 1629, 1631, 1632, 1633, 1634, 1635, 1637, 1638, 1639, 1640, 1642, 1643, 1644, 1645, 1647, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1661, 1663, 1664, 1665, 1666, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1687, 1688, 1689, 1690, 1692, 1693, 1694, 1695, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1750, 1752, 1753, 1754, 1755, 1757, 1758, 1759, 1760, 1762, 1763, 1764, 1765, 1767, 1768, 1769, 1770, 1772, 1773, 1774, 1775, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1786, 1787, 1788, 1789, 1791, 1794, 1795, 1799, 1805, 1806, 1807, 1813, 1815, 1816, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1830, 1831, 1832, 1833, 1835, 1836, 1837, 1840, 1841, 1842, 1843, 1845, 1846, 1847, 1848, 1849, 1851, 1852, 1853, 1855, 1856, 1857, 1859, 1860, 1861, 1863, 1864, 1865, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1879, 1880, 1881, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1895, 1896, 1897, 1899, 1900, 1901, 1903, 1904, 1905, 1907, 1908, 1909, 1911, 1912, 1913, 1915, 1916, 1917, 1919, 1920, 1921, 1923, 1924, 1925, 1927, 1928, 1929, 1931, 1932, 1933, 1935, 1936, 1937, 1939, 1940, 1941, 1943, 1944, 1945, 1947, 1948, 1949, 1951, 1952, 1953, 1955, 1956, 1957, 1959, 1960, 1961, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1982, 1983, 1985, 1986, 1987, 1989, 1990, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006, 2007, 2011, 2012, 2013, 2015, 2016, 2017, 2019, 2020, 2021, 2023, 2024, 2025, 2027, 2028, 2029, 2034, 2035, 2036, 2038, 2039, 2040, 2042, 2043, 2044, 2046, 2047, 2048, 2050, 2051, 2052, 2054, 2055, 2056, 2058, 2059, 2060, 2062, 2063, 2064, 2066, 2067, 2068, 2070, 2071, 2072, 2074, 2075, 2076, 2080, 2081, 2082, 2086, 2087, 2088, 2090, 2091, 2092, 2095, 2096, 2097, 2100, 2101, 2103, 2104, 2106, 2107, 2108, 2109, 2110, 2112, 2113, 2114, 2115, 2116, 2118, 2119, 2120, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 21, 22, 23, 24, 25, 26], "excluded_lines": [], "start_line": 15}, "FakeEntryService._next_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28}, "FakeEntryService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68], "excluded_lines": [], "start_line": 31}, "FakeEntryService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71], "excluded_lines": [], "start_line": 70}, "FakeEntryService.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [80, 81, 90], "excluded_lines": [], "start_line": 73}, "FakeEntryService.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [101, 102, 103, 112], "excluded_lines": [], "start_line": 92}, "FakeEntryService.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [115, 116, 124], "excluded_lines": [], "start_line": 114}, "FakeEntryService.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [127, 128, 136], "excluded_lines": [], "start_line": 126}, "FakeEntryService.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [141, 142, 143, 151], "excluded_lines": [], "start_line": 138}, "FakeEntryService.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [162, 163, 164, 172], "excluded_lines": [], "start_line": 153}, "FakeEntryService.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [177, 178, 179, 187], "excluded_lines": [], "start_line": 174}, "FakeEntryService.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [197, 198, 199, 200, 201, 208], "excluded_lines": [], "start_line": 189}, "FakeEntryService.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [213, 214, 215, 222], "excluded_lines": [], "start_line": 210}, "FakeEntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 245, 246, 247, 248], "excluded_lines": [], "start_line": 224}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [251, 252, 253, 254, 255], "excluded_lines": [], "start_line": 250}, "FakeEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [258], "excluded_lines": [], "start_line": 257}, "FakeEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [261, 262], "excluded_lines": [], "start_line": 260}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [265, 266], "excluded_lines": [], "start_line": 264}, "FakeEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [274, 275], "excluded_lines": [], "start_line": 273}, "FakeEntryService.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [278, 279], "excluded_lines": [], "start_line": 277}, "FakeEntryService.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [282, 283, 284, 285, 286, 292], "excluded_lines": [], "start_line": 281}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [295, 296], "excluded_lines": [], "start_line": 294}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [302, 303], "excluded_lines": [], "start_line": 301}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [309, 310], "excluded_lines": [], "start_line": 308}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [316], "excluded_lines": [], "start_line": 315}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [319], "excluded_lines": [], "start_line": 318}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [322, 323], "excluded_lines": [], "start_line": 321}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [326], "excluded_lines": [], "start_line": 325}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [329], "excluded_lines": [], "start_line": 328}, "FakeEntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [332], "excluded_lines": [], "start_line": 331}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [342, 343, 350], "excluded_lines": [], "start_line": 334}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [355, 356, 357, 358, 359, 360, 361, 362, 363, 364], "excluded_lines": [], "start_line": 352}, "FakeEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [367, 368, 369, 370, 371], "excluded_lines": [], "start_line": 366}, "FakeEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [374], "excluded_lines": [], "start_line": 373}, "FakeProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [379, 380, 381, 382, 383], "excluded_lines": [], "start_line": 378}, "FakeProfileService.list_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [386], "excluded_lines": [], "start_line": 385}, "FakeProfileService.switch_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [389, 390, 391, 392, 393], "excluded_lines": [], "start_line": 388}, "FakeProfileService.add_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [396, 397, 398, 399], "excluded_lines": [], "start_line": 395}, "FakeProfileService.remove_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [402, 403, 404, 405, 406], "excluded_lines": [], "start_line": 401}, "FakeProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [409, 410, 411, 412, 413, 414], "excluded_lines": [], "start_line": 408}, "FakeConfigService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [419, 420, 421, 422, 423, 424, 425], "excluded_lines": [], "start_line": 418}, "FakeConfigService.set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [428, 429], "excluded_lines": [], "start_line": 427}, "FakeConfigService.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [432], "excluded_lines": [], "start_line": 431}, "FakeConfigService.set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453], "excluded_lines": [], "start_line": 434}, "FakeNostrService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [458, 459, 460], "excluded_lines": [], "start_line": 457}, "FakeNostrService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [463], "excluded_lines": [], "start_line": 462}, "FakeNostrService.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [466], "excluded_lines": [], "start_line": 465}, "FakeNostrService.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [469, 470, 471], "excluded_lines": [], "start_line": 468}, "FakeNostrService.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [474, 475, 476], "excluded_lines": [], "start_line": 473}, "FakeNostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [479, 480], "excluded_lines": [], "start_line": 478}, "FakeNostrService.reset_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [483], "excluded_lines": [], "start_line": 482}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [486, 487], "excluded_lines": [], "start_line": 485}, "FakeSyncResult.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [492], "excluded_lines": [], "start_line": 491}, "FakeSyncService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [497, 498], "excluded_lines": [], "start_line": 496}, "FakeSyncService.sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [501, 502], "excluded_lines": [], "start_line": 500}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [505], "excluded_lines": [], "start_line": 504}, "FakeUtilityService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [510, 511], "excluded_lines": [], "start_line": 509}, "FakeUtilityService.verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [514], "excluded_lines": [], "start_line": 513}, "FakeUtilityService.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [517], "excluded_lines": [], "start_line": 516}, "FakeVaultService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [522, 523, 524, 525, 526, 527], "excluded_lines": [], "start_line": 521}, "FakeVaultService.export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [530, 531, 532, 533], "excluded_lines": [], "start_line": 529}, "FakeVaultService.import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [536, 537], "excluded_lines": [], "start_line": 535}, "FakeVaultService.backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [540, 541, 542, 543, 544, 545, 546], "excluded_lines": [], "start_line": 539}, "FakeVaultService.lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [549, 550], "excluded_lines": [], "start_line": 548}, "FakeVaultService.unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [553, 554, 555, 556, 557, 559, 560, 562], "excluded_lines": [], "start_line": 552}, "FakeSemanticService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [567, 568, 569, 570, 571], "excluded_lines": [], "start_line": 566}, "FakeSemanticService.status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [574], "excluded_lines": [], "start_line": 573}, "FakeSemanticService.set_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [582, 583], "excluded_lines": [], "start_line": 581}, "FakeSemanticService.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [586, 587, 588], "excluded_lines": [], "start_line": 585}, "FakeSemanticService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [591, 592, 593], "excluded_lines": [], "start_line": 590}, "FakeSemanticService.set_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [596, 597], "excluded_lines": [], "start_line": 595}, "FakeSemanticService.search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [607, 608, 609, 610, 611, 612], "excluded_lines": [], "start_line": 599}, "_build_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [634, 636, 639, 664, 665, 666, 667], "excluded_lines": [], "start_line": 623}, "_build_app._hook": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [637], "excluded_lines": [], "start_line": 636}, "_widget_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [671], "excluded_lines": [], "start_line": 670}, "_status_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [675], "excluded_lines": [], "start_line": 674}, "_filters_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [679], "excluded_lines": [], "start_line": 678}, "_run_palette": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [683, 684, 685, 686, 687], "excluded_lines": [], "start_line": 682}, "test_tui2_textual_pagination_and_search_flow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722], "excluded_lines": [], "start_line": 691}, "test_tui2_textual_archive_scope_filters": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [727, 739, 741, 742, 743, 744, 745, 747, 748, 749, 750, 752, 753, 754, 755, 756, 758, 759, 760], "excluded_lines": [], "start_line": 726}, "test_tui2_textual_document_edit_save_flow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [765, 777, 779, 780, 781, 782, 784, 785, 786, 787, 788, 789, 790, 792, 794, 796, 797, 799, 800, 801, 802, 803], "excluded_lines": [], "start_line": 764}, "test_tui2_textual_link_commands_and_neighbor_open": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [808, 814, 816, 817, 819, 820, 821, 823, 824, 825, 827, 828, 829], "excluded_lines": [], "start_line": 807}, "test_tui2_textual_palette_help_commands_reference": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [834, 835, 837, 838, 840, 841, 842, 843, 844, 845, 847, 848, 849], "excluded_lines": [], "start_line": 833}, "test_tui2_textual_quickstart_and_stats_commands": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [854, 862, 864, 865, 867, 868, 869, 870, 871, 873, 874, 875, 876, 877, 879, 880, 881, 882, 883, 884, 885], "excluded_lines": [], "start_line": 853}, "test_tui2_textual_empty_vault_shows_quickstart": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [890, 891, 892, 893, 894, 895, 896], "excluded_lines": [], "start_line": 889}, "test_tui2_textual_reveal_and_qr_flow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [901, 920, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 942, 943, 944], "excluded_lines": [], "start_line": 900}, "test_tui2_textual_managed_account_keyboard_reveal_and_qr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [949, 962, 964, 965, 966, 967, 968, 969, 971, 972, 973, 974, 976, 977, 978, 979, 980], "excluded_lines": [], "start_line": 948}, "test_tui2_textual_filters_panel_tracks_selected_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [985, 991, 993, 994, 995, 996, 997, 999, 1000, 1001, 1002, 1003], "excluded_lines": [], "start_line": 984}, "test_tui2_textual_sensitive_confirm_and_secret_mode_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1008, 1026, 1027, 1028, 1030, 1031, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1046, 1048, 1049, 1050], "excluded_lines": [], "start_line": 1007}, "test_tui2_textual_copy_command_for_core_and_advanced_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1055, 1088, 1090, 1091, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1123, 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1143, 1144, 1145, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155], "excluded_lines": [], "start_line": 1054}, "test_tui2_textual_retry_after_search_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1160, 1164, 1166, 1167, 1168, 1170, 1171, 1173, 1174, 1175], "excluded_lines": [], "start_line": 1159}, "test_tui2_textual_palette_add_commands": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1191, 1192, 1193, 1194, 1195, 1197, 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1230], "excluded_lines": [], "start_line": 1179}, "test_tui2_textual_palette_add_commands_validation_errors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1235, 1236, 1238, 1239, 1241, 1242, 1243, 1245, 1246, 1247, 1249, 1250, 1251, 1253, 1254, 1255, 1257, 1258, 1259, 1261, 1262, 1263, 1265, 1266, 1267, 1269, 1270, 1271, 1273, 1274, 1275], "excluded_lines": [], "start_line": 1234}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1282, 1299, 1301, 1302, 1303, 1304, 1306, 1307, 1308, 1310, 1311, 1312, 1314, 1315, 1316, 1318, 1319, 1320, 1322, 1323, 1324, 1325, 1329, 1330, 1331, 1332, 1334, 1335, 1336, 1337, 1338, 1339, 1340], "excluded_lines": [], "start_line": 1279}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export_validation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1347, 1353, 1355, 1356, 1357, 1358, 1359, 1361, 1362, 1363, 1365, 1366, 1367, 1369, 1370, 1371, 1373, 1374, 1375, 1377, 1378, 1379, 1381, 1382, 1383, 1387, 1388, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1398, 1399], "excluded_lines": [], "start_line": 1344}, "test_tui2_textual_palette_set_clear_field_non_document_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1404, 1433, 1435, 1436, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469], "excluded_lines": [], "start_line": 1403}, "test_tui2_textual_palette_set_clear_field_validation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1474, 1480, 1482, 1483, 1484, 1485, 1486, 1488, 1489, 1490, 1492, 1493, 1494, 1495, 1496, 1498, 1499, 1500, 1502, 1503, 1504, 1506, 1507, 1508, 1509, 1510], "excluded_lines": [], "start_line": 1473}, "test_tui2_textual_2fa_board_view_timer_and_copy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1515, 1536, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1555, 1556, 1557, 1559, 1560, 1561], "excluded_lines": [], "start_line": 1514}, "test_tui2_textual_2fa_board_secret_mode_and_validation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1566, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1600], "excluded_lines": [], "start_line": 1565}, "test_tui2_textual_profiles_and_settings_palette_commands": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 145, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 145, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1624, 1625, 1627, 1628, 1629, 1631, 1632, 1633, 1634, 1635, 1637, 1638, 1639, 1640, 1642, 1643, 1644, 1645, 1647, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1661, 1663, 1664, 1665, 1666, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1687, 1688, 1689, 1690, 1692, 1693, 1694, 1695, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1750, 1752, 1753, 1754, 1755, 1757, 1758, 1759, 1760, 1762, 1763, 1764, 1765, 1767, 1768, 1769, 1770, 1772, 1773, 1774, 1775, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1786, 1787, 1788, 1789, 1791, 1794, 1795, 1799], "excluded_lines": [], "start_line": 1604}, "test_tui2_textual_managed_account_session_palette_commands": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1807, 1813, 1815, 1816, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1830, 1831, 1832, 1833, 1835, 1836, 1837], "excluded_lines": [], "start_line": 1806}, "test_tui2_textual_profiles_and_settings_palette_validation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 176, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 176, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1842, 1843, 1845, 1846, 1847, 1848, 1849, 1851, 1852, 1853, 1855, 1856, 1857, 1859, 1860, 1861, 1863, 1864, 1865, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1879, 1880, 1881, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1895, 1896, 1897, 1899, 1900, 1901, 1903, 1904, 1905, 1907, 1908, 1909, 1911, 1912, 1913, 1915, 1916, 1917, 1919, 1920, 1921, 1923, 1924, 1925, 1927, 1928, 1929, 1931, 1932, 1933, 1935, 1936, 1937, 1939, 1940, 1941, 1943, 1944, 1945, 1947, 1948, 1949, 1951, 1952, 1953, 1955, 1956, 1957, 1959, 1960, 1961, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1982, 1983, 1985, 1986, 1987, 1989, 1990, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006, 2007, 2011, 2012, 2013, 2015, 2016, 2017, 2019, 2020, 2021, 2023, 2024, 2025, 2027, 2028, 2029, 2034, 2035, 2036, 2038, 2039, 2040, 2042, 2043, 2044, 2046, 2047, 2048, 2050, 2051, 2052, 2054, 2055, 2056, 2058, 2059, 2060, 2062, 2063, 2064, 2066, 2067, 2068, 2070, 2071, 2072, 2074, 2075, 2076, 2080, 2081, 2082, 2086, 2087, 2088, 2090, 2091, 2092], "excluded_lines": [], "start_line": 1841}, "test_tui2_textual_palette_session_status_lock_and_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2097, 2100, 2101, 2103, 2104, 2106, 2107, 2108, 2109, 2110, 2112, 2113, 2114, 2115, 2116, 2118, 2119, 2120, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [], "start_line": 2096}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 143, "percent_covered": 3.4965034965034967, "percent_covered_display": "3", "missing_lines": 138, "excluded_lines": 0, "percent_statements_covered": 3.4965034965034967, "percent_statements_covered_display": "3"}, "missing_lines": [9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 529, 535, 539, 548, 552, 565, 566, 573, 581, 585, 590, 595, 599, 623, 670, 674, 678, 682, 690, 691, 725, 726, 763, 764, 806, 807, 832, 833, 852, 853, 888, 889, 899, 900, 947, 948, 983, 984, 1006, 1007, 1053, 1054, 1158, 1159, 1178, 1179, 1233, 1234, 1278, 1279, 1343, 1344, 1402, 1403, 1472, 1473, 1513, 1514, 1564, 1565, 1603, 1604, 1805, 1806, 1840, 1841, 2095, 2096], "excluded_lines": [], "start_line": 1}}, "classes": {"FakeEntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 133, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 133, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 21, 22, 23, 24, 25, 26, 29, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 71, 80, 81, 90, 101, 102, 103, 112, 115, 116, 124, 127, 128, 136, 141, 142, 143, 151, 162, 163, 164, 172, 177, 178, 179, 187, 197, 198, 199, 200, 201, 208, 213, 214, 215, 222, 231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 245, 246, 247, 248, 251, 252, 253, 254, 255, 258, 261, 262, 265, 266, 274, 275, 278, 279, 282, 283, 284, 285, 286, 292, 295, 296, 302, 303, 309, 310, 316, 319, 322, 323, 326, 329, 332, 342, 343, 350, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 374], "excluded_lines": [], "start_line": 14}, "FakeProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [379, 380, 381, 382, 383, 386, 389, 390, 391, 392, 393, 396, 397, 398, 399, 402, 403, 404, 405, 406, 409, 410, 411, 412, 413, 414], "excluded_lines": [], "start_line": 377}, "FakeConfigService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [419, 420, 421, 422, 423, 424, 425, 428, 429, 432, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453], "excluded_lines": [], "start_line": 417}, "FakeNostrService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [458, 459, 460, 463, 466, 469, 470, 471, 474, 475, 476, 479, 480, 483, 486, 487], "excluded_lines": [], "start_line": 456}, "FakeSyncResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [492], "excluded_lines": [], "start_line": 490}, "FakeSyncService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [497, 498, 501, 502, 505], "excluded_lines": [], "start_line": 495}, "FakeUtilityService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [510, 511, 514, 517], "excluded_lines": [], "start_line": 508}, "FakeVaultService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [522, 523, 524, 525, 526, 527, 530, 531, 532, 533, 536, 537, 540, 541, 542, 543, 544, 545, 546, 549, 550, 553, 554, 555, 556, 557, 559, 560, 562], "excluded_lines": [], "start_line": 520}, "FakeVaultService.unlock._Resp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 559}, "FakeSemanticService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [567, 568, 569, 570, 571, 574, 582, 583, 586, 587, 588, 591, 592, 593, 596, 597, 607, 608, 609, 610, 611, 612], "excluded_lines": [], "start_line": 565}, "": {"executed_lines": [1, 3, 4, 6, 8], "summary": {"covered_lines": 5, "num_statements": 1031, "percent_covered": 0.48496605237633367, "percent_covered_display": "1", "missing_lines": 1026, "excluded_lines": 0, "percent_statements_covered": 0.48496605237633367, "percent_statements_covered_display": "1"}, "missing_lines": [9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 529, 535, 539, 548, 552, 565, 566, 573, 581, 585, 590, 595, 599, 623, 634, 636, 637, 639, 664, 665, 666, 667, 670, 671, 674, 675, 678, 679, 682, 683, 684, 685, 686, 687, 690, 691, 692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722, 725, 726, 727, 739, 741, 742, 743, 744, 745, 747, 748, 749, 750, 752, 753, 754, 755, 756, 758, 759, 760, 763, 764, 765, 777, 779, 780, 781, 782, 784, 785, 786, 787, 788, 789, 790, 792, 794, 796, 797, 799, 800, 801, 802, 803, 806, 807, 808, 814, 816, 817, 819, 820, 821, 823, 824, 825, 827, 828, 829, 832, 833, 834, 835, 837, 838, 840, 841, 842, 843, 844, 845, 847, 848, 849, 852, 853, 854, 862, 864, 865, 867, 868, 869, 870, 871, 873, 874, 875, 876, 877, 879, 880, 881, 882, 883, 884, 885, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 900, 901, 920, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 942, 943, 944, 947, 948, 949, 962, 964, 965, 966, 967, 968, 969, 971, 972, 973, 974, 976, 977, 978, 979, 980, 983, 984, 985, 991, 993, 994, 995, 996, 997, 999, 1000, 1001, 1002, 1003, 1006, 1007, 1008, 1026, 1027, 1028, 1030, 1031, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1046, 1048, 1049, 1050, 1053, 1054, 1055, 1088, 1090, 1091, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1123, 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1143, 1144, 1145, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155, 1158, 1159, 1160, 1164, 1166, 1167, 1168, 1170, 1171, 1173, 1174, 1175, 1178, 1179, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1191, 1192, 1193, 1194, 1195, 1197, 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1230, 1233, 1234, 1235, 1236, 1238, 1239, 1241, 1242, 1243, 1245, 1246, 1247, 1249, 1250, 1251, 1253, 1254, 1255, 1257, 1258, 1259, 1261, 1262, 1263, 1265, 1266, 1267, 1269, 1270, 1271, 1273, 1274, 1275, 1278, 1279, 1282, 1299, 1301, 1302, 1303, 1304, 1306, 1307, 1308, 1310, 1311, 1312, 1314, 1315, 1316, 1318, 1319, 1320, 1322, 1323, 1324, 1325, 1329, 1330, 1331, 1332, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1343, 1344, 1347, 1353, 1355, 1356, 1357, 1358, 1359, 1361, 1362, 1363, 1365, 1366, 1367, 1369, 1370, 1371, 1373, 1374, 1375, 1377, 1378, 1379, 1381, 1382, 1383, 1387, 1388, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1398, 1399, 1402, 1403, 1404, 1433, 1435, 1436, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1472, 1473, 1474, 1480, 1482, 1483, 1484, 1485, 1486, 1488, 1489, 1490, 1492, 1493, 1494, 1495, 1496, 1498, 1499, 1500, 1502, 1503, 1504, 1506, 1507, 1508, 1509, 1510, 1513, 1514, 1515, 1536, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1555, 1556, 1557, 1559, 1560, 1561, 1564, 1565, 1566, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1600, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1624, 1625, 1627, 1628, 1629, 1631, 1632, 1633, 1634, 1635, 1637, 1638, 1639, 1640, 1642, 1643, 1644, 1645, 1647, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1661, 1663, 1664, 1665, 1666, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1687, 1688, 1689, 1690, 1692, 1693, 1694, 1695, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1750, 1752, 1753, 1754, 1755, 1757, 1758, 1759, 1760, 1762, 1763, 1764, 1765, 1767, 1768, 1769, 1770, 1772, 1773, 1774, 1775, 1777, 1778, 1779, 1781, 1782, 1783, 1784, 1786, 1787, 1788, 1789, 1791, 1794, 1795, 1799, 1805, 1806, 1807, 1813, 1815, 1816, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1830, 1831, 1832, 1833, 1835, 1836, 1837, 1840, 1841, 1842, 1843, 1845, 1846, 1847, 1848, 1849, 1851, 1852, 1853, 1855, 1856, 1857, 1859, 1860, 1861, 1863, 1864, 1865, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1879, 1880, 1881, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1895, 1896, 1897, 1899, 1900, 1901, 1903, 1904, 1905, 1907, 1908, 1909, 1911, 1912, 1913, 1915, 1916, 1917, 1919, 1920, 1921, 1923, 1924, 1925, 1927, 1928, 1929, 1931, 1932, 1933, 1935, 1936, 1937, 1939, 1940, 1941, 1943, 1944, 1945, 1947, 1948, 1949, 1951, 1952, 1953, 1955, 1956, 1957, 1959, 1960, 1961, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1982, 1983, 1985, 1986, 1987, 1989, 1990, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006, 2007, 2011, 2012, 2013, 2015, 2016, 2017, 2019, 2020, 2021, 2023, 2024, 2025, 2027, 2028, 2029, 2034, 2035, 2036, 2038, 2039, 2040, 2042, 2043, 2044, 2046, 2047, 2048, 2050, 2051, 2052, 2054, 2055, 2056, 2058, 2059, 2060, 2062, 2063, 2064, 2066, 2067, 2068, 2070, 2071, 2072, 2074, 2075, 2076, 2080, 2081, 2082, 2086, 2087, 2088, 2090, 2091, 2092, 2095, 2096, 2097, 2100, 2101, 2103, 2104, 2106, 2107, 2108, 2109, 2110, 2112, 2113, 2114, 2115, 2116, 2118, 2119, 2120, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_typer_cli.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 25, 26, 27, 29, 33, 34, 35, 36, 37, 40, 41, 49, 50, 51, 52, 55, 56, 57, 59, 60, 70, 71, 72, 73, 76, 77, 79, 80, 81, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 101, 102, 105, 106, 107, 110, 111, 112, 123, 124, 125, 127, 134, 138, 139, 140, 151, 152, 153, 154, 155, 156, 159, 160, 161, 162, 173, 174, 176, 177, 187, 188, 191, 192, 193, 194, 205, 206, 207, 214, 215, 227, 228, 231, 232, 234, 235, 237, 238, 239, 240, 241, 242, 243, 246, 247, 249, 250, 251, 253, 254, 256, 257, 260, 261, 262, 263, 264, 265, 268, 269, 271, 272, 274, 275, 276, 277, 278, 281, 282, 284, 285, 286, 288, 295, 296, 297, 298, 299, 302, 303, 305, 306, 307, 309, 316, 317, 318, 319, 320, 323, 324, 326, 327, 329, 332, 333, 334, 339, 340, 343, 344, 345, 346, 347, 352, 355, 358, 359, 360, 371, 372, 373, 376, 377, 378, 379, 380, 386, 388, 391, 394, 395, 396, 408, 409, 410, 413, 414, 415, 416, 417, 422, 423, 425, 428, 429, 435, 436, 449, 450, 453, 454, 460, 461, 462, 463, 466, 467, 471, 472, 473, 474, 477, 478, 480, 481, 483, 488, 489, 490, 491, 494, 495, 497, 498, 500, 504, 505, 506, 507, 510, 511, 513, 514, 516, 519, 520, 521, 522, 525, 526, 532, 533, 534, 535, 538, 539, 541, 542, 544, 548, 549, 550, 551, 552, 555, 556, 559, 560, 561, 562, 565, 566, 568, 569, 570, 576, 577, 578, 579, 580, 581, 582, 583, 586, 587, 589, 590, 591, 592, 594, 599, 604, 627, 628, 629, 639, 642, 643, 644, 645, 646, 647, 648, 651, 652, 653, 654, 655, 656, 657, 658, 662, 663, 667, 668, 669, 670, 671, 672, 676, 677, 680, 681, 684, 687, 688, 692, 693, 694, 695, 696, 697, 698, 701, 703, 705, 706, 707, 709, 710, 712, 713, 714, 717, 718, 719, 721, 722, 723, 724, 726, 727, 728, 734, 746, 747, 748, 749, 752, 754, 756, 757, 758, 759, 761, 762, 763, 764, 767, 768, 770, 771, 772, 773, 775, 780, 781, 809, 810, 811, 812, 824, 825, 827, 830, 832, 837, 838, 839, 840, 843, 844, 845, 847, 852, 853, 854, 855, 858, 859, 861, 862, 864, 869, 870, 871, 872, 873, 876, 877, 879, 880, 882, 887, 888, 889, 890, 891, 894, 895, 897, 905, 907, 908, 909, 910, 911, 914, 915, 916, 920, 925, 926, 927, 930, 931, 934, 935, 937, 941, 942, 943, 944, 947, 948, 950, 955, 956, 957, 958, 961, 962, 964, 969, 970, 971, 972, 975, 977, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 995, 996, 997, 999, 1000, 1004, 1005, 1006, 1009, 1010, 1012, 1013, 1014, 1016, 1021, 1022, 1023, 1026, 1027, 1029, 1030, 1031, 1033, 1038, 1039, 1040, 1043, 1044, 1049, 1050, 1051, 1052, 1053, 1056, 1057, 1058, 1059, 1060, 1061, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1073, 1078, 1079, 1080, 1081, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1093, 1098, 1099, 1100, 1101, 1104, 1105, 1110, 1111, 1112, 1115, 1116, 1118, 1119, 1121, 1126, 1127, 1128, 1129, 1132, 1135, 1137, 1138, 1139, 1142, 1145, 1147, 1148, 1149, 1151, 1153, 1155, 1156, 1158, 1160, 1162, 1163, 1165, 1171, 1172, 1173, 1174], "summary": {"covered_lines": 572, "num_statements": 574, "percent_covered": 99.65156794425087, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 99.65156794425087, "percent_statements_covered_display": "99"}, "missing_lines": [353, 389], "excluded_lines": [], "functions": {"test_entry_list": {"executed_lines": [23, 25, 29, 33, 34, 35, 36, 37], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "test_entry_list.list_entries": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_entry_search": {"executed_lines": [41, 49, 50, 51, 52], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "test_entry_get_password": {"executed_lines": [56, 59, 60, 70, 71, 72, 73], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55}, "test_entry_get_password.search": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "test_vault_export": {"executed_lines": [77, 79, 83, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76}, "test_vault_export.export_profile": {"executed_lines": [80, 81], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "test_vault_export_denied_for_agent_profile_by_default": {"executed_lines": [93, 94, 95, 96, 97, 101, 102, 105, 106, 107], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92}, "test_vault_export_policy_filtered_includes_manifest": {"executed_lines": [111, 112, 123, 124, 127, 134, 138, 139, 140, 151, 152, 153, 154, 155, 156], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "test_vault_export_policy_filtered_includes_manifest.Enc.encrypt_data": {"executed_lines": [125], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 124}, "test_vault_export_agent_requires_approval_for_full_export": {"executed_lines": [160, 161, 162, 173, 174, 176, 177, 187, 188], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159}, "test_vault_export_agent_full_succeeds_with_approval": {"executed_lines": [192, 193, 194, 205, 206, 207, 214, 215, 227, 228], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 191}, "test_vault_import": {"executed_lines": [232, 234, 237, 238, 239, 240, 241, 242, 243], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231}, "test_vault_import.import_profile": {"executed_lines": [235], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234}, "test_vault_import_triggers_sync": {"executed_lines": [247, 249, 253, 256, 257, 260, 261, 262, 263, 264, 265], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 246}, "test_vault_import_triggers_sync.import_profile": {"executed_lines": [250, 251], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 249}, "test_vault_import_triggers_sync.sync_vault": {"executed_lines": [254], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 253}, "test_vault_change_password": {"executed_lines": [269, 271, 274, 275, 276, 277, 278], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268}, "test_vault_change_password.change_pw": {"executed_lines": [272], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271}, "test_vault_lock": {"executed_lines": [282, 284, 288, 295, 296, 297, 298, 299], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 281}, "test_vault_lock.lock": {"executed_lines": [285, 286], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 284}, "test_root_lock": {"executed_lines": [303, 305, 309, 316, 317, 318, 319, 320], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 302}, "test_root_lock.lock": {"executed_lines": [306, 307], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 305}, "test_vault_reveal_parent_seed": {"executed_lines": [324, 326, 329, 332, 333, 334, 339, 340], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 323}, "test_vault_reveal_parent_seed.reveal": {"executed_lines": [327], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326}, "test_vault_reveal_parent_seed_agent_requires_approval": {"executed_lines": [344, 345, 346, 347, 352, 355, 358, 359, 360, 371, 372, 373], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 343}, "test_vault_reveal_parent_seed_agent_requires_approval.reveal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [353], "excluded_lines": [], "start_line": 352}, "test_vault_reveal_parent_seed_blocked_when_high_risk_locked": {"executed_lines": [377, 378, 379, 380, 386, 388, 391, 394, 395, 396, 408, 409, 410], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376}, "test_vault_reveal_parent_seed_blocked_when_high_risk_locked.reveal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [389], "excluded_lines": [], "start_line": 388}, "test_vault_reveal_parent_seed_agent_approval_allows": {"executed_lines": [414, 415, 416, 417, 422, 425, 428, 429, 435, 436, 449, 450], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 413}, "test_vault_reveal_parent_seed_agent_approval_allows.reveal": {"executed_lines": [423], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 422}, "test_nostr_get_pubkey": {"executed_lines": [454, 460, 461, 462, 463], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 453}, "test_fingerprint_list": {"executed_lines": [467, 471, 472, 473, 474], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 466}, "test_fingerprint_add": {"executed_lines": [478, 480, 483, 488, 489, 490, 491], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 477}, "test_fingerprint_add.add": {"executed_lines": [481], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 480}, "test_fingerprint_remove": {"executed_lines": [495, 497, 500, 504, 505, 506, 507], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 494}, "test_fingerprint_remove.remove": {"executed_lines": [498], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 497}, "test_fingerprint_switch": {"executed_lines": [511, 513, 516, 519, 520, 521, 522], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 510}, "test_fingerprint_switch.switch": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 513}, "test_config_get": {"executed_lines": [526, 532, 533, 534, 535], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 525}, "test_config_set": {"executed_lines": [539, 541, 544, 548, 549, 550, 551, 552], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 538}, "test_config_set.set_timeout": {"executed_lines": [542], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 541}, "test_config_set_unknown_key": {"executed_lines": [556, 559, 560, 561, 562], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 555}, "test_nostr_sync": {"executed_lines": [566, 568, 576, 577, 578, 579, 580, 581, 582, 583], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 565}, "test_nostr_sync.sync_vault": {"executed_lines": [569, 570], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 568}, "test_generate_password": {"executed_lines": [587, 589, 594, 599, 604, 627, 628, 629, 639], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 586}, "test_generate_password.gen_pw": {"executed_lines": [590, 591, 592], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589}, "test_capabilities_text": {"executed_lines": [643, 644, 645, 646, 647, 648], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 642}, "test_capabilities_json": {"executed_lines": [652, 653, 654, 655, 656, 657, 658, 662, 663, 667, 668, 669, 670, 671, 672, 676, 677, 680, 681, 684, 687, 688, 692, 693, 694, 695, 696, 697, 698], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 651}, "test_api_start_passes_fingerprint": {"executed_lines": [703, 705, 709, 710, 712, 713, 714], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 701}, "test_api_start_passes_fingerprint.fake_start": {"executed_lines": [706, 707], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 705}, "test_api_start_unlock_uses_env_broker": {"executed_lines": [718, 719, 721, 726, 727, 728, 734, 746, 747, 748, 749], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 717}, "test_api_start_unlock_uses_env_broker.fake_start": {"executed_lines": [722, 723, 724], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 721}, "test_entry_list_passes_fingerprint": {"executed_lines": [754, 756, 757, 761, 762, 763, 764], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 752}, "test_entry_list_passes_fingerprint.PM.__init__": {"executed_lines": [758, 759], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 757}, "test_entry_add": {"executed_lines": [768, 770, 775, 780, 781, 809, 810, 811, 812], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 767}, "test_entry_add.add_entry": {"executed_lines": [771, 772, 773], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 770}, "test_entry_modify": {"executed_lines": [825, 827, 832, 837, 838, 839, 840], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 824}, "test_entry_modify.modify_entry": {"executed_lines": [830], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 827}, "test_entry_modify_invalid": {"executed_lines": [844, 847, 852, 853, 854, 855], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 843}, "test_entry_modify_invalid.modify_entry": {"executed_lines": [845], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 844}, "test_entry_archive": {"executed_lines": [859, 861, 864, 869, 870, 871, 872, 873], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 858}, "test_entry_archive.archive_entry": {"executed_lines": [862], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 861}, "test_entry_unarchive": {"executed_lines": [877, 879, 882, 887, 888, 889, 890, 891], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 876}, "test_entry_unarchive.restore_entry": {"executed_lines": [880], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 879}, "test_entry_export_totp": {"executed_lines": [895, 897, 905, 907, 908, 909, 910, 911], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 894}, "test_entry_export_totp_denied_for_agent_profile": {"executed_lines": [915, 916, 920, 925, 926, 927, 930, 931], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 914}, "test_entry_totp_codes": {"executed_lines": [935, 937, 941, 942, 943, 944], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 934}, "test_verify_checksum_command": {"executed_lines": [948, 950, 955, 956, 957, 958], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 947}, "test_update_checksum_command": {"executed_lines": [962, 964, 969, 970, 971, 972], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 961}, "test_root_tui2_forward_fingerprint": {"executed_lines": [977, 979, 984, 985, 986, 987, 988, 989], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 975}, "test_root_tui2_forward_fingerprint.fake_launch": {"executed_lines": [980, 981, 982], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 979}, "test_root_legacy_tui_flag_forwards_fingerprint": {"executed_lines": [993, 995, 999, 1000, 1004, 1005, 1006], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 992}, "test_root_legacy_tui_flag_forwards_fingerprint.fake_main": {"executed_lines": [996, 997], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 995}, "test_legacy_command_forwards_fingerprint": {"executed_lines": [1010, 1012, 1016, 1021, 1022, 1023], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1009}, "test_legacy_command_forwards_fingerprint.fake_main": {"executed_lines": [1013, 1014], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1012}, "test_legacy_command_default_profile": {"executed_lines": [1027, 1029, 1033, 1038, 1039, 1040], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1026}, "test_legacy_command_default_profile.fake_main": {"executed_lines": [1030, 1031], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1029}, "test_tui2_check": {"executed_lines": [1044, 1049, 1050, 1051, 1052, 1053], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1043}, "test_tui2_unavailable_without_fallback": {"executed_lines": [1057, 1058, 1059, 1060, 1061], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1056}, "test_tui2_fallback_legacy": {"executed_lines": [1065, 1066, 1067, 1069, 1073, 1078, 1079, 1080, 1081], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1064}, "test_tui2_fallback_legacy.fake_main": {"executed_lines": [1070, 1071], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1069}, "test_root_fallback_legacy_when_tui2_unavailable": {"executed_lines": [1085, 1086, 1087, 1089, 1093, 1098, 1099, 1100, 1101], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1084}, "test_root_fallback_legacy_when_tui2_unavailable.fake_main": {"executed_lines": [1090, 1091], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1089}, "test_tui2_preflight_failure_without_fallback": {"executed_lines": [1105, 1110, 1111, 1112], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1104}, "test_gui_command": {"executed_lines": [1116, 1118, 1121, 1126, 1127, 1128, 1129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1115}, "test_gui_command.fake_main": {"executed_lines": [1119], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1118}, "test_gui_command_no_backend": {"executed_lines": [1135, 1137, 1138, 1139], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1132}, "test_gui_command_install_backend": {"executed_lines": [1145, 1147, 1151, 1153, 1155, 1158, 1160, 1162, 1165, 1171, 1172, 1173, 1174], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1142}, "test_gui_command_install_backend.backend_available": {"executed_lines": [1148, 1149], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1147}, "test_gui_command_install_backend.fake_check_call": {"executed_lines": [1156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1155}, "test_gui_command_install_backend.fake_main": {"executed_lines": [1163], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1162}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 40, 55, 76, 92, 110, 159, 191, 231, 246, 268, 281, 302, 323, 343, 376, 413, 453, 466, 477, 494, 510, 525, 538, 555, 565, 586, 642, 651, 701, 717, 752, 767, 824, 843, 858, 876, 894, 914, 934, 947, 961, 975, 992, 1009, 1026, 1043, 1056, 1064, 1084, 1104, 1115, 1132, 1142], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"test_vault_export_policy_filtered_includes_manifest.Enc": {"executed_lines": [125], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123}, "test_entry_list_passes_fingerprint.PM": {"executed_lines": [758, 759], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 756}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 25, 26, 27, 29, 33, 34, 35, 36, 37, 40, 41, 49, 50, 51, 52, 55, 56, 57, 59, 60, 70, 71, 72, 73, 76, 77, 79, 80, 81, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 101, 102, 105, 106, 107, 110, 111, 112, 123, 124, 127, 134, 138, 139, 140, 151, 152, 153, 154, 155, 156, 159, 160, 161, 162, 173, 174, 176, 177, 187, 188, 191, 192, 193, 194, 205, 206, 207, 214, 215, 227, 228, 231, 232, 234, 235, 237, 238, 239, 240, 241, 242, 243, 246, 247, 249, 250, 251, 253, 254, 256, 257, 260, 261, 262, 263, 264, 265, 268, 269, 271, 272, 274, 275, 276, 277, 278, 281, 282, 284, 285, 286, 288, 295, 296, 297, 298, 299, 302, 303, 305, 306, 307, 309, 316, 317, 318, 319, 320, 323, 324, 326, 327, 329, 332, 333, 334, 339, 340, 343, 344, 345, 346, 347, 352, 355, 358, 359, 360, 371, 372, 373, 376, 377, 378, 379, 380, 386, 388, 391, 394, 395, 396, 408, 409, 410, 413, 414, 415, 416, 417, 422, 423, 425, 428, 429, 435, 436, 449, 450, 453, 454, 460, 461, 462, 463, 466, 467, 471, 472, 473, 474, 477, 478, 480, 481, 483, 488, 489, 490, 491, 494, 495, 497, 498, 500, 504, 505, 506, 507, 510, 511, 513, 514, 516, 519, 520, 521, 522, 525, 526, 532, 533, 534, 535, 538, 539, 541, 542, 544, 548, 549, 550, 551, 552, 555, 556, 559, 560, 561, 562, 565, 566, 568, 569, 570, 576, 577, 578, 579, 580, 581, 582, 583, 586, 587, 589, 590, 591, 592, 594, 599, 604, 627, 628, 629, 639, 642, 643, 644, 645, 646, 647, 648, 651, 652, 653, 654, 655, 656, 657, 658, 662, 663, 667, 668, 669, 670, 671, 672, 676, 677, 680, 681, 684, 687, 688, 692, 693, 694, 695, 696, 697, 698, 701, 703, 705, 706, 707, 709, 710, 712, 713, 714, 717, 718, 719, 721, 722, 723, 724, 726, 727, 728, 734, 746, 747, 748, 749, 752, 754, 756, 757, 761, 762, 763, 764, 767, 768, 770, 771, 772, 773, 775, 780, 781, 809, 810, 811, 812, 824, 825, 827, 830, 832, 837, 838, 839, 840, 843, 844, 845, 847, 852, 853, 854, 855, 858, 859, 861, 862, 864, 869, 870, 871, 872, 873, 876, 877, 879, 880, 882, 887, 888, 889, 890, 891, 894, 895, 897, 905, 907, 908, 909, 910, 911, 914, 915, 916, 920, 925, 926, 927, 930, 931, 934, 935, 937, 941, 942, 943, 944, 947, 948, 950, 955, 956, 957, 958, 961, 962, 964, 969, 970, 971, 972, 975, 977, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 995, 996, 997, 999, 1000, 1004, 1005, 1006, 1009, 1010, 1012, 1013, 1014, 1016, 1021, 1022, 1023, 1026, 1027, 1029, 1030, 1031, 1033, 1038, 1039, 1040, 1043, 1044, 1049, 1050, 1051, 1052, 1053, 1056, 1057, 1058, 1059, 1060, 1061, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1073, 1078, 1079, 1080, 1081, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1093, 1098, 1099, 1100, 1101, 1104, 1105, 1110, 1111, 1112, 1115, 1116, 1118, 1119, 1121, 1126, 1127, 1128, 1129, 1132, 1135, 1137, 1138, 1139, 1142, 1145, 1147, 1148, 1149, 1151, 1153, 1155, 1156, 1158, 1160, 1162, 1163, 1165, 1171, 1172, 1173, 1174], "summary": {"covered_lines": 569, "num_statements": 571, "percent_covered": 99.64973730297723, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 99.64973730297723, "percent_statements_covered_display": "99"}, "missing_lines": [353, 389], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_unlock_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 30, 31, 33, 36, 37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 54, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_unlock_triggers_sync": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 23, 26, 28, 29, 30, 31, 33], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "test_unlock_triggers_sync.fake_sync": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "test_quick_unlock_background_sync": {"executed_lines": [37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 56, 58, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "test_quick_unlock_background_sync.fake_bg": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "test_start_background_sync_running_loop": {"executed_lines": [64, 65, 66, 67, 69, 72, 75, 76, 78, 85, 86, 87], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "test_start_background_sync_running_loop.fake_attempt": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69}, "test_start_background_sync_running_loop.fake_sync": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72}, "test_start_background_sync_running_loop.runner": {"executed_lines": [79, 80, 81, 82, 83], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 36, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 30, 31, 33, 36, 37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 54, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_v2_prefix_fallback.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 28, 29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_v2_prefix_fernet_fallback": {"executed_lines": [14, 15, 17, 18, 19, 21, 22, 24, 25], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "test_aesgcm_payload_too_short": {"executed_lines": [29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 28, 29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_vault_initialization.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_save_and_encrypt_seed_initializes_vault": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_vault_lock_event.py": {"executed_lines": [1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_lock_vault_publishes_event": {"executed_lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23, 24, 25, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 5}, "test_lock_vault_publishes_event.handler": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [1, 2, 5], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_vault_lock_flag.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"DummyEntryManager.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "DummyEntryManager.clear_cache": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "test_lock_vault_sets_flag_and_keeps_objects": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "test_entry_service_requires_unlocked": {"executed_lines": [30, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "test_unlock_vault_clears_locked_flag": {"executed_lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 16, 29, 40], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyEntryManager": {"executed_lines": [10, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/tests/test_verbose_timing.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"test_unlock_vault_logs_time": {"executed_lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "test_publish_snapshot_logs_time": {"executed_lines": [23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [1, 2, 4, 7, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/__init__.py": {"executed_lines": [5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "start_line": 1}}, "classes": {"": {"executed_lines": [5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "start_line": 1}}}, "src/utils/atomic_write.py": {"executed_lines": [14, 16, 17, 18, 19, 22, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [57, 58], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 86.66666666666667, "percent_statements_covered_display": "87"}, "missing_lines": [57, 58], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [14, 16, 17, 18, 19, 22, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [57, 58], "excluded_lines": [], "start_line": 1}}}, "src/utils/checksum.py": {"executed_lines": [13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 31, 34, 36, 37, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 78, 89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106, 109, 120, 121, 122, 123, 124, 125, 126, 140, 151, 152, 155, 156, 157, 158, 160, 161, 162, 165, 176, 177, 180, 181, 182, 185, 186, 201], "summary": {"covered_lines": 67, "num_statements": 95, "percent_covered": 70.52631578947368, "percent_covered_display": "71", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 70.52631578947368, "percent_statements_covered_display": "71"}, "missing_lines": [66, 67, 70, 75, 95, 96, 99, 127, 128, 131, 137, 153, 178, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "json_checksum": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "calculate_checksum": {"executed_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65], "summary": {"covered_lines": 12, "num_statements": 16, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [66, 67, 70, 75], "excluded_lines": [], "start_line": 40}, "verify_checksum": {"executed_lines": [89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [95, 96, 99], "excluded_lines": [], "start_line": 78}, "update_checksum": {"executed_lines": [120, 121, 122, 123, 124, 125, 126], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64"}, "missing_lines": [127, 128, 131, 137], "excluded_lines": [], "start_line": 109}, "verify_and_update_checksum": {"executed_lines": [151, 152, 155, 156, 157, 158, 160, 161, 162], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [153], "excluded_lines": [], "start_line": 140}, "initialize_checksum": {"executed_lines": [176, 177, 180, 181, 182, 185, 186], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58"}, "missing_lines": [178, 187, 188, 192, 198], "excluded_lines": [], "start_line": 165}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "start_line": 201}, "": {"executed_lines": [13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 31, 34, 36, 37, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 78, 89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106, 109, 120, 121, 122, 123, 124, 125, 126, 140, 151, 152, 155, 156, 157, 158, 160, 161, 162, 165, 176, 177, 180, 181, 182, 185, 186, 201], "summary": {"covered_lines": 67, "num_statements": 95, "percent_covered": 70.52631578947368, "percent_covered_display": "71", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 70.52631578947368, "percent_statements_covered_display": "71"}, "missing_lines": [66, 67, 70, 75, 95, 96, 99, 127, 128, 131, 137, 153, 178, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "start_line": 1}}}, "src/utils/clipboard.py": {"executed_lines": [3, 4, 5, 6, 8, 11, 15, 18, 20, 21, 22, 23, 24, 25, 35, 38, 40, 42, 43, 44, 46, 47, 48, 49, 52], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96"}, "missing_lines": [29], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [29], "excluded_lines": [], "start_line": 18}, "copy_to_clipboard": {"executed_lines": [38, 40, 42, 46, 47, 48, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [43, 44], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "": {"executed_lines": [3, 4, 5, 6, 8, 11, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [3, 4, 5, 6, 8, 11, 15, 18, 20, 21, 22, 23, 24, 25, 35, 38, 40, 42, 43, 44, 46, 47, 48, 49, 52], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96"}, "missing_lines": [29], "excluded_lines": [], "start_line": 1}}}, "src/utils/color_scheme.py": {"executed_lines": [3, 6, 7, 10, 12, 16, 29, 31, 32, 33, 34, 35], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "color_text": {"executed_lines": [31, 32, 33, 34, 35], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 6, 7, 10, 12, 16, 29, 31, 32, 33, 34, 35], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/file_lock.py": {"executed_lines": [3, 4, 5, 6, 7, 10, 14, 15, 17, 21, 24, 27, 28, 38, 39, 40, 41, 44, 45, 55, 56, 57, 58, 59], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.0, "percent_statements_covered_display": "96"}, "missing_lines": [22], "excluded_lines": [], "functions": {"_get_portalocker_lock": {"executed_lines": [14, 15, 17, 21, 24], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [22], "excluded_lines": [], "start_line": 10}, "exclusive_lock": {"executed_lines": [38, 39, 40, 41], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "shared_lock": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "": {"executed_lines": [3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 6, 7, 10, 14, 15, 17, 21, 24, 27, 28, 38, 39, 40, 41, 44, 45, 55, 56, 57, 58, 59], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.0, "percent_statements_covered_display": "96"}, "missing_lines": [22], "excluded_lines": [], "start_line": 1}}}, "src/utils/fingerprint.py": {"executed_lines": [11, 12, 13, 16, 19, 30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "": {"executed_lines": [11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [11, 12, 13, 16, 19, 30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 27, 34, 35, 36, 37, 43, 50, 51, 56, 60, 61, 62, 69, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 90, 94, 95, 100, 104, 111, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 141, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183, 185, 192, 193, 195, 205, 206, 207, 208, 209, 214, 225, 227, 229, 231, 232, 234, 244, 245, 246], "summary": {"covered_lines": 94, "num_statements": 122, "percent_covered": 77.04918032786885, "percent_covered_display": "77", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 77.04918032786885, "percent_statements_covered_display": "77"}, "missing_lines": [53, 54, 63, 64, 67, 86, 87, 88, 107, 108, 109, 138, 139, 169, 170, 177, 180, 211, 212, 216, 217, 218, 219, 221, 222, 223, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [34, 35, 36, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [53, 54], "excluded_lines": [], "start_line": 43}, "FingerprintManager._ensure_app_directory": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [63, 64, 67], "excluded_lines": [], "start_line": 56}, "FingerprintManager._load_fingerprints": {"executed_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [86, 87, 88], "excluded_lines": [], "start_line": 69}, "FingerprintManager._save_fingerprints": {"executed_lines": [94, 95, 100, 104], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [107, 108, 109], "excluded_lines": [], "start_line": 90}, "FingerprintManager.add_fingerprint": {"executed_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [138, 139], "excluded_lines": [], "start_line": 111}, "FingerprintManager.remove_fingerprint": {"executed_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [169, 170, 177, 180], "excluded_lines": [], "start_line": 141}, "FingerprintManager.list_fingerprints": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185}, "FingerprintManager.select_fingerprint": {"executed_lines": [205, 206, 207, 208, 209], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [211, 212], "excluded_lines": [], "start_line": 195}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": [], "start_line": 214}, "FingerprintManager.get_name": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225}, "FingerprintManager.display_name": {"executed_lines": [231, 232], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [244, 245, 246], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [248, 249], "excluded_lines": [], "start_line": 234}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"FingerprintManager": {"executed_lines": [34, 35, 36, 37, 50, 51, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 94, 95, 100, 104, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183, 192, 193, 205, 206, 207, 208, 209, 227, 231, 232, 244, 245, 246], "summary": {"covered_lines": 71, "num_statements": 99, "percent_covered": 71.71717171717172, "percent_covered_display": "72", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 71.71717171717172, "percent_statements_covered_display": "72"}, "missing_lines": [53, 54, 63, 64, 67, 86, 87, 88, 107, 108, 109, 138, 139, 169, 170, 177, 180, 211, 212, 216, 217, 218, 219, 221, 222, 223, 248, 249], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/imghdr_stub.py": {"executed_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "summary": {"covered_lines": 76, "num_statements": 77, "percent_covered": 98.7012987012987, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.7012987012987, "percent_statements_covered_display": "99"}, "missing_lines": [59], "excluded_lines": [], "functions": {"what": {"executed_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "test_jpeg": {"executed_lines": [56, 57, 58], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [59], "excluded_lines": [], "start_line": 54}, "test_png": {"executed_lines": [67, 68], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "test_gif": {"executed_lines": [76, 77], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74}, "test_tiff": {"executed_lines": [85, 86], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83}, "test_rgb": {"executed_lines": [94, 95], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92}, "test_pbm": {"executed_lines": [103, 104], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101}, "test_pgm": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "test_ppm": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119}, "test_rast": {"executed_lines": [130, 131], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 128}, "test_xbm": {"executed_lines": [139, 140], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137}, "test_bmp": {"executed_lines": [148, 149], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146}, "test_webp": {"executed_lines": [157, 158], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155}, "test_exr": {"executed_lines": [166, 167], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164}, "": {"executed_lines": [7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "summary": {"covered_lines": 76, "num_statements": 77, "percent_covered": 98.7012987012987, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.7012987012987, "percent_statements_covered_display": "99"}, "missing_lines": [59], "excluded_lines": [], "start_line": 1}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 13, 15, 16, 17, 18, 19, 20, 21, 22, 25, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 48, 50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "_timed_input_windows": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [27, 28], "start_line": 25}, "timed_input": {"executed_lines": [50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 13, 15, 16, 17, 18, 19, 20, 21, 22, 25, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 48, 50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10, 27, 28], "start_line": 1}}}, "src/utils/key_derivation.py": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 41, 44, 47, 53, 54, 57, 58, 59, 66, 71, 74, 96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129, 136, 147, 151, 152, 153, 155, 156, 157, 166, 172, 214, 216, 217, 218, 219, 222, 224, 227, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 251], "summary": {"covered_lines": 77, "num_statements": 117, "percent_covered": 65.8119658119658, "percent_covered_display": "66", "missing_lines": 40, "excluded_lines": 5, "percent_statements_covered": 65.8119658119658, "percent_statements_covered_display": "66"}, "missing_lines": [109, 131, 132, 133, 148, 149, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 231, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129], "summary": {"covered_lines": 16, "num_statements": 20, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [109, 131, 132, 133], "excluded_lines": [], "start_line": 74}, "derive_key_from_password_argon2": {"executed_lines": [147, 151, 152, 153, 155, 156, 157, 166], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 3, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [148, 149], "excluded_lines": [167, 168, 169], "start_line": 136}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": [], "start_line": 172}, "derive_index_key_seed_only": {"executed_lines": [216, 217, 218, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214}, "derive_index_key": {"executed_lines": [224], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222}, "derive_totp_secret": {"executed_lines": [229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245], "summary": {"covered_lines": 13, "num_statements": 17, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 76.47058823529412, "percent_statements_covered_display": "76"}, "missing_lines": [231, 246, 247, 248], "excluded_lines": [], "start_line": 227}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [], "start_line": 251}, "": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 41, 44, 47, 53, 54, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [49, 50], "start_line": 1}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 41, 44, 47, 53, 54, 57, 58, 59, 66, 71, 74, 96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129, 136, 147, 151, 152, 153, 155, 156, 157, 166, 172, 214, 216, 217, 218, 219, 222, 224, 227, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 251], "summary": {"covered_lines": 77, "num_statements": 117, "percent_covered": 65.8119658119658, "percent_covered_display": "66", "missing_lines": 40, "excluded_lines": 5, "percent_statements_covered": 65.8119658119658, "percent_statements_covered_display": "66"}, "missing_lines": [109, 131, 132, 133, 148, 149, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 231, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "start_line": 1}}}, "src/utils/key_hierarchy.py": {"executed_lines": [3, 4, 5, 8, 21, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"kd": {"executed_lines": [21, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 8, 21, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/key_validation.py": {"executed_lines": [3, 4, 5, 6, 7, 8, 10, 13, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 35, 36, 37, 38, 41, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 58, 59, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"validate_totp_secret": {"executed_lines": [15, 16, 17, 18, 19, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "validate_ssh_key_pair": {"executed_lines": [25, 26, 27, 35, 36, 37, 38], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "validate_pgp_private_key": {"executed_lines": [43, 44, 45, 46, 47, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "validate_nostr_keys": {"executed_lines": [53, 54, 55, 56, 57, 58, 59, 60], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "validate_seed_phrase": {"executed_lines": [65, 66, 67, 68, 69], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "": {"executed_lines": [3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 6, 7, 8, 10, 13, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 35, 36, 37, 38, 41, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 58, 59, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 18, 32, 35, 38, 41, 44, 45, 47, 48, 49, 51, 54, 57, 58, 59, 60, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [15], "start_line": 12}, "ChecksumWarningFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29], "start_line": 21}, "pause_console_logging": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "resume_console_logging": {"executed_lines": [41], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "console_logging_paused": {"executed_lines": [47, 48, 49, 51], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "pause_logging_for_ui.wrapper": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 18, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23], "start_line": 1}}, "classes": {"ConsolePauseFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [15], "start_line": 9}, "ChecksumWarningFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29], "start_line": 18}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 18, 32, 35, 38, 41, 44, 45, 47, 48, 49, 51, 54, 57, 58, 59, 60, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23], "start_line": 1}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 29, 31, 33, 34, 35, 36, 38, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "InMemorySecret.get_bytes": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "InMemorySecret.wipe": {"executed_lines": [33, 34, 35, 36], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "InMemorySecret.get_str": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38}, "": {"executed_lines": [1, 3, 4, 10, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"InMemorySecret": {"executed_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "": {"executed_lines": [1, 3, 4, 10, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/password_prompt.py": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 39, 42, 45, 47, 48, 53, 56, 59, 61, 62, 65, 68, 71, 89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139, 158, 180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201, 219, 235, 236, 237, 238, 239, 240, 241, 242, 243, 259], "summary": {"covered_lines": 68, "num_statements": 126, "percent_covered": 53.96825396825397, "percent_covered_display": "54", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 53.96825396825397, "percent_statements_covered_display": "54"}, "missing_lines": [46, 49, 50, 51, 52, 60, 91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36}, "_get_max_attempts": {"executed_lines": [45, 47, 48, 53], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 44.44444444444444, "percent_statements_covered_display": "44"}, "missing_lines": [46, 49, 50, 51, 52], "excluded_lines": [], "start_line": 42}, "_apply_backoff": {"executed_lines": [59, 61, 62], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [60], "excluded_lines": [], "start_line": 56}, "prompt_new_password": {"executed_lines": [89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139], "summary": {"covered_lines": 19, "num_statements": 45, "percent_covered": 42.22222222222222, "percent_covered_display": "42", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 42.22222222222222, "percent_statements_covered_display": "42"}, "missing_lines": [91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": [], "start_line": 71}, "prompt_existing_password": {"executed_lines": [180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201], "summary": {"covered_lines": 11, "num_statements": 27, "percent_covered": 40.74074074074074, "percent_covered_display": "41", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 40.74074074074074, "percent_statements_covered_display": "41"}, "missing_lines": [182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": [], "start_line": 158}, "confirm_action": {"executed_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243], "summary": {"covered_lines": 9, "num_statements": 18, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": [], "start_line": 219}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [268], "excluded_lines": [], "start_line": 259}, "": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 39, 42, 45, 47, 48, 53, 56, 59, 61, 62, 65, 68, 71, 89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139, 158, 180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201, 219, 235, 236, 237, 238, 239, 240, 241, 242, 243, 259], "summary": {"covered_lines": 68, "num_statements": 126, "percent_covered": 53.96825396825397, "percent_covered_display": "54", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 53.96825396825397, "percent_statements_covered_display": "54"}, "missing_lines": [46, 49, 50, 51, 52, 60, 91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "start_line": 1}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 10, 11, 12, 17, 18, 20, 23, 31, 33, 34, 39, 42, 45, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 107, 109, 110, 111, 112, 113, 114, 118, 121, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 107, "num_statements": 128, "percent_covered": 83.59375, "percent_covered_display": "84", "missing_lines": 21, "excluded_lines": 11, "percent_statements_covered": 83.59375, "percent_statements_covered_display": "84"}, "missing_lines": [32, 35, 36, 37, 38, 46, 67, 68, 69, 168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [31, 33, 34, 39], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 44.44444444444444, "percent_statements_covered_display": "44"}, "missing_lines": [32, 35, 36, 37, 38], "excluded_lines": [], "start_line": 23}, "_apply_backoff": {"executed_lines": [45, 47, 48], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [46], "excluded_lines": [], "start_line": 42}, "_masked_input_windows": {"executed_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 2, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82"}, "missing_lines": [67, 68, 69], "excluded_lines": [53, 54], "start_line": 51}, "_masked_input_posix": {"executed_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [78, 79], "start_line": 76}, "masked_input": {"executed_lines": [109, 110, 111, 112, 113, 114, 118], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [115, 116], "start_line": 107}, "prompt_seed_words": {"executed_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 40, "num_statements": 52, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": [], "start_line": 121}, "": {"executed_lines": [1, 2, 3, 5, 6, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15], "start_line": 1}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 10, 11, 12, 17, 18, 20, 23, 31, 33, 34, 39, 42, 45, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 107, 109, 110, 111, 112, 113, 114, 118, 121, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 107, "num_statements": 128, "percent_covered": 83.59375, "percent_covered_display": "84", "missing_lines": 21, "excluded_lines": 11, "percent_statements_covered": 83.59375, "percent_statements_covered_display": "84"}, "missing_lines": [32, 35, 36, 37, 38, 46, 67, 68, 69, 168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "start_line": 1}}}, "src/utils/terminal_utils.py": {"executed_lines": [3, 4, 5, 7, 9, 12, 14, 16, 17, 18, 19, 20, 26, 29, 31, 34, 42, 43, 44, 45, 50, 51, 52, 53, 54, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 67, "num_statements": 75, "percent_covered": 89.33333333333333, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 6, "percent_statements_covered": 89.33333333333333, "percent_statements_covered_display": "89"}, "missing_lines": [15, 46, 47, 48, 49, 63, 85, 89], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [14, 16, 17, 18, 19, 20, 26], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 3, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [15], "excluded_lines": [21, 22, 25], "start_line": 12}, "clear_screen": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "clear_and_print_fingerprint": {"executed_lines": [42, 43, 44, 45, 50, 51, 52, 53, 54], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [46, 47, 48, 49], "excluded_lines": [], "start_line": 34}, "clear_and_print_profile_chain": {"executed_lines": [61, 62, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [63], "excluded_lines": [], "start_line": 57}, "clear_header_with_notification": {"executed_lines": [82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113], "summary": {"covered_lines": 24, "num_statements": 26, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 3, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [85, 89], "excluded_lines": [102, 103, 104], "start_line": 73}, "pause": {"executed_lines": [118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116}, "": {"executed_lines": [3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 7, 9, 12, 14, 16, 17, 18, 19, 20, 26, 29, 31, 34, 42, 43, 44, 45, 50, 51, 52, 53, 54, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 67, "num_statements": 75, "percent_covered": 89.33333333333333, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 6, "percent_statements_covered": 89.33333333333333, "percent_statements_covered_display": "89"}, "missing_lines": [15, 46, 47, 48, 49, 63, 85, 89], "excluded_lines": [21, 22, 25, 102, 103, 104], "start_line": 1}}}}, "totals": {"covered_lines": 25314, "num_statements": 34405, "percent_covered": 73.5765150414184, "percent_covered_display": "74", "missing_lines": 9091, "excluded_lines": 222, "percent_statements_covered": 73.5765150414184, "percent_statements_covered_display": "74"}} \ No newline at end of file +{"meta": {"format": 3, "version": "7.10.1", "timestamp": "2026-03-02T22:23:26.790350", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 35, 36, 37, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 39], "excluded_lines": []}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 35, 36, 37, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 39], "excluded_lines": []}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}}, "src/local_bip85/bip85.py": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 50, 51, 52, 54, 55, 61, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 148, 150, 151, 152, 153], "summary": {"covered_lines": 59, "num_statements": 74, "percent_covered": 79.72972972972973, "percent_covered_display": "80", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 107, 110, 113, 143, 144, 145, 146, 154, 155, 156, 157], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [50, 51, 52, 54, 55], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59], "excluded_lines": []}, "BIP85.derive_entropy": {"executed_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 21, "num_statements": 24, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [107, 110, 113], "excluded_lines": []}, "BIP85.derive_mnemonic": {"executed_lines": [125, 126, 127, 128, 129, 131, 137, 138, 141, 142], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [143, 144, 145, 146], "excluded_lines": []}, "BIP85.derive_symmetric_key": {"executed_lines": [150, 151, 152, 153], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BIP85": {"executed_lines": [50, 51, 52, 54, 55, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 150, 151, 152, 153], "summary": {"covered_lines": 40, "num_statements": 55, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 107, 110, 113, 143, 144, 145, 146, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/main.py": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 62, 63, 64, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115, 118, 119, 136, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 167, 168, 174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202, 212, 225, 227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 250, 251, 252, 253, 254, 256, 273, 278, 284, 285, 286, 290, 291, 292, 293, 294, 300, 318, 326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 365, 374, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407, 410, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444, 447, 449, 450, 451, 461, 462, 469, 470, 471, 477, 482, 485, 502, 504, 505, 506, 507, 508, 513, 526, 528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554, 557, 559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591, 594, 596, 597, 600, 602, 603, 604, 605, 610, 613, 615, 616, 617, 626, 628, 629, 630, 631, 632, 633, 635, 637, 639, 643, 645, 651, 652, 653, 654, 655, 656, 657, 658, 666, 669, 671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709, 712, 746, 748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789, 795, 844, 863, 865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908, 914, 916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945, 951, 953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983, 989, 991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035, 1042, 1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099, 1116, 1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230, 1247, 1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401, 1404, 1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1622, 1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1660, 1666, 1668, 1669, 1670, 1676, 1677, 1679, 1680, 1682, 1683, 1685, 1686, 1687, 1692, 1694, 1695, 1696, 1704, 1705, 1706, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1729, 1732, 1733, 1734, 1744, 1746, 1749, 1750, 1751, 1752, 1753, 1754, 1757, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1779, 1780, 1785, 1786, 1787, 1788, 1789, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1807, 1808, 1809, 1810, 1811, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1824, 1825, 1826, 1827, 1828, 1837, 1843, 1855, 1856, 1858, 1859, 1895, 1898], "summary": {"covered_lines": 803, "num_statements": 1358, "percent_covered": 59.13107511045656, "percent_covered_display": "59", "missing_lines": 555, "excluded_lines": 5}, "missing_lines": [8, 65, 66, 126, 127, 128, 129, 130, 131, 133, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 163, 177, 183, 192, 193, 203, 204, 206, 207, 208, 209, 218, 219, 220, 221, 222, 230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275, 287, 288, 295, 296, 297, 304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 367, 368, 390, 392, 394, 396, 398, 405, 440, 441, 442, 452, 458, 459, 465, 466, 467, 468, 478, 479, 480, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 509, 510, 515, 516, 517, 518, 519, 520, 521, 522, 523, 530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552, 561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589, 598, 599, 606, 607, 608, 618, 619, 620, 621, 623, 634, 636, 638, 640, 648, 649, 650, 662, 663, 664, 674, 675, 676, 705, 706, 707, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792, 797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860, 872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911, 923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948, 960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986, 1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039, 1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619, 1697, 1703, 1707, 1708, 1709, 1710, 1720, 1724, 1725, 1726, 1727, 1730, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1745, 1747, 1758, 1759, 1760, 1761, 1764, 1765, 1781, 1782, 1783, 1784, 1790, 1803, 1804, 1805, 1806, 1812, 1829, 1830, 1838, 1839, 1840, 1841, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1899], "excluded_lines": [335, 336, 369, 370, 371], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [62, 63, 64], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 66], "excluded_lines": []}, "load_global_config": {"executed_lines": [75, 76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "configure_logging": {"executed_lines": [89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 131, 133], "excluded_lines": []}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "excluded_lines": []}, "get_notification_text": {"executed_lines": [153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [163], "excluded_lines": []}, "handle_switch_fingerprint": {"executed_lines": [174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202], "summary": {"covered_lines": 13, "num_statements": 23, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [177, 183, 192, 193, 203, 204, 206, 207, 208, 209], "excluded_lines": []}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [218, 219, 220, 221, 222], "excluded_lines": []}, "handle_remove_fingerprint": {"executed_lines": [227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 256, 273], "summary": {"covered_lines": 15, "num_statements": 26, "percent_covered": 57.69230769230769, "percent_covered_display": "58", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275], "excluded_lines": []}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [250, 251, 252, 253, 254], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "handle_list_fingerprints": {"executed_lines": [284, 285, 286, 290, 291, 292, 293, 294], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [287, 288, 295, 296, 297], "excluded_lines": []}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315], "excluded_lines": []}, "_display_live_stats": {"executed_lines": [326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348], "summary": {"covered_lines": 19, "num_statements": 32, "percent_covered": 59.375, "percent_covered_display": "59", "missing_lines": 13, "excluded_lines": 2}, "missing_lines": [350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], "excluded_lines": [335, 336]}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [367, 368], "excluded_lines": [369, 370, 371]}, "print_matches": {"executed_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407], "summary": {"covered_lines": 22, "num_statements": 28, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [390, 392, 394, 396, 398, 405], "excluded_lines": []}, "handle_post_to_nostr": {"executed_lines": [416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 88.46153846153847, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [440, 441, 442], "excluded_lines": []}, "handle_retrieve_from_nostr": {"executed_lines": [449, 450, 451, 461, 462, 469, 470, 471, 477, 482], "summary": {"covered_lines": 10, "num_statements": 20, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [452, 458, 459, 465, 466, 467, 468, 478, 479, 480], "excluded_lines": []}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499], "excluded_lines": []}, "_safe_close_client_pool": {"executed_lines": [504, 505, 506, 507, 508], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [509, 510], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [515, 516, 517, 518, 519, 520, 521, 522, 523], "excluded_lines": []}, "handle_add_relay": {"executed_lines": [528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554], "summary": {"covered_lines": 15, "num_statements": 26, "percent_covered": 57.69230769230769, "percent_covered_display": "58", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552], "excluded_lines": []}, "handle_remove_relay": {"executed_lines": [559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591], "summary": {"covered_lines": 16, "num_statements": 27, "percent_covered": 59.25925925925926, "percent_covered_display": "59", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589], "excluded_lines": []}, "handle_reset_relays": {"executed_lines": [596, 597, 600, 602, 603, 604, 605, 610], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [598, 599, 606, 607, 608], "excluded_lines": []}, "_get_profile_state_manager": {"executed_lines": [615, 616, 617], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [618, 619, 620, 621, 623], "excluded_lines": []}, "_clear_nostr_runtime_state": {"executed_lines": [628, 629, 630, 631, 632, 633, 635, 637, 639], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [634, 636, 638, 640], "excluded_lines": []}, "handle_reset_nostr_sync_state": {"executed_lines": [645, 651, 652, 653, 654, 655, 656, 657, 658, 666], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [648, 649, 650, 662, 663, 664], "excluded_lines": []}, "handle_start_fresh_nostr_namespace": {"executed_lines": [671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [674, 675, 676, 705, 706, 707], "excluded_lines": []}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743], "excluded_lines": []}, "handle_set_kdf_iterations": {"executed_lines": [748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789], "summary": {"covered_lines": 20, "num_statements": 38, "percent_covered": 52.63157894736842, "percent_covered_display": "53", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792], "excluded_lines": []}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841], "excluded_lines": []}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860], "excluded_lines": []}, "handle_toggle_secret_mode": {"executed_lines": [865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908], "summary": {"covered_lines": 26, "num_statements": 46, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911], "excluded_lines": []}, "handle_toggle_quick_unlock": {"executed_lines": [916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945], "summary": {"covered_lines": 17, "num_statements": 32, "percent_covered": 53.125, "percent_covered_display": "53", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948], "excluded_lines": []}, "handle_toggle_offline_mode": {"executed_lines": [953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983], "summary": {"covered_lines": 18, "num_statements": 33, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986], "excluded_lines": []}, "handle_profiles_menu": {"executed_lines": [991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035], "summary": {"covered_lines": 25, "num_statements": 38, "percent_covered": 65.78947368421052, "percent_covered_display": "66", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039], "excluded_lines": []}, "handle_nostr_menu": {"executed_lines": [1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099], "summary": {"covered_lines": 33, "num_statements": 58, "percent_covered": 56.89655172413793, "percent_covered_display": "57", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113], "excluded_lines": []}, "handle_semantic_index_menu": {"executed_lines": [1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230], "summary": {"covered_lines": 49, "num_statements": 77, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244], "excluded_lines": []}, "handle_settings": {"executed_lines": [1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401], "summary": {"covered_lines": 84, "num_statements": 130, "percent_covered": 64.61538461538461, "percent_covered_display": "65", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397], "excluded_lines": []}, "display_menu": {"executed_lines": [1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615], "summary": {"covered_lines": 105, "num_statements": 140, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619], "excluded_lines": []}, "main": {"executed_lines": [1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1660, 1666, 1668, 1669, 1670, 1676, 1677, 1679, 1680, 1682, 1683, 1685, 1686, 1687, 1692, 1694, 1695, 1696, 1704, 1705, 1706, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1729, 1732, 1733, 1734, 1744, 1746, 1749, 1750, 1751, 1752, 1753, 1754, 1757, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1779, 1780, 1785, 1786, 1787, 1788, 1789, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1807, 1808, 1809, 1810, 1811, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1824, 1825, 1826, 1827, 1828, 1837, 1843, 1855, 1856, 1858, 1859, 1895], "summary": {"covered_lines": 115, "num_statements": 192, "percent_covered": 59.895833333333336, "percent_covered_display": "60", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [1697, 1703, 1707, 1708, 1709, 1710, 1720, 1724, 1725, 1726, 1727, 1730, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1745, 1747, 1758, 1759, 1760, 1761, 1764, 1765, 1781, 1782, 1783, 1784, 1790, 1803, 1804, 1805, 1806, 1812, 1829, 1830, 1838, 1839, 1840, 1841, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894], "excluded_lines": []}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853], "excluded_lines": []}, "": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 73, 86, 118, 119, 136, 151, 167, 168, 212, 225, 278, 300, 318, 365, 374, 410, 447, 485, 502, 513, 526, 557, 594, 613, 626, 643, 669, 712, 746, 795, 844, 863, 914, 951, 989, 1042, 1116, 1247, 1404, 1622, 1898], "summary": {"covered_lines": 73, "num_statements": 75, "percent_covered": 97.33333333333333, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [8, 1899], "excluded_lines": []}}, "classes": {"": {"executed_lines": [2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 35, 42, 43, 44, 49, 51, 53, 60, 62, 63, 64, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 89, 90, 92, 93, 94, 95, 97, 98, 100, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115, 118, 119, 136, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 167, 168, 174, 175, 176, 185, 186, 187, 188, 190, 191, 195, 196, 197, 202, 212, 225, 227, 228, 229, 233, 234, 235, 236, 238, 239, 243, 244, 247, 249, 250, 251, 252, 253, 254, 256, 273, 278, 284, 285, 286, 290, 291, 292, 293, 294, 300, 318, 326, 327, 328, 329, 330, 332, 333, 334, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 365, 374, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 391, 393, 395, 397, 400, 401, 402, 403, 404, 406, 407, 410, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 438, 439, 444, 447, 449, 450, 451, 461, 462, 469, 470, 471, 477, 482, 485, 502, 504, 505, 506, 507, 508, 513, 526, 528, 529, 532, 533, 536, 537, 538, 539, 542, 543, 544, 545, 546, 547, 554, 557, 559, 560, 563, 564, 565, 566, 569, 570, 571, 572, 575, 583, 584, 585, 586, 591, 594, 596, 597, 600, 602, 603, 604, 605, 610, 613, 615, 616, 617, 626, 628, 629, 630, 631, 632, 633, 635, 637, 639, 643, 645, 651, 652, 653, 654, 655, 656, 657, 658, 666, 669, 671, 677, 678, 679, 680, 681, 687, 688, 690, 691, 692, 693, 694, 700, 709, 712, 746, 748, 749, 751, 752, 755, 762, 763, 768, 769, 770, 771, 772, 773, 774, 777, 783, 784, 787, 788, 789, 795, 844, 863, 865, 866, 867, 868, 869, 870, 871, 879, 880, 881, 886, 887, 888, 889, 892, 893, 894, 895, 896, 902, 903, 904, 905, 906, 907, 908, 914, 916, 917, 918, 919, 920, 921, 922, 930, 931, 936, 937, 938, 939, 942, 943, 944, 945, 951, 953, 954, 955, 956, 957, 958, 959, 967, 968, 973, 974, 975, 976, 979, 980, 981, 982, 983, 989, 991, 992, 997, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018, 1020, 1022, 1024, 1025, 1028, 1032, 1033, 1034, 1035, 1042, 1044, 1045, 1048, 1049, 1054, 1055, 1060, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1095, 1096, 1097, 1098, 1099, 1116, 1118, 1119, 1120, 1125, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1154, 1155, 1156, 1157, 1163, 1164, 1173, 1174, 1175, 1181, 1182, 1191, 1192, 1193, 1197, 1198, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1214, 1215, 1216, 1217, 1221, 1222, 1228, 1229, 1230, 1247, 1249, 1250, 1255, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1299, 1300, 1302, 1305, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1321, 1322, 1323, 1324, 1328, 1329, 1336, 1337, 1338, 1339, 1342, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1355, 1356, 1359, 1372, 1373, 1375, 1378, 1381, 1384, 1385, 1386, 1387, 1390, 1394, 1398, 1399, 1400, 1401, 1404, 1412, 1423, 1424, 1425, 1426, 1427, 1428, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1452, 1462, 1463, 1464, 1466, 1467, 1468, 1472, 1473, 1475, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1508, 1509, 1510, 1511, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1533, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1553, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1582, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1622, 1632, 1633, 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1645, 1650, 1655, 1660, 1666, 1668, 1669, 1670, 1676, 1677, 1679, 1680, 1682, 1683, 1685, 1686, 1687, 1692, 1694, 1695, 1696, 1704, 1705, 1706, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1729, 1732, 1733, 1734, 1744, 1746, 1749, 1750, 1751, 1752, 1753, 1754, 1757, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1779, 1780, 1785, 1786, 1787, 1788, 1789, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1807, 1808, 1809, 1810, 1811, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1824, 1825, 1826, 1827, 1828, 1837, 1843, 1855, 1856, 1858, 1859, 1895, 1898], "summary": {"covered_lines": 803, "num_statements": 1358, "percent_covered": 59.13107511045656, "percent_covered_display": "59", "missing_lines": 555, "excluded_lines": 5}, "missing_lines": [8, 65, 66, 126, 127, 128, 129, 130, 131, 133, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 163, 177, 183, 192, 193, 203, 204, 206, 207, 208, 209, 218, 219, 220, 221, 222, 230, 231, 240, 241, 259, 262, 263, 270, 272, 274, 275, 287, 288, 295, 296, 297, 304, 305, 306, 307, 308, 310, 311, 312, 313, 314, 315, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 367, 368, 390, 392, 394, 396, 398, 405, 440, 441, 442, 452, 458, 459, 465, 466, 467, 468, 478, 479, 480, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 509, 510, 515, 516, 517, 518, 519, 520, 521, 522, 523, 530, 531, 534, 535, 540, 541, 548, 549, 550, 551, 552, 561, 562, 567, 568, 573, 574, 576, 582, 587, 588, 589, 598, 599, 606, 607, 608, 618, 619, 620, 621, 623, 634, 636, 638, 640, 648, 649, 650, 662, 663, 664, 674, 675, 676, 705, 706, 707, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 753, 754, 764, 765, 766, 767, 775, 776, 778, 779, 780, 781, 782, 785, 786, 790, 791, 792, 797, 798, 799, 800, 801, 802, 803, 804, 806, 807, 808, 809, 810, 812, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, 838, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 860, 872, 873, 874, 875, 877, 878, 882, 883, 884, 885, 890, 891, 897, 898, 899, 900, 901, 909, 910, 911, 923, 924, 925, 926, 928, 929, 932, 933, 934, 935, 940, 941, 946, 947, 948, 960, 961, 962, 963, 965, 966, 969, 970, 971, 972, 977, 978, 984, 985, 986, 1015, 1017, 1019, 1021, 1023, 1027, 1029, 1030, 1031, 1036, 1037, 1038, 1039, 1046, 1047, 1050, 1051, 1052, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1165, 1166, 1172, 1183, 1184, 1190, 1194, 1195, 1196, 1199, 1200, 1201, 1218, 1219, 1220, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1284, 1286, 1294, 1295, 1296, 1297, 1301, 1303, 1304, 1306, 1307, 1318, 1319, 1320, 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1340, 1341, 1343, 1344, 1351, 1361, 1366, 1368, 1369, 1374, 1376, 1377, 1379, 1380, 1382, 1383, 1389, 1391, 1392, 1393, 1395, 1396, 1397, 1453, 1454, 1455, 1461, 1491, 1492, 1498, 1499, 1500, 1501, 1507, 1514, 1515, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1568, 1570, 1571, 1573, 1574, 1576, 1577, 1579, 1580, 1616, 1617, 1618, 1619, 1697, 1703, 1707, 1708, 1709, 1710, 1720, 1724, 1725, 1726, 1727, 1730, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1745, 1747, 1758, 1759, 1760, 1761, 1764, 1765, 1781, 1782, 1783, 1784, 1790, 1803, 1804, 1805, 1806, 1812, 1829, 1830, 1838, 1839, 1840, 1841, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1899], "excluded_lines": [335, 336, 369, 370, 371]}}}, "src/nostr/__init__.py": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "": {"executed_lines": [3, 5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110, 113], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [93, 94], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}, "classes": {"NostrClient": {"executed_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 8, 10, 11, 12, 14, 15, 20, 21, 26, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 42, 43, 45, 46], "summary": {"covered_lines": 26, "num_statements": 33, "percent_covered": 78.78787878787878, "percent_covered_display": "79", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23, 24, 38], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [11, 12, 14, 15, 20, 21, 26], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23, 24], "excluded_lines": []}, "Keys.hex_to_bech32": {"executed_lines": [31, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Keys.bech32_to_hex": {"executed_lines": [36, 37, 39, 40], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "Keys.private_key_hex": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Keys.public_key_hex": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Keys": {"executed_lines": [11, 12, 14, 15, 20, 21, 26, 31, 32, 36, 37, 39, 40, 43, 46], "summary": {"covered_lines": 15, "num_statements": 22, "percent_covered": 68.18181818181819, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23, 24, 38], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 27, 29, 30, 32, 38, 40, 42, 43, 45, 46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67, 69, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 93, 103, 105, 107, 109, 148, 150, 152, 153, 155, 157, 158, 159, 160, 161, 162, 164, 168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199, 201, 225, 227, 228, 231, 232], "summary": {"covered_lines": 91, "num_statements": 155, "percent_covered": 58.70967741935484, "percent_covered_display": "59", "missing_lines": 64, "excluded_lines": 0}, "missing_lines": [28, 34, 35, 36, 41, 47, 54, 55, 57, 90, 91, 94, 95, 96, 97, 98, 101, 106, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 151, 169, 181, 193, 194, 195, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 229, 230], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [27, 29, 30], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [28], "excluded_lines": []}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "ConnectionHandler._connect_async": {"executed_lines": [40, 42, 43], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67], "summary": {"covered_lines": 13, "num_statements": 17, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 54, 55, 57], "excluded_lines": []}, "ConnectionHandler._ping_relay": {"executed_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [90, 91], "excluded_lines": []}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": []}, "ConnectionHandler.check_relay_health": {"executed_lines": [105, 107], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [106], "excluded_lines": []}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": []}, "ConnectionHandler.publish_event": {"executed_lines": [150, 152, 153], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [151], "excluded_lines": []}, "ConnectionHandler.update_relays": {"executed_lines": [157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [169, 181, 193, 194, 195], "excluded_lines": []}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": []}, "ConnectionHandler.close_client_pool": {"executed_lines": [227, 228, 231, 232], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [229, 230], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConnectionHandler": {"executed_lines": [27, 29, 30, 40, 42, 43, 46, 49, 50, 51, 52, 53, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 105, 107, 150, 152, 153, 157, 158, 159, 160, 161, 162, 168, 171, 172, 173, 174, 176, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199, 227, 228, 231, 232], "summary": {"covered_lines": 65, "num_statements": 129, "percent_covered": 50.3875968992248, "percent_covered_display": "50", "missing_lines": 64, "excluded_lines": 0}, "missing_lines": [28, 34, 35, 36, 41, 47, 54, 55, 57, 90, 91, 94, 95, 96, 97, 98, 101, 106, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 151, 169, 181, 193, 194, 195, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 229, 230], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 36, 37, 41, 46, 47, 48, 49, 54, 57, 58, 64, 71, 72, 73, 74, 75, 80, 82, 83, 85, 89, 90, 91, 92, 97, 111, 122, 129, 131, 138, 140, 147, 148, 149, 150, 151, 152, 157], "summary": {"covered_lines": 49, "num_statements": 84, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [38, 42, 60, 61, 62, 76, 77, 78, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [36, 37, 41, 46, 47, 48, 49, 54, 57, 58], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [38, 42, 60, 61, 62], "excluded_lines": []}, "KeyManager.initialize_bip85": {"executed_lines": [71, 72, 73, 74, 75], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 77, 78], "excluded_lines": []}, "KeyManager.generate_nostr_keys": {"executed_lines": [82, 83, 85, 89, 90, 91, 92], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [93, 94, 95], "excluded_lines": []}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": []}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": []}, "KeyManager.get_public_key_hex": {"executed_lines": [129], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyManager.get_private_key_hex": {"executed_lines": [138], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyManager.get_npub": {"executed_lines": [147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [153, 154, 155], "excluded_lines": []}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyManager": {"executed_lines": [36, 37, 41, 46, 47, 48, 49, 54, 57, 58, 71, 72, 73, 74, 75, 82, 83, 85, 89, 90, 91, 92, 129, 138, 147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 30, "num_statements": 65, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [38, 42, 60, 61, 62, 76, 77, 78, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 33, 34, 35, 36, 37, 45, 46, 49, 57, 58, 59, 62, 63, 65, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 137, 140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219, 221, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277, 279, 281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 312, 314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346, 348, 349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 394, 395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 433, 434, 435, 437, 438, 439, 441, 442, 443], "summary": {"covered_lines": 232, "num_statements": 264, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 32, "excluded_lines": 11}, "missing_lines": [70, 84, 85, 96, 97, 155, 156, 205, 209, 210, 211, 213, 246, 252, 253, 262, 263, 282, 290, 291, 308, 309, 310, 315, 331, 332, 334, 340, 341, 350, 365, 396], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [33, 34, 35, 36, 37, 45, 46], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "new_manifest_id": {"executed_lines": [57, 58, 59], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SnapshotHandler.publish_snapshot": {"executed_lines": [68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "summary": {"covered_lines": 36, "num_statements": 41, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [70, 84, 85, 96, 97], "excluded_lines": []}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219], "summary": {"covered_lines": 50, "num_statements": 57, "percent_covered": 87.71929824561404, "percent_covered_display": "88", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [155, 156, 205, 209, 210, 211, 213], "excluded_lines": []}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 11}, "missing_lines": [246, 252, 253, 262, 263], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307], "summary": {"covered_lines": 20, "num_statements": 26, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [282, 290, 291, 308, 309, 310], "excluded_lines": []}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [315, 331, 332, 334, 340, 341], "excluded_lines": []}, "SnapshotHandler.publish_delta": {"executed_lines": [349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [350, 365], "excluded_lines": []}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [396], "excluded_lines": []}, "SnapshotHandler.get_current_manifest": {"executed_lines": [434, 435], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [438, 439], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SnapshotHandler.get_delta_events": {"executed_lines": [442, 443], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SnapshotHandler": {"executed_lines": [68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 86, 87, 90, 91, 92, 93, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 212, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 265, 266, 267, 268, 269, 277, 281, 283, 284, 285, 286, 287, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 314, 316, 317, 318, 319, 320, 321, 328, 329, 330, 333, 335, 336, 337, 338, 339, 342, 343, 344, 345, 346, 349, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "summary": {"covered_lines": 193, "num_statements": 225, "percent_covered": 85.77777777777777, "percent_covered_display": "86", "missing_lines": 32, "excluded_lines": 11}, "missing_lines": [70, 84, 85, 96, 97, 155, 156, 205, 209, 210, 211, 213, 246, 252, 253, 262, 263, 282, 290, 291, 308, 309, 310, 315, 331, 332, 334, 340, 341, 350, 365, 396], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 33, 34, 35, 36, 37, 45, 46, 49, 57, 58, 59, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/api.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 83, 84, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 124, 125, 129, 132, 133, 134, 135, 138, 140, 141, 142, 143, 146, 147, 149, 150, 158, 159, 160, 161, 162, 165, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 182, 194, 195, 198, 200, 201, 202, 203, 204, 205, 208, 209, 210, 211, 214, 216, 217, 218, 221, 222, 225, 231, 232, 233, 234, 235, 238, 239, 242, 243, 250, 251, 252, 254, 255, 257, 260, 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, 277, 278, 279, 280, 281, 283, 284, 287, 289, 292, 293, 294, 295, 298, 299, 302, 305, 315, 328, 331, 332, 335, 336, 337, 338, 346, 347, 350, 351, 356, 357, 358, 359, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 376, 377, 387, 396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442, 445, 451, 452, 455, 456, 457, 458, 459, 472, 473, 476, 477, 478, 479, 480, 489, 490, 497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523, 530, 531, 534, 535, 536, 537, 538, 539, 544, 547, 548, 553, 554, 555, 556, 559, 560, 565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605, 608, 609, 614, 615, 616, 618, 621, 622, 628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686, 703, 704, 713, 714, 715, 716, 718, 728, 729, 735, 736, 737, 738, 740, 750, 751, 757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781, 789, 790, 864, 865, 870, 871, 872, 873, 875, 876, 877, 878, 879, 884, 893, 894, 899, 900, 901, 902, 904, 905, 907, 908, 909, 912, 920, 921, 926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942, 945, 946, 951, 952, 953, 954, 957, 958, 963, 964, 965, 966, 967, 970, 971, 977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129, 1150, 1151, 1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185, 1188, 1189, 1195, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1213, 1214, 1215, 1216, 1218, 1219, 1227, 1230, 1231, 1238, 1239, 1240, 1241, 1243, 1244, 1251, 1254, 1255, 1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280, 1283, 1284, 1291, 1292, 1293, 1295, 1296, 1307, 1310, 1311, 1315, 1316, 1317, 1318, 1319, 1322, 1323, 1327, 1328, 1329, 1330, 1331, 1334, 1335, 1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349, 1352, 1353, 1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388, 1391, 1392, 1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1413, 1414, 1417, 1418, 1419, 1422, 1423, 1426, 1427, 1428, 1431, 1432, 1435, 1436, 1437, 1440, 1441, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461, 1464, 1465, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485, 1491, 1492, 1495, 1496, 1497, 1500, 1501, 1505, 1506, 1507, 1508, 1509, 1512, 1513, 1517, 1518, 1519, 1520, 1521, 1524, 1525, 1529, 1530, 1531, 1533, 1535, 1536, 1539, 1540, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599, 1602, 1603, 1607, 1608, 1609, 1610, 1613, 1614, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1630, 1631, 1632, 1633, 1634, 1635, 1638, 1639, 1641, 1642, 1643, 1644, 1645, 1648, 1649, 1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668, 1671, 1672, 1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689, 1692, 1693, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705, 1708, 1709, 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1725, 1726, 1727, 1728, 1729, 1732, 1733, 1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765, 1776, 1777, 1781, 1782, 1783, 1784, 1795, 1796, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876, 1879, 1880, 1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1911, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935, 1938, 1939, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008, 2011, 2012, 2016, 2017, 2018, 2019, 2021, 2024, 2025, 2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048, 2051, 2052, 2056, 2057, 2058, 2059, 2062, 2063, 2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2086, 2087, 2090, 2091, 2093], "summary": {"covered_lines": 901, "num_statements": 1066, "percent_covered": 84.52157598499062, "percent_covered_display": "85", "missing_lines": 165, "excluded_lines": 0}, "missing_lines": [105, 119, 120, 123, 144, 145, 148, 163, 164, 197, 199, 253, 256, 282, 285, 286, 288, 339, 340, 341, 342, 343, 398, 406, 407, 408, 410, 411, 446, 447, 448, 502, 504, 507, 508, 513, 519, 520, 521, 522, 540, 541, 542, 543, 571, 574, 577, 603, 604, 617, 633, 638, 645, 654, 657, 717, 739, 761, 764, 769, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854, 874, 882, 883, 903, 906, 910, 911, 931, 983, 1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147, 1200, 1201, 1217, 1225, 1226, 1242, 1249, 1250, 1267, 1276, 1277, 1278, 1279, 1301, 1302, 1303, 1304, 1305, 1306, 1348, 1363, 1385, 1404, 1457, 1482, 1534, 1566, 1659, 1664, 1683, 1685, 1745, 1757, 1758, 1857, 1858, 1862, 1874, 1895, 1919, 1931, 1973, 1974, 1983, 1992, 1996, 2071], "excluded_lines": [], "functions": {"dynamic_cors_headers": {"executed_lines": [83, 84, 89, 90, 91, 92, 93], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_pm": {"executed_lines": [97, 98, 99, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_check_token": {"executed_lines": [104, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [105], "excluded_lines": []}, "_enforce_rate_limit": {"executed_lines": [115, 116, 117, 118, 121, 122, 124, 125, 129], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [119, 120, 123], "excluded_lines": []}, "_request_rate_key": {"executed_lines": [133, 134, 135], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_enforce_unlock_attempt_limit": {"executed_lines": [140, 141, 142, 143, 146, 147, 149, 150], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [144, 145, 148], "excluded_lines": []}, "_record_unlock_failure": {"executed_lines": [159, 160, 161, 162, 165], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [163, 164], "excluded_lines": []}, "_reload_relays": {"executed_lines": [170, 171, 172, 173, 174, 175, 176, 177, 178, 179], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "start_server": {"executed_lines": [194, 195, 198, 200, 201, 202, 203, 204, 205], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [197, 199], "excluded_lines": []}, "_require_password": {"executed_lines": [209, 210, 211], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_require_unlocked": {"executed_lines": [216, 217, 218], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_semantic_service": {"executed_lines": [222], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_validate_encryption_path": {"executed_lines": [231, 232, 233, 234, 235], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_header_truthy": {"executed_lines": [239], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_active_fingerprint": {"executed_lines": [243], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_policy_isolation_kinds": {"executed_lines": [251, 252, 254, 255, 257], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [253, 256], "excluded_lines": []}, "_require_high_risk_session": {"executed_lines": [263, 264, 265, 266, 267, 268, 269, 270, 271], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_hydrate_partitioned_entry_if_needed": {"executed_lines": [277, 278, 279, 280, 281, 283, 284, 287, 289], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [282, 285, 286, 288], "excluded_lines": []}, "_job_profile_command": {"executed_lines": [293, 294, 295], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_cron_template": {"executed_lines": [299], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [305, 315, 328], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_template_key_path": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_template_signing_key": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [339, 340, 341, 342, 343], "excluded_lines": []}, "_canonical_json": {"executed_lines": [347], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_template_content": {"executed_lines": [351, 356, 357, 358, 359, 360, 361, 362, 363, 364], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_template_manifest": {"executed_lines": [368, 369, 370, 371, 372, 373, 376, 377], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_job_profile_template_payload": {"executed_lines": [396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [398, 406, 407, 408, 410, 411], "excluded_lines": []}, "_mask_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [446, 447, 448], "excluded_lines": []}, "search_entry": {"executed_lines": [455, 456, 457, 458, 459], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "high_risk_status": {"executed_lines": [476, 477, 478, 479, 480], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "high_risk_unlock": {"executed_lines": [497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523], "summary": {"covered_lines": 16, "num_statements": 25, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [502, 504, 507, 508, 513, 519, 520, 521, 522], "excluded_lines": []}, "high_risk_lock": {"executed_lines": [534, 535, 536, 537, 538, 539, 544], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [540, 541, 542, 543], "excluded_lines": []}, "list_agent_job_profiles": {"executed_lines": [553, 554, 555, 556], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "create_agent_job_profile": {"executed_lines": [565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605], "summary": {"covered_lines": 19, "num_statements": 24, "percent_covered": 79.16666666666667, "percent_covered_display": "79", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [571, 574, 577, 603, 604], "excluded_lines": []}, "revoke_agent_job_profile": {"executed_lines": [614, 615, 616, 618], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [617], "excluded_lines": []}, "run_agent_job_profile": {"executed_lines": [628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686], "summary": {"covered_lines": 27, "num_statements": 32, "percent_covered": 84.375, "percent_covered_display": "84", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [633, 638, 645, 654, 657], "excluded_lines": []}, "template_agent_job_profile": {"executed_lines": [713, 714, 715, 716, 718], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [717], "excluded_lines": []}, "template_agent_job_profile_post": {"executed_lines": [735, 736, 737, 738, 740], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [739], "excluded_lines": []}, "verify_agent_job_profile_template": {"executed_lines": [757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [761, 764, 769], "excluded_lines": []}, "check_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [870, 871, 872, 873, 875, 876, 877, 878, 879, 884], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [874, 882, 883], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [899, 900, 901, 902, 904, 905, 907, 908, 909, 912], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [903, 906, 910, 911], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [931], "excluded_lines": []}, "agent_recovery_drills": {"executed_lines": [951, 952, 953, 954], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_recovery_drills_verify": {"executed_lines": [963, 964, 965, 966, 967], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_entry": {"executed_lines": [977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [983], "excluded_lines": []}, "create_entry": {"executed_lines": [1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129], "summary": {"covered_lines": 30, "num_statements": 49, "percent_covered": 61.224489795918366, "percent_covered_display": "61", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147], "excluded_lines": []}, "update_entry": {"executed_lines": [1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_entry_links": {"executed_lines": [1195, 1196, 1197, 1198, 1199, 1202], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1200, 1201], "excluded_lines": []}, "add_entry_link": {"executed_lines": [1213, 1214, 1215, 1216, 1218, 1219, 1227], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1217, 1225, 1226], "excluded_lines": []}, "remove_entry_link": {"executed_lines": [1238, 1239, 1240, 1241, 1243, 1244, 1251], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1242, 1249, 1250], "excluded_lines": []}, "import_document_entry": {"executed_lines": [1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1267, 1276, 1277, 1278, 1279], "excluded_lines": []}, "export_document_entry": {"executed_lines": [1291, 1292, 1293, 1295, 1296, 1307], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1301, 1302, 1303, 1304, 1305, 1306], "excluded_lines": []}, "archive_entry": {"executed_lines": [1315, 1316, 1317, 1318, 1319], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "unarchive_entry": {"executed_lines": [1327, 1328, 1329, 1330, 1331], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_config": {"executed_lines": [1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1348], "excluded_lines": []}, "update_config": {"executed_lines": [1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1363, 1385], "excluded_lines": []}, "set_secret_mode": {"executed_lines": [1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1404], "excluded_lines": []}, "semantic_status": {"executed_lines": [1417, 1418, 1419], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_build": {"executed_lines": [1426, 1427, 1428], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_rebuild": {"executed_lines": [1435, 1436, 1437], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_search": {"executed_lines": [1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1457], "excluded_lines": []}, "semantic_config": {"executed_lines": [1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1482], "excluded_lines": []}, "list_fingerprints": {"executed_lines": [1495, 1496, 1497], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "add_fingerprint": {"executed_lines": [1505, 1506, 1507, 1508, 1509], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "remove_fingerprint": {"executed_lines": [1517, 1518, 1519, 1520, 1521], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "select_fingerprint": {"executed_lines": [1529, 1530, 1531, 1533, 1535, 1536], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1534], "excluded_lines": []}, "export_totp": {"executed_lines": [1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1566], "excluded_lines": []}, "get_totp_codes": {"executed_lines": [1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_profile_stats": {"executed_lines": [1607, 1608, 1609, 1610], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_notifications": {"executed_lines": [1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_nostr_pubkey": {"executed_lines": [1632, 1633, 1634, 1635], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "list_relays": {"executed_lines": [1641, 1642, 1643, 1644, 1645], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "add_relay": {"executed_lines": [1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1659, 1664], "excluded_lines": []}, "remove_relay": {"executed_lines": [1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1683, 1685], "excluded_lines": []}, "reset_relays": {"executed_lines": [1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "verify_checksum": {"executed_lines": [1713, 1714, 1715, 1716, 1717], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "update_checksum": {"executed_lines": [1725, 1726, 1727, 1728, 1729], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "export_check": {"executed_lines": [1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1745, 1757, 1758], "excluded_lines": []}, "verify_export_manifest": {"executed_lines": [1781, 1782, 1783, 1784], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "export_vault": {"executed_lines": [1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1857, 1858, 1862, 1874], "excluded_lines": []}, "import_vault": {"executed_lines": [1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 88.46153846153847, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1895, 1919, 1931], "excluded_lines": []}, "import_vault._handle_upload": {"executed_lines": [1904, 1905, 1906, 1907, 1908, 1909, 1911], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "backup_parent_seed": {"executed_lines": [1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008], "summary": {"covered_lines": 25, "num_statements": 30, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1973, 1974, 1983, 1992, 1996], "excluded_lines": []}, "change_password": {"executed_lines": [2016, 2017, 2018, 2019, 2021], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "generate_password": {"executed_lines": [2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "lock_vault": {"executed_lines": [2056, 2057, 2058, 2059], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "unlock_vault": {"executed_lines": [2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2071], "excluded_lines": []}, "shutdown_server": {"executed_lines": [2090, 2091, 2093], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 225, 238, 242, 250, 260, 274, 292, 298, 302, 331, 335, 346, 350, 367, 387, 445, 451, 452, 472, 473, 489, 490, 530, 531, 547, 548, 559, 560, 608, 609, 621, 622, 703, 704, 728, 729, 750, 751, 789, 790, 864, 865, 893, 894, 920, 921, 945, 946, 957, 958, 970, 971, 992, 993, 1150, 1151, 1188, 1189, 1205, 1206, 1230, 1231, 1254, 1255, 1283, 1284, 1310, 1311, 1322, 1323, 1334, 1335, 1352, 1353, 1391, 1392, 1413, 1414, 1422, 1423, 1431, 1432, 1440, 1441, 1464, 1465, 1491, 1492, 1500, 1501, 1512, 1513, 1524, 1525, 1539, 1540, 1575, 1576, 1602, 1603, 1613, 1614, 1630, 1631, 1638, 1639, 1648, 1649, 1671, 1672, 1692, 1693, 1708, 1709, 1720, 1721, 1732, 1733, 1776, 1777, 1795, 1796, 1879, 1880, 1938, 1939, 2011, 2012, 2024, 2025, 2051, 2052, 2062, 2063, 2086, 2087], "summary": {"covered_lines": 189, "num_statements": 189, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 83, 84, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 124, 125, 129, 132, 133, 134, 135, 138, 140, 141, 142, 143, 146, 147, 149, 150, 158, 159, 160, 161, 162, 165, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 182, 194, 195, 198, 200, 201, 202, 203, 204, 205, 208, 209, 210, 211, 214, 216, 217, 218, 221, 222, 225, 231, 232, 233, 234, 235, 238, 239, 242, 243, 250, 251, 252, 254, 255, 257, 260, 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, 277, 278, 279, 280, 281, 283, 284, 287, 289, 292, 293, 294, 295, 298, 299, 302, 305, 315, 328, 331, 332, 335, 336, 337, 338, 346, 347, 350, 351, 356, 357, 358, 359, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 376, 377, 387, 396, 397, 399, 400, 401, 402, 403, 404, 405, 412, 416, 426, 427, 431, 432, 437, 438, 439, 440, 441, 442, 445, 451, 452, 455, 456, 457, 458, 459, 472, 473, 476, 477, 478, 479, 480, 489, 490, 497, 498, 499, 500, 501, 503, 505, 506, 509, 510, 511, 512, 514, 517, 518, 523, 530, 531, 534, 535, 536, 537, 538, 539, 544, 547, 548, 553, 554, 555, 556, 559, 560, 565, 566, 567, 568, 569, 570, 572, 573, 575, 576, 578, 579, 580, 581, 582, 583, 584, 585, 605, 608, 609, 614, 615, 616, 618, 621, 622, 628, 629, 630, 631, 632, 635, 636, 637, 640, 641, 642, 643, 644, 647, 648, 649, 650, 652, 653, 655, 656, 673, 674, 675, 676, 677, 686, 703, 704, 713, 714, 715, 716, 718, 728, 729, 735, 736, 737, 738, 740, 750, 751, 757, 758, 759, 760, 762, 763, 765, 766, 767, 768, 770, 771, 772, 779, 780, 781, 789, 790, 864, 865, 870, 871, 872, 873, 875, 876, 877, 878, 879, 884, 893, 894, 899, 900, 901, 902, 904, 905, 907, 908, 909, 912, 920, 921, 926, 927, 928, 929, 930, 932, 933, 934, 935, 936, 942, 945, 946, 951, 952, 953, 954, 957, 958, 963, 964, 965, 966, 967, 970, 971, 977, 978, 979, 980, 981, 982, 984, 985, 986, 987, 988, 989, 992, 993, 1004, 1005, 1006, 1008, 1010, 1011, 1021, 1023, 1034, 1036, 1037, 1038, 1047, 1049, 1054, 1056, 1057, 1062, 1064, 1069, 1071, 1088, 1103, 1115, 1116, 1117, 1122, 1123, 1124, 1129, 1150, 1151, 1162, 1163, 1164, 1165, 1166, 1183, 1184, 1185, 1188, 1189, 1195, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1213, 1214, 1215, 1216, 1218, 1219, 1227, 1230, 1231, 1238, 1239, 1240, 1241, 1243, 1244, 1251, 1254, 1255, 1261, 1262, 1263, 1265, 1266, 1268, 1269, 1280, 1283, 1284, 1291, 1292, 1293, 1295, 1296, 1307, 1310, 1311, 1315, 1316, 1317, 1318, 1319, 1322, 1323, 1327, 1328, 1329, 1330, 1331, 1334, 1335, 1338, 1339, 1340, 1341, 1344, 1345, 1347, 1349, 1352, 1353, 1360, 1361, 1362, 1366, 1367, 1368, 1379, 1381, 1382, 1384, 1387, 1388, 1391, 1392, 1396, 1397, 1398, 1399, 1401, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1413, 1414, 1417, 1418, 1419, 1422, 1423, 1426, 1427, 1428, 1431, 1432, 1435, 1436, 1437, 1440, 1441, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1461, 1464, 1465, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484, 1485, 1491, 1492, 1495, 1496, 1497, 1500, 1501, 1505, 1506, 1507, 1508, 1509, 1512, 1513, 1517, 1518, 1519, 1520, 1521, 1524, 1525, 1529, 1530, 1531, 1533, 1535, 1536, 1539, 1540, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1562, 1570, 1571, 1572, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1589, 1590, 1591, 1592, 1594, 1596, 1599, 1602, 1603, 1607, 1608, 1609, 1610, 1613, 1614, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1630, 1631, 1632, 1633, 1634, 1635, 1638, 1639, 1641, 1642, 1643, 1644, 1645, 1648, 1649, 1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1665, 1666, 1667, 1668, 1671, 1672, 1676, 1677, 1678, 1679, 1680, 1682, 1684, 1686, 1687, 1688, 1689, 1692, 1693, 1697, 1698, 1699, 1700, 1702, 1703, 1704, 1705, 1708, 1709, 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1725, 1726, 1727, 1728, 1729, 1732, 1733, 1740, 1741, 1743, 1744, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1760, 1761, 1762, 1763, 1765, 1776, 1777, 1781, 1782, 1783, 1784, 1795, 1796, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1821, 1832, 1833, 1834, 1835, 1839, 1843, 1844, 1845, 1846, 1850, 1851, 1856, 1863, 1864, 1872, 1873, 1875, 1876, 1879, 1880, 1884, 1885, 1886, 1888, 1890, 1891, 1892, 1894, 1896, 1897, 1898, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1911, 1913, 1915, 1916, 1918, 1921, 1922, 1923, 1928, 1930, 1934, 1935, 1938, 1939, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1966, 1967, 1972, 1985, 1987, 1989, 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2008, 2011, 2012, 2016, 2017, 2018, 2019, 2021, 2024, 2025, 2029, 2030, 2031, 2032, 2034, 2044, 2046, 2047, 2048, 2051, 2052, 2056, 2057, 2058, 2059, 2062, 2063, 2069, 2070, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2086, 2087, 2090, 2091, 2093], "summary": {"covered_lines": 901, "num_statements": 1066, "percent_covered": 84.52157598499062, "percent_covered_display": "85", "missing_lines": 165, "excluded_lines": 0}, "missing_lines": [105, 119, 120, 123, 144, 145, 148, 163, 164, 197, 199, 253, 256, 282, 285, 286, 288, 339, 340, 341, 342, 343, 398, 406, 407, 408, 410, 411, 446, 447, 448, 502, 504, 507, 508, 513, 519, 520, 521, 522, 540, 541, 542, 543, 571, 574, 577, 603, 604, 617, 633, 638, 645, 654, 657, 717, 739, 761, 764, 769, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 813, 814, 815, 824, 825, 826, 827, 836, 837, 838, 839, 840, 841, 842, 843, 844, 852, 853, 854, 874, 882, 883, 903, 906, 910, 911, 931, 983, 1048, 1063, 1072, 1079, 1080, 1081, 1086, 1089, 1094, 1095, 1096, 1101, 1104, 1113, 1131, 1132, 1137, 1145, 1147, 1200, 1201, 1217, 1225, 1226, 1242, 1249, 1250, 1267, 1276, 1277, 1278, 1279, 1301, 1302, 1303, 1304, 1305, 1306, 1348, 1363, 1385, 1404, 1457, 1482, 1534, 1566, 1659, 1664, 1683, 1685, 1745, 1757, 1758, 1857, 1858, 1862, 1874, 1895, 1919, 1931, 1973, 1974, 1983, 1992, 1996, 2071], "excluded_lines": []}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 80, 81, 82, 86, 94, 95, 105, 106, 107, 117, 118, 121, 123, 124, 127, 128, 141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177, 180, 181, 183, 184, 185, 188, 189, 203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247, 250, 251, 253, 254, 257, 258, 271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335, 338], "summary": {"covered_lines": 103, "num_statements": 123, "percent_covered": 83.73983739837398, "percent_covered_display": "84", "missing_lines": 20, "excluded_lines": 4}, "missing_lines": [71, 72, 73, 74, 75, 83, 153, 157, 211, 215, 234, 276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": [117, 118, 338, 339], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75], "excluded_lines": []}, "_gui_backend_available": {"executed_lines": [80, 81, 82], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [83], "excluded_lines": []}, "_prime_tui2_service": {"executed_lines": [94, 95, 105, 106, 107, 117, 118], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [117, 118]}, "_launch_legacy_tui": {"executed_lines": [123, 124], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "main": {"executed_lines": [141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [153, 157], "excluded_lines": []}, "root_lock": {"executed_lines": [183, 184, 185], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "tui2": {"executed_lines": [203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [211, 215, 234], "excluded_lines": []}, "legacy_tui": {"executed_lines": [253, 254], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "gui": {"executed_lines": [271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 86, 121, 127, 128, 180, 181, 188, 189, 250, 251, 257, 258, 338], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [338, 339]}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 78, 80, 81, 82, 86, 94, 95, 105, 106, 107, 117, 118, 121, 123, 124, 127, 128, 141, 147, 148, 149, 151, 152, 159, 170, 171, 173, 177, 180, 181, 183, 184, 185, 188, 189, 203, 204, 205, 207, 208, 209, 210, 216, 220, 222, 233, 236, 237, 241, 243, 247, 250, 251, 253, 254, 257, 258, 271, 272, 273, 275, 282, 283, 284, 286, 287, 292, 294, 300, 305, 306, 317, 326, 333, 335, 338], "summary": {"covered_lines": 103, "num_statements": 123, "percent_covered": 83.73983739837398, "percent_covered_display": "84", "missing_lines": 20, "excluded_lines": 4}, "missing_lines": [71, 72, 73, 74, 75, 83, 153, 157, 211, 215, 234, 276, 280, 297, 298, 318, 319, 324, 327, 331], "excluded_lines": [117, 118, 338, 339]}}}, "src/seedpass/cli/agent.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 194, 196, 199, 211, 220, 222, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380, 383, 384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412, 416, 417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574, 581, 582, 583, 584, 585, 586, 589, 590, 591, 594, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 673, 675, 681, 682, 684, 687, 688, 689, 690, 691, 692, 695, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 743, 746, 754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 883, 884, 887, 888, 889, 891, 892, 893, 894, 896, 899, 906, 907, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1789, 1790, 1793, 1794, 1823, 1830, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1934, 1935, 1939, 1948, 1949, 1968, 1969, 2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2220, 2221, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2532, 2533, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2641, 2642, 2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754, 2757, 2758, 2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3090, 3091, 3101, 3108, 3111, 3112, 3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 1119, "num_statements": 1539, "percent_covered": 72.70955165692008, "percent_covered_display": "73", "missing_lines": 420, "excluded_lines": 2}, "missing_lines": [193, 195, 221, 223, 269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287, 377, 378, 386, 390, 393, 397, 400, 405, 413, 425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522, 566, 569, 570, 571, 575, 576, 577, 578, 592, 593, 595, 670, 674, 676, 683, 693, 694, 696, 742, 758, 760, 763, 767, 771, 776, 777, 778, 796, 822, 823, 855, 859, 862, 864, 865, 866, 880, 890, 895, 908, 909, 910, 911, 912, 913, 914, 928, 929, 934, 935, 936, 937, 938, 940, 941, 1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200, 1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275, 1399, 1479, 1480, 1481, 1482, 1489, 1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1684, 1746, 1747, 1748, 1749, 1750, 1786, 1787, 1788, 1831, 1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897, 1933, 1951, 1952, 1953, 1954, 1955, 1965, 2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2123, 2124, 2128, 2138, 2143, 2144, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2321, 2324, 2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491, 2528, 2529, 2537, 2538, 2539, 2540, 2541, 2542, 2624, 2691, 2743, 2811, 2814, 2842, 2843, 2844, 2845, 2879, 2880, 2881, 3000, 3024, 3039, 3048, 3049, 3087, 3097, 3098, 3099, 3100, 3126, 3127, 3128, 3129, 3131, 3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602, 3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653, 3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828, 3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116, 4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": [408, 409], "functions": {"_utcnow": {"executed_lines": [168], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_policy_path": {"executed_lines": [172], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_token_store_path": {"executed_lines": [176], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [180], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [184], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_ensure_dir": {"executed_lines": [188], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_mask_secret": {"executed_lines": [192, 194, 196], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [193, 195], "excluded_lines": []}, "_automation_job_command": {"executed_lines": [211, 220, 222, 226], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [221, 223], "excluded_lines": []}, "_cron_template": {"executed_lines": [230], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [236, 246, 259], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_resolve_secret_for_kind": {"executed_lines": [265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280], "summary": {"covered_lines": 12, "num_statements": 23, "percent_covered": 52.17391304347826, "percent_covered_display": "52", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287], "excluded_lines": []}, "_deny_all_policy": {"executed_lines": [291, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_normalize_legacy_policy": {"executed_lines": [315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [377, 378], "excluded_lines": []}, "_validate_rule": {"executed_lines": [384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 70.83333333333333, "percent_covered_display": "71", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [386, 390, 393, 397, 400, 405, 413], "excluded_lines": [408, 409]}, "_normalize_policy": {"executed_lines": [417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554], "summary": {"covered_lines": 60, "num_statements": 85, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522], "excluded_lines": []}, "_load_policy": {"executed_lines": [558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574], "summary": {"covered_lines": 11, "num_statements": 19, "percent_covered": 57.89473684210526, "percent_covered_display": "58", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [566, 569, 570, 571, 575, 576, 577, 578], "excluded_lines": []}, "_save_policy": {"executed_lines": [582, 583, 584, 585, 586], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_policy_from_file": {"executed_lines": [590, 591, 594, 596], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [592, 593, 595], "excluded_lines": []}, "_policy_json_lines": {"executed_lines": [600], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_policy_full_hash": {"executed_lines": [604, 607], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_policy_diff_summary": {"executed_lines": [613, 614, 616, 617, 618, 619, 620, 626], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_agent_password": {"executed_lines": [651, 652, 659, 660], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_seed_from_inputs": {"executed_lines": [668, 669, 673, 675, 681, 682, 684], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [670, 674, 676, 683], "excluded_lines": []}, "_load_token_store": {"executed_lines": [688, 689, 690, 691, 692, 695, 697], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [693, 694, 696], "excluded_lines": []}, "_save_token_store": {"executed_lines": [701, 702, 703, 704], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_hash_token": {"executed_lines": [708], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_issue_token_record": {"executed_lines": [720, 721, 722, 723, 736], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_parse_iso8601": {"executed_lines": [740, 741, 743], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [742], "excluded_lines": []}, "_validate_token": {"executed_lines": [754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794], "summary": {"covered_lines": 26, "num_statements": 35, "percent_covered": 74.28571428571429, "percent_covered_display": "74", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [758, 760, 763, 767, 771, 776, 777, 778, 796], "excluded_lines": []}, "_load_audit_key": {"executed_lines": [800, 801, 802, 803, 804, 805, 806, 807], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_append_audit_event": {"executed_lines": [811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [822, 823], "excluded_lines": []}, "_policy_decision": {"executed_lines": [849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879], "summary": {"covered_lines": 22, "num_statements": 29, "percent_covered": 75.86206896551724, "percent_covered_display": "76", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [855, 859, 862, 864, 865, 866, 880], "excluded_lines": []}, "_build_entry_path": {"executed_lines": [884], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_high_risk_lock_required": {"executed_lines": [888, 889, 891, 892, 893, 894, 896], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [890, 895], "excluded_lines": []}, "_hydrate_partition_entry_if_needed": {"executed_lines": [906, 907], "summary": {"covered_lines": 2, "num_statements": 9, "percent_covered": 22.22222222222222, "percent_covered_display": "22", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [908, 909, 910, 911, 912, 913, 914], "excluded_lines": []}, "_token_posture_summary": {"executed_lines": [918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943], "summary": {"covered_lines": 17, "num_statements": 26, "percent_covered": 65.38461538461539, "percent_covered_display": "65", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [928, 929, 934, 935, 936, 937, 938, 940, 941], "excluded_lines": []}, "_severity_rank": {"executed_lines": [953, 954], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_posture_findings": {"executed_lines": [960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218], "summary": {"covered_lines": 82, "num_statements": 102, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200], "excluded_lines": []}, "_runtime_config_findings": {"executed_lines": [1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275], "excluded_lines": []}, "_remediation_actions": {"executed_lines": [1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1399], "excluded_lines": []}, "agent_init": {"executed_lines": [1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523], "summary": {"covered_lines": 29, "num_statements": 34, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1479, 1480, 1481, 1482, 1489], "excluded_lines": []}, "agent_policy_show": {"executed_lines": [1529, 1530, 1531, 1532, 1533], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_policy_lint": {"executed_lines": [1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571], "summary": {"covered_lines": 8, "num_statements": 16, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570], "excluded_lines": []}, "agent_policy_review": {"executed_lines": [1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633], "summary": {"covered_lines": 11, "num_statements": 27, "percent_covered": 40.74074074074074, "percent_covered_display": "41", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632], "excluded_lines": []}, "agent_policy_apply": {"executed_lines": [1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1684], "excluded_lines": []}, "agent_policy_set": {"executed_lines": [1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_identity_create": {"executed_lines": [1739, 1740, 1751, 1760], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1746, 1747, 1748, 1749, 1750], "excluded_lines": []}, "agent_identity_list": {"executed_lines": [1768], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_identity_revoke": {"executed_lines": [1785, 1789, 1790], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1786, 1787, 1788], "excluded_lines": []}, "agent_high_risk_factor_set": {"executed_lines": [1823, 1830, 1832, 1833, 1834], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1831], "excluded_lines": []}, "agent_high_risk_unlock": {"executed_lines": [1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915], "summary": {"covered_lines": 13, "num_statements": 24, "percent_covered": 54.166666666666664, "percent_covered_display": "54", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897], "excluded_lines": []}, "agent_high_risk_lock": {"executed_lines": [1931, 1932, 1934, 1935, 1939], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1933], "excluded_lines": []}, "agent_high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1951, 1952, 1953, 1954, 1955, 1965], "excluded_lines": []}, "agent_high_risk_partition_migrate": {"executed_lines": [2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075], "summary": {"covered_lines": 13, "num_statements": 21, "percent_covered": 61.904761904761905, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050], "excluded_lines": []}, "agent_token_issue": {"executed_lines": [2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2123, 2124, 2128, 2138, 2143, 2144], "excluded_lines": []}, "agent_token_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2198, 2199, 2200, 2201, 2202, 2203, 2217], "excluded_lines": []}, "agent_token_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242], "excluded_lines": []}, "agent_approval_issue": {"executed_lines": [2280, 2287, 2297], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_approval_list": {"executed_lines": [2305, 2306], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_approval_revoke": {"executed_lines": [2320, 2325, 2326], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2321, 2324], "excluded_lines": []}, "agent_lease_consume": {"executed_lines": [2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520], "summary": {"covered_lines": 38, "num_statements": 70, "percent_covered": 54.285714285714285, "percent_covered_display": "54", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491], "excluded_lines": []}, "agent_lease_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2528, 2529], "excluded_lines": []}, "agent_lease_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2537, 2538, 2539, 2540, 2541, 2542], "excluded_lines": []}, "agent_job_run": {"executed_lines": [2614, 2615, 2616, 2621, 2622], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2624], "excluded_lines": []}, "agent_job_template": {"executed_lines": [2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754], "summary": {"covered_lines": 19, "num_statements": 21, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2691, 2743], "excluded_lines": []}, "agent_job_profile_create": {"executed_lines": [2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857], "summary": {"covered_lines": 14, "num_statements": 20, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2811, 2814, 2842, 2843, 2844, 2845], "excluded_lines": []}, "agent_job_profile_list": {"executed_lines": [2867, 2868], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_job_profile_revoke": {"executed_lines": [2878, 2882, 2883], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2879, 2880, 2881], "excluded_lines": []}, "agent_job_profile_run": {"executed_lines": [2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_job_profile_check": {"executed_lines": [2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 82.75862068965517, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3000, 3024, 3039, 3048, 3049], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [3085, 3086, 3090, 3091, 3101, 3108], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3087, 3097, 3098, 3099, 3100], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 68.75, "percent_covered_display": "69", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3126, 3127, 3128, 3129, 3131], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [3169, 3170, 3176, 3177, 3178], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_recovery_drill_list": {"executed_lines": [3186, 3187], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_bootstrap_context": {"executed_lines": [3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "agent_posture_check": {"executed_lines": [3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439], "summary": {"covered_lines": 33, "num_statements": 44, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434], "excluded_lines": []}, "agent_posture_remediate": {"executed_lines": [3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544], "summary": {"covered_lines": 22, "num_statements": 33, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520], "excluded_lines": []}, "agent_export_check": {"executed_lines": [3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618], "summary": {"covered_lines": 18, "num_statements": 27, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602], "excluded_lines": []}, "agent_export_manifest_verify": {"executed_lines": [3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672], "summary": {"covered_lines": 12, "num_statements": 20, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653], "excluded_lines": []}, "agent_document_import": {"executed_lines": [3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855], "summary": {"covered_lines": 25, "num_statements": 46, "percent_covered": 54.34782608695652, "percent_covered_display": "54", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828], "excluded_lines": []}, "agent_document_export": {"executed_lines": [3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142], "summary": {"covered_lines": 33, "num_statements": 82, "percent_covered": 40.24390243902439, "percent_covered_display": "40", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116], "excluded_lines": []}, "agent_get": {"executed_lines": [4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 80, "num_statements": 96, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 171, 175, 179, 183, 187, 191, 199, 229, 233, 262, 290, 313, 383, 416, 557, 581, 589, 599, 603, 610, 643, 663, 687, 700, 707, 711, 739, 746, 799, 810, 840, 883, 887, 899, 917, 952, 957, 1221, 1280, 1415, 1416, 1526, 1527, 1536, 1537, 1574, 1575, 1636, 1637, 1688, 1689, 1727, 1728, 1763, 1764, 1780, 1781, 1793, 1794, 1837, 1838, 1928, 1929, 1948, 1949, 1968, 1969, 2078, 2079, 2193, 2194, 2220, 2221, 2245, 2246, 2300, 2301, 2315, 2316, 2329, 2330, 2523, 2524, 2532, 2533, 2547, 2548, 2641, 2642, 2757, 2758, 2862, 2863, 2873, 2874, 2886, 2887, 2976, 2977, 3064, 3065, 3111, 3112, 3147, 3148, 3181, 3182, 3196, 3197, 3316, 3317, 3442, 3443, 3547, 3548, 3621, 3622, 3675, 3676, 3858, 3859, 4145, 4146], "summary": {"covered_lines": 166, "num_statements": 166, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 194, 196, 199, 211, 220, 222, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 270, 271, 272, 274, 276, 278, 279, 280, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 379, 380, 383, 384, 385, 388, 389, 391, 392, 395, 396, 398, 399, 402, 403, 404, 406, 407, 411, 412, 416, 417, 418, 420, 421, 423, 424, 427, 428, 430, 432, 433, 436, 437, 438, 440, 441, 452, 454, 455, 457, 458, 459, 460, 461, 462, 463, 465, 466, 470, 473, 477, 478, 479, 480, 481, 484, 486, 487, 491, 494, 498, 499, 500, 501, 502, 505, 510, 514, 520, 521, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 568, 573, 574, 581, 582, 583, 584, 585, 586, 589, 590, 591, 594, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 673, 675, 681, 682, 684, 687, 688, 689, 690, 691, 692, 695, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 743, 746, 754, 755, 756, 757, 759, 761, 762, 765, 766, 769, 770, 773, 774, 775, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 856, 857, 858, 860, 861, 863, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 883, 884, 887, 888, 889, 891, 892, 893, 894, 896, 899, 906, 907, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, 933, 939, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1077, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1136, 1139, 1140, 1142, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1157, 1158, 1159, 1172, 1173, 1181, 1190, 1199, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1227, 1228, 1229, 1240, 1241, 1244, 1245, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1486, 1487, 1488, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1553, 1554, 1555, 1556, 1557, 1564, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1789, 1790, 1793, 1794, 1823, 1830, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1877, 1881, 1888, 1892, 1893, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1934, 1935, 1939, 1948, 1949, 1968, 1969, 2023, 2024, 2027, 2034, 2041, 2045, 2046, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2126, 2127, 2130, 2131, 2137, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2220, 2221, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2382, 2392, 2400, 2401, 2402, 2403, 2404, 2408, 2409, 2410, 2421, 2422, 2423, 2429, 2430, 2438, 2451, 2466, 2467, 2468, 2483, 2484, 2486, 2487, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2532, 2533, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2641, 2642, 2689, 2690, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2745, 2754, 2757, 2758, 2809, 2810, 2812, 2813, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3009, 3010, 3011, 3021, 3022, 3023, 3034, 3035, 3036, 3037, 3038, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3090, 3091, 3101, 3108, 3111, 3112, 3124, 3125, 3130, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3646, 3647, 3648, 3649, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3721, 3728, 3730, 3731, 3732, 3742, 3761, 3762, 3781, 3782, 3783, 3790, 3809, 3810, 3811, 3812, 3819, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3912, 3914, 3917, 3924, 3926, 3927, 3928, 3938, 3955, 3956, 3973, 3974, 3975, 4005, 4006, 4010, 4011, 4012, 4023, 4024, 4025, 4032, 4053, 4106, 4107, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4423, 4424, 4425, 4426, 4435, 4447, 4450, 4463, 4464, 4466, 4467, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "summary": {"covered_lines": 1119, "num_statements": 1539, "percent_covered": 72.70955165692008, "percent_covered_display": "73", "missing_lines": 420, "excluded_lines": 2}, "missing_lines": [193, 195, 221, 223, 269, 273, 275, 277, 281, 282, 283, 284, 285, 286, 287, 377, 378, 386, 390, 393, 397, 400, 405, 413, 425, 429, 434, 439, 456, 467, 468, 469, 474, 475, 476, 482, 483, 488, 489, 490, 495, 496, 497, 503, 504, 511, 512, 513, 522, 566, 569, 570, 571, 575, 576, 577, 578, 592, 593, 595, 670, 674, 676, 683, 693, 694, 696, 742, 758, 760, 763, 767, 771, 776, 777, 778, 796, 822, 823, 855, 859, 862, 864, 865, 866, 880, 890, 895, 908, 909, 910, 911, 912, 913, 914, 928, 929, 934, 935, 936, 937, 938, 940, 941, 1046, 1069, 1078, 1111, 1122, 1130, 1131, 1135, 1137, 1141, 1143, 1154, 1155, 1160, 1168, 1169, 1170, 1182, 1191, 1200, 1225, 1237, 1238, 1242, 1243, 1246, 1247, 1274, 1275, 1399, 1479, 1480, 1481, 1482, 1489, 1550, 1551, 1565, 1566, 1567, 1568, 1569, 1570, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1684, 1746, 1747, 1748, 1749, 1750, 1786, 1787, 1788, 1831, 1876, 1878, 1879, 1880, 1889, 1890, 1891, 1894, 1895, 1896, 1897, 1933, 1951, 1952, 1953, 1954, 1955, 1965, 2025, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2123, 2124, 2128, 2138, 2143, 2144, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2321, 2324, 2375, 2380, 2381, 2383, 2389, 2390, 2405, 2406, 2407, 2411, 2418, 2419, 2424, 2425, 2426, 2427, 2439, 2448, 2449, 2452, 2453, 2454, 2463, 2464, 2471, 2472, 2481, 2482, 2488, 2489, 2490, 2491, 2528, 2529, 2537, 2538, 2539, 2540, 2541, 2542, 2624, 2691, 2743, 2811, 2814, 2842, 2843, 2844, 2845, 2879, 2880, 2881, 3000, 3024, 3039, 3048, 3049, 3087, 3097, 3098, 3099, 3100, 3126, 3127, 3128, 3129, 3131, 3401, 3402, 3403, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3490, 3491, 3492, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3571, 3572, 3579, 3580, 3590, 3591, 3594, 3601, 3602, 3635, 3636, 3643, 3644, 3650, 3651, 3652, 3653, 3720, 3733, 3734, 3739, 3740, 3743, 3749, 3758, 3759, 3763, 3769, 3778, 3779, 3791, 3797, 3806, 3807, 3820, 3821, 3827, 3828, 3911, 3913, 3915, 3929, 3930, 3935, 3936, 3939, 3944, 3952, 3953, 3957, 3962, 3970, 3971, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4007, 4008, 4009, 4013, 4020, 4021, 4033, 4040, 4050, 4051, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4108, 4109, 4115, 4116, 4268, 4327, 4328, 4335, 4336, 4399, 4400, 4408, 4420, 4421, 4448, 4449, 4468, 4469, 4470, 4471], "excluded_lines": [408, 409]}}}, "src/seedpass/cli/api.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 63, 66, 67, 76, 77, 80, 83, 84], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 2}, "missing_lines": [61, 74, 75, 90, 92, 93], "excluded_lines": [98, 99], "functions": {"api_start": {"executed_lines": [58, 59, 60, 63, 66, 67, 76, 77, 80], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [61, 74, 75], "excluded_lines": []}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [90, 92, 93], "excluded_lines": [98, 99]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 83, 84], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 63, 66, 67, 76, 77, 80, 83, 84], "summary": {"covered_lines": 21, "num_statements": 27, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 6, "excluded_lines": 2}, "missing_lines": [61, 74, 75, 90, 92, 93], "excluded_lines": [98, 99]}}}, "src/seedpass/cli/capabilities.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 12, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 321, 322, 323, 332], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"build_capabilities": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "emit_capabilities": {"executed_lines": [280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "register_capabilities_command": {"executed_lines": [323], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "register_capabilities_command.capabilities_command": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 279, 321, 322], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 10, 12, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 298, 299, 302, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 321, 322, 323, 332], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/cli/common.py": {"executed_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 32, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [25, 26, 27, 29, 30, 32, 34], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "_get_services": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_entry_service": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_config_service": {"executed_lines": [52, 53], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_util_service": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_nostr_service": {"executed_lines": [62, 63], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 32, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/seedpass/cli/config.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 54, "num_statements": 62, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 8, "excluded_lines": 15}, "missing_lines": [16, 69, 78, 79, 80, 81, 82, 113], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [13, 14, 15, 18], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "config_set": {"executed_lines": [24, 26, 27, 32, 33, 34, 35, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [36, 37, 38]}, "config_toggle_secret_mode": {"executed_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91], "summary": {"covered_lines": 18, "num_statements": 24, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 6, "excluded_lines": 6}, "missing_lines": [69, 78, 79, 80, 81, 82], "excluded_lines": [54, 55, 56, 86, 87, 88]}, "config_toggle_offline": {"executed_lines": [97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 6}, "missing_lines": [113], "excluded_lines": [100, 101, 102, 119, 120, 121]}, "": {"executed_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 71, 74, 75, 76, 77, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 114, 115, 117, 118, 123, 124], "summary": {"covered_lines": 54, "num_statements": 62, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 8, "excluded_lines": 15}, "missing_lines": [16, 69, 78, 79, 80, 81, 82, 113], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121]}}}, "src/seedpass/cli/entry.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 50, 52, 55, 56, 68, 69, 70, 71, 74, 75, 76, 78, 80, 83, 84, 86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 428, 431, 432, 440, 441, 442, 446, 449, 450, 459, 460, 461, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 179, "num_statements": 220, "percent_covered": 81.36363636363636, "percent_covered_display": "81", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [49, 51, 72, 73, 77, 79, 90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115, 386, 387, 388, 389, 390, 391, 392, 393, 394, 425, 426, 427, 443, 444, 445, 462, 463, 464, 517], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [38, 39, 44, 45, 46, 47, 48, 50, 52], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [49, 51], "excluded_lines": []}, "entry_search": {"executed_lines": [68, 69, 70, 71, 74, 75, 76, 78, 80], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [72, 73, 77, 79], "excluded_lines": []}, "entry_get": {"executed_lines": [86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122], "summary": {"covered_lines": 15, "num_statements": 31, "percent_covered": 48.38709677419355, "percent_covered_display": "48", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115], "excluded_lines": []}, "entry_add": {"executed_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_totp": {"executed_lines": [190, 191, 199], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_ssh": {"executed_lines": [210, 211, 216], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_pgp": {"executed_lines": [229, 230, 237], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_nostr": {"executed_lines": [248, 249, 254], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_seed": {"executed_lines": [266, 267, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_key_value": {"executed_lines": [285, 286, 287], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_managed_account": {"executed_lines": [298, 299, 304], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_add_document": {"executed_lines": [316, 317, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_import_document": {"executed_lines": [334, 335, 336], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_export_document": {"executed_lines": [351, 352, 353], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_modify": {"executed_lines": [383, 384, 385, 395, 396, 410, 411, 412, 413], "summary": {"covered_lines": 9, "num_statements": 18, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 393, 394], "excluded_lines": []}, "entry_links": {"executed_lines": [422, 423, 424, 428], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [425, 426, 427], "excluded_lines": []}, "entry_link_add": {"executed_lines": [440, 441, 442, 446], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [443, 444, 445], "excluded_lines": []}, "entry_link_remove": {"executed_lines": [459, 460, 461, 465], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [462, 463, 464], "excluded_lines": []}, "entry_archive": {"executed_lines": [471, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_unarchive": {"executed_lines": [479, 480, 481], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_totp_codes": {"executed_lines": [487, 488], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "entry_export_totp": {"executed_lines": [502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [517], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 55, 56, 83, 84, 125, 126, 177, 178, 202, 203, 219, 220, 240, 241, 257, 258, 276, 277, 290, 291, 307, 308, 326, 327, 339, 340, 356, 357, 416, 417, 431, 432, 449, 450, 468, 469, 476, 477, 484, 485, 491, 492], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 50, 52, 55, 56, 68, 69, 70, 71, 74, 75, 76, 78, 80, 83, 84, 86, 87, 88, 89, 92, 101, 102, 103, 104, 105, 106, 107, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 428, 431, 432, 440, 441, 442, 446, 449, 450, 459, 460, 461, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 525, 526, 527, 528], "summary": {"covered_lines": 179, "num_statements": 220, "percent_covered": 81.36363636363636, "percent_covered_display": "81", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [49, 51, 72, 73, 77, 79, 90, 91, 93, 94, 95, 96, 97, 98, 99, 108, 109, 110, 111, 112, 114, 115, 386, 387, 388, 389, 390, 391, 392, 393, 394, 425, 426, 427, 443, 444, 445, 462, 463, 464, 517], "excluded_lines": []}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [13, 14, 15], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "fingerprint_add": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "fingerprint_remove": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "fingerprint_switch": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 6}, "missing_lines": [25], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "nostr_get_pubkey": {"executed_lines": [31, 32, 33], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "nostr_list_relays": {"executed_lines": [39, 40, 41, 42], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "nostr_add_relay": {"executed_lines": [48, 49, 50, 54], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [51, 52, 53]}, "nostr_remove_relay": {"executed_lines": [60, 61, 62, 66], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [63, 64, 65]}, "": {"executed_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 6}, "missing_lines": [25], "excluded_lines": [51, 52, 53, 63, 64, 65]}}}, "src/seedpass/cli/semantic.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 24, 25, 26, 29, 30, 32, 33, 34, 39, 40, 42, 43, 44, 49, 50, 52, 53, 54, 59, 60, 62, 63, 64, 69, 70, 89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 63, "num_statements": 68, "percent_covered": 92.6470588235294, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [18, 95, 96, 126, 127], "excluded_lines": [], "functions": {"_get_semantic_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [18], "excluded_lines": []}, "semantic_status": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_enable": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_disable": {"executed_lines": [42, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_build": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_rebuild": {"executed_lines": [62, 63, 64], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "semantic_search": {"executed_lines": [89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [95, 96], "excluded_lines": []}, "semantic_config": {"executed_lines": [125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [126, 127], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 29, 30, 39, 40, 49, 50, 59, 60, 69, 70, 108, 109], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 17, 21, 22, 24, 25, 26, 29, 30, 32, 33, 34, 39, 40, 42, 43, 44, 49, 50, 52, 53, 54, 59, 60, 62, 63, 64, 69, 70, 89, 90, 91, 92, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 125, 128, 129, 130, 131, 132, 133, 134], "summary": {"covered_lines": 63, "num_statements": 68, "percent_covered": 92.6470588235294, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [18, 95, 96, 126, 127], "excluded_lines": []}}}, "src/seedpass/cli/util.py": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "verify_checksum": {"executed_lines": [64, 65], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "update_checksum": {"executed_lines": [71, 72], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/cli/vault.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 40, 42, 43, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 115, "num_statements": 135, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 20, "excluded_lines": 6}, "missing_lines": [39, 41, 44, 77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166, 246, 247, 323, 324, 333, 334], "excluded_lines": [193, 194, 195, 250, 251, 252], "functions": {"_isolation_required_for_kind": {"executed_lines": [37, 38, 40, 42, 43, 45], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [39, 41, 44], "excluded_lines": []}, "vault_export": {"executed_lines": [69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169], "summary": {"covered_lines": 35, "num_statements": 46, "percent_covered": 76.08695652173913, "percent_covered_display": "76", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166], "excluded_lines": []}, "vault_import": {"executed_lines": [177, 178, 179, 180], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "vault_change_password": {"executed_lines": [186, 187, 188, 189, 190, 196], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [193, 194, 195]}, "vault_unlock": {"executed_lines": [232, 234, 235, 237, 238, 239, 248, 249, 253, 254], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [246, 247], "excluded_lines": [250, 251, 252]}, "vault_lock": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "vault_stats": {"executed_lines": [270, 271, 272], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "vault_reveal_parent_seed": {"executed_lines": [293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 21, "num_statements": 25, "percent_covered": 84.0, "percent_covered_display": "84", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [323, 324, 333, 334], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 48, 49, 172, 173, 183, 184, 199, 200, 259, 260, 267, 268, 275, 276], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 40, 42, 43, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 147, 157, 159, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 335, 336, 339, 340], "summary": {"covered_lines": 115, "num_statements": 135, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 20, "excluded_lines": 6}, "missing_lines": [39, 41, 44, 77, 80, 135, 136, 145, 146, 160, 161, 162, 163, 166, 246, 247, 323, 324, 333, 334], "excluded_lines": [193, 194, 195, 250, 251, 252]}}}, "src/seedpass/core/__init__.py": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}, "": {"executed_lines": [3, 5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}}}, "src/seedpass/core/agent_approval.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 37, 38, 39, 40, 43, 45, 48, 49, 50, 51, 52, 55, 63, 64, 65, 66, 76, 77, 78, 81, 82, 83, 85, 86, 88, 89, 92, 93, 94, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 78, "num_statements": 92, "percent_covered": 84.78260869565217, "percent_covered_display": "85", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [31, 41, 42, 44, 84, 87, 95, 123, 125, 127, 130, 133, 136, 140], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_parse_iso": {"executed_lines": [29, 30, 32], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "_load_store": {"executed_lines": [36, 37, 38, 39, 40, 43, 45], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [41, 42, 44], "excluded_lines": []}, "_save_store": {"executed_lines": [49, 50, 51, 52], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "issue_approval": {"executed_lines": [63, 64, 65, 66, 76, 77, 78], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "approval_required": {"executed_lines": [82, 83, 85, 86, 88, 89], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [84, 87], "excluded_lines": []}, "list_approvals": {"executed_lines": [93, 94, 96], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [95], "excluded_lines": []}, "revoke_approval": {"executed_lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "consume_approval": {"executed_lines": [119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 15, "num_statements": 22, "percent_covered": 68.18181818181819, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [123, 125, 127, 130, 133, 136, 140], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 37, 38, 39, 40, 43, 45, 48, 49, 50, 51, 52, 55, 63, 64, 65, 66, 76, 77, 78, 81, 82, 83, 85, 86, 88, 89, 92, 93, 94, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 119, 120, 121, 122, 124, 126, 128, 129, 131, 132, 134, 135, 137, 138, 139], "summary": {"covered_lines": 78, "num_statements": 92, "percent_covered": 84.78260869565217, "percent_covered_display": "85", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [31, 41, 42, 44, 84, 87, 95, 123, 125, 127, 130, 133, 136, 140], "excluded_lines": []}}}, "src/seedpass/core/agent_export_policy.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 57, 58, 61, 62, 65, 66, 69, 70, 71, 73, 74, 75, 76, 77, 80, 81, 82, 83, 94, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185, 188, 189, 195, 196, 197, 199, 202, 203, 206, 207, 208, 209, 212, 213, 214, 215, 218, 237, 238, 260, 261, 264, 265, 268, 269, 270, 275, 276, 277, 278, 282, 285, 287, 290, 291, 292, 293, 296, 297, 300, 303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342, 349, 353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 190, "num_statements": 245, "percent_covered": 77.55102040816327, "percent_covered_display": "78", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [72, 84, 85, 86, 87, 88, 89, 90, 91, 121, 122, 124, 167, 177, 198, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 271, 272, 279, 280, 294, 309, 315, 316, 355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": [], "functions": {"_policy_path": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_ensure_parent": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [66], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_or_create_audit_key": {"executed_lines": [70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [72], "excluded_lines": []}, "_previous_signature": {"executed_lines": [81, 82, 83], "summary": {"covered_lines": 3, "num_statements": 11, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "record_export_policy_event": {"executed_lines": [96, 97, 98, 104, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "load_export_policy": {"executed_lines": [116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185], "summary": {"covered_lines": 31, "num_statements": 36, "percent_covered": 86.11111111111111, "percent_covered_display": "86", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [121, 122, 124, 167, 177], "excluded_lines": []}, "full_export_allowed": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "allowed_kinds": {"executed_lines": [196, 197, 199], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [198], "excluded_lines": []}, "kind_export_allowed": {"executed_lines": [203], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "evaluate_full_export": {"executed_lines": [207, 208, 209], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "evaluate_kind_export": {"executed_lines": [213, 214, 215], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "filter_index_for_allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": []}, "_policy_stamp": {"executed_lines": [238, 260, 261], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_canonical_json": {"executed_lines": [265], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_safe_int": {"executed_lines": [269, 270], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [271, 272], "excluded_lines": []}, "_sorted_index_keys": {"executed_lines": [276, 282], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_sorted_index_keys._key": {"executed_lines": [277, 278], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [279, 280], "excluded_lines": []}, "compute_policy_stamp": {"executed_lines": [287], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_redacted_copy": {"executed_lines": [291, 292, 293, 296, 297], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [294], "excluded_lines": []}, "build_policy_filtered_export_package": {"executed_lines": [303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342], "summary": {"covered_lines": 17, "num_statements": 20, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [309, 315, 316], "excluded_lines": []}, "verify_filtered_export_package": {"executed_lines": [353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 48, "num_statements": 69, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 57, 58, 61, 62, 65, 66, 69, 70, 71, 73, 74, 75, 76, 77, 80, 81, 82, 83, 94, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 123, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 170, 176, 180, 185, 188, 189, 195, 196, 197, 199, 202, 203, 206, 207, 208, 209, 212, 213, 214, 215, 218, 237, 238, 260, 261, 264, 265, 268, 269, 270, 275, 276, 277, 278, 282, 285, 287, 290, 291, 292, 293, 296, 297, 300, 303, 304, 307, 308, 311, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 327, 342, 349, 353, 354, 356, 357, 359, 361, 362, 364, 365, 369, 370, 371, 373, 374, 377, 378, 379, 382, 383, 386, 387, 390, 391, 394, 395, 396, 398, 399, 402, 405, 408, 411, 412, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 430, 431, 436, 437, 439], "summary": {"covered_lines": 190, "num_statements": 245, "percent_covered": 77.55102040816327, "percent_covered_display": "78", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [72, 84, 85, 86, 87, 88, 89, 90, 91, 121, 122, 124, 167, 177, 198, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 271, 272, 279, 280, 294, 309, 315, 316, 355, 358, 360, 363, 366, 367, 375, 376, 380, 384, 388, 392, 393, 400, 401, 406, 413, 419, 420, 427, 428], "excluded_lines": []}}}, "src/seedpass/core/agent_identity.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 60, 63, 70, 71, 73, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 131], "summary": {"covered_lines": 72, "num_statements": 81, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [32, 33, 35, 56, 72, 74, 102, 113, 130], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_empty_store": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_store": {"executed_lines": [27, 28, 29, 30, 31, 34, 36], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [32, 33, 35], "excluded_lines": []}, "_save_store": {"executed_lines": [40, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "list_identities": {"executed_lines": [47, 48, 49, 50], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "get_identity": {"executed_lines": [54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [56], "excluded_lines": []}, "create_identity": {"executed_lines": [70, 71, 73, 76, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [72, 74], "excluded_lines": []}, "ensure_identity": {"executed_lines": [99, 100, 101], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [102], "excluded_lines": []}, "revoke_identity": {"executed_lines": [111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [113], "excluded_lines": []}, "identity_active": {"executed_lines": [128, 129, 131], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [130], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 92, 110, 127], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 60, 63, 70, 71, 73, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 131], "summary": {"covered_lines": 72, "num_statements": 81, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [32, 33, 35, 56, 72, 74, 102, 113, 130], "excluded_lines": []}}}, "src/seedpass/core/agent_job.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 50, 53, 54, 55, 57, 58, 59, 60, 63, 82, 83, 85, 87, 107, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 63, "num_statements": 71, "percent_covered": 88.73239436619718, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [32, 33, 35, 49, 56, 84, 86, 118], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_empty_store": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_store": {"executed_lines": [27, 28, 29, 30, 31, 34, 36], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [32, 33, 35], "excluded_lines": []}, "_save_store": {"executed_lines": [40, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "list_job_profiles": {"executed_lines": [47, 48, 50], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "get_job_profile": {"executed_lines": [54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [56], "excluded_lines": []}, "create_job_profile": {"executed_lines": [82, 83, 85, 87, 107, 108, 109, 110, 111, 112], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [84, 86], "excluded_lines": []}, "revoke_job_profile": {"executed_lines": [116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [118], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 34, 36, 39, 40, 41, 42, 43, 46, 47, 48, 50, 53, 54, 55, 57, 58, 59, 60, 63, 82, 83, 85, 87, 107, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "summary": {"covered_lines": 63, "num_statements": 71, "percent_covered": 88.73239436619718, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [32, 33, 35, 49, 56, 84, 86, 118], "excluded_lines": []}}}, "src/seedpass/core/agent_recovery.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 23, 24, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66, 75, 78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152, 155, 156, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 177, 178, 180, 181, 184, 187, 194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 252, 255, 256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 182, "num_statements": 214, "percent_covered": 85.04672897196262, "percent_covered_display": "85", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [46, 52, 53, 57, 59, 64, 80, 82, 84, 86, 110, 119, 121, 123, 126, 150, 179, 182, 183, 200, 242, 248, 249, 258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": [], "functions": {"_utcnow_iso": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_mod_inv": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_coef": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_poly_eval_at_x": {"executed_lines": [35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_parse_share_token": {"executed_lines": [44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66], "summary": {"covered_lines": 17, "num_statements": 23, "percent_covered": 73.91304347826087, "percent_covered_display": "74", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [46, 52, 53, 57, 59, 64], "excluded_lines": []}, "split_secret": {"executed_lines": [78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105], "summary": {"covered_lines": 18, "num_statements": 22, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [80, 82, 84, 86], "excluded_lines": []}, "recover_secret": {"executed_lines": [109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152], "summary": {"covered_lines": 37, "num_statements": 43, "percent_covered": 86.04651162790698, "percent_covered_display": "86", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [110, 119, 121, 123, 126, 150], "excluded_lines": []}, "_drill_key_path": {"executed_lines": [156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_drill_log_path": {"executed_lines": [160], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_drill_key": {"executed_lines": [164, 165, 166, 167, 168, 169, 170, 171], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_latest_drill_sig": {"executed_lines": [175, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [179, 182, 183], "excluded_lines": []}, "record_recovery_drill": {"executed_lines": [194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [200], "excluded_lines": []}, "list_recovery_drills": {"executed_lines": [240, 241, 243, 244, 245, 246, 247, 250, 251, 252], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [242, 248, 249], "excluded_lines": []}, "verify_recovery_drills": {"executed_lines": [256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 25, "num_statements": 34, "percent_covered": 73.52941176470588, "percent_covered_display": "74", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 20, 23, 24, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 62, 63, 65, 66, 75, 78, 79, 81, 83, 85, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 151, 152, 155, 156, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 177, 178, 180, 181, 184, 187, 194, 195, 196, 197, 198, 199, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 252, 255, 256, 257, 259, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 274, 277, 278, 281, 282, 283, 284, 287, 288, 289, 290, 291], "summary": {"covered_lines": 182, "num_statements": 214, "percent_covered": 85.04672897196262, "percent_covered_display": "85", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [46, 52, 53, 57, 59, 64, 80, 82, 84, 86, 110, 119, 121, 123, 126, 150, 179, 182, 183, 200, 242, 248, 249, 258, 261, 271, 272, 273, 275, 276, 279, 280], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_isolation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 22, 25, 26, 29, 30, 33, 34, 37, 38, 41, 42, 43, 45, 48, 49, 52, 53, 54, 55, 56, 57, 60, 62, 65, 66, 67, 68, 69, 72, 73, 76, 77, 80, 81, 88, 91, 92, 93, 94, 95, 104, 105, 106, 108, 109, 112, 114, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 133, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 149, 150, 151, 152, 153, 154, 157, 158, 159, 160, 161, 162, 176, 177, 178, 180, 183, 186, 187, 193, 194, 195, 200, 201, 202, 203, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229, 232, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 247, 265, 266, 267], "summary": {"covered_lines": 143, "num_statements": 185, "percent_covered": 77.29729729729729, "percent_covered_display": "77", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [44, 58, 59, 61, 107, 110, 111, 113, 119, 124, 129, 130, 163, 164, 167, 168, 169, 170, 171, 172, 173, 179, 217, 218, 220, 225, 226, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": [], "functions": {"_factor_hash_path": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_partition_envelope_path": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_session_store_path": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_session_lock_path": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_parse_iso": {"executed_lines": [42, 43, 45], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [44], "excluded_lines": []}, "_empty_store": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_session_store_unlocked": {"executed_lines": [53, 54, 55, 56, 57, 60, 62], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [58, 59, 61], "excluded_lines": []}, "_save_session_store_unlocked": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_factor_hash": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_partition_key_tag": {"executed_lines": [77], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_derive_wrapping_key": {"executed_lines": [81, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_envelope": {"executed_lines": [92, 93, 94, 95], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_partition_envelope": {"executed_lines": [105, 106, 108, 109, 112, 114], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [107, 110, 111, 113], "excluded_lines": []}, "_unwrap_partition_key": {"executed_lines": [118, 120, 121, 122, 123, 125, 126, 127, 128], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [119, 124, 129, 130], "excluded_lines": []}, "set_high_risk_factor": {"executed_lines": [134, 135, 138, 139, 140, 142, 143, 144, 145, 146], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "high_risk_factor_configured": {"executed_lines": [150, 151, 152, 153, 154], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "verify_high_risk_factor": {"executed_lines": [158, 159, 160, 161, 162], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [163, 164, 167, 168, 169, 170, 171, 172, 173], "excluded_lines": []}, "unwrap_high_risk_partition_key": {"executed_lines": [177, 178, 180], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [179], "excluded_lines": []}, "grant_high_risk_unlock": {"executed_lines": [186, 187, 193, 194, 195, 200, 201, 202, 203], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "high_risk_unlocked": {"executed_lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [217, 218, 220, 225, 226], "excluded_lines": []}, "revoke_high_risk_unlock": {"executed_lines": [233, 234, 235, 236, 237, 240, 241, 242, 243, 244], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "unlocked_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": []}, "partition_key_tag_for_factor": {"executed_lines": [266, 267], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 22, 25, 26, 29, 30, 33, 34, 37, 38, 41, 42, 43, 45, 48, 49, 52, 53, 54, 55, 56, 57, 60, 62, 65, 66, 67, 68, 69, 72, 73, 76, 77, 80, 81, 88, 91, 92, 93, 94, 95, 104, 105, 106, 108, 109, 112, 114, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 133, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 149, 150, 151, 152, 153, 154, 157, 158, 159, 160, 161, 162, 176, 177, 178, 180, 183, 186, 187, 193, 194, 195, 200, 201, 202, 203, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 221, 222, 223, 224, 227, 228, 229, 232, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 247, 265, 266, 267], "summary": {"covered_lines": 143, "num_statements": 185, "percent_covered": 77.29729729729729, "percent_covered_display": "77", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [44, 58, 59, 61, 107, 110, 111, 113, 119, 124, 129, 130, 163, 164, 167, 168, 169, 170, 171, 172, 173, 179, 217, 218, 220, 225, 226, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_lease.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 17, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 39, 40, 41, 42, 43, 44, 47, 49, 52, 53, 54, 55, 56, 59, 69, 70, 83, 84, 85, 86, 87, 88, 89, 92, 100, 114, 119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 63, "num_statements": 88, "percent_covered": 71.5909090909091, "percent_covered_display": "72", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [31, 45, 46, 48, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 124, 126, 128, 131, 138], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_lock_path": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_utcnow": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_parse_iso": {"executed_lines": [29, 30, 32], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "_empty_store": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_load_store_unlocked": {"executed_lines": [40, 41, 42, 43, 44, 47, 49], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [45, 46, 48], "excluded_lines": []}, "_save_store_unlocked": {"executed_lines": [53, 54, 55, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "issue_lease": {"executed_lines": [69, 70, 83, 84, 85, 86, 87, 88, 89], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "list_leases": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96, 97], "excluded_lines": []}, "revoke_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "consume_lease": {"executed_lines": [119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 15, "num_statements": 20, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [124, 126, 128, 131, 138], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 17, 20, 21, 24, 25, 28, 29, 30, 32, 35, 36, 39, 40, 41, 42, 43, 44, 47, 49, 52, 53, 54, 55, 56, 59, 69, 70, 83, 84, 85, 86, 87, 88, 89, 92, 100, 114, 119, 120, 121, 122, 123, 125, 127, 129, 130, 132, 133, 134, 135, 136, 137], "summary": {"covered_lines": 63, "num_statements": 88, "percent_covered": 71.5909090909091, "percent_covered_display": "72", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [31, 45, 46, 48, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 124, 126, 128, 131, 138], "excluded_lines": []}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 26, 28, 31, 32, 34, 37, 38, 40, 43, 44, 46, 47, 50, 51, 53, 56, 57, 59, 62, 63, 65, 66, 69, 70, 72, 73, 76, 77, 79, 82, 83, 85, 86, 87, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 119, 121, 122, 123, 125, 128, 129, 130, 132, 135, 136, 137, 139, 142, 143, 144, 147, 149, 152, 153, 156, 157, 158, 160, 163, 164, 166, 169, 170, 171, 173, 176, 177, 179, 182, 183, 187, 190, 191, 194, 195, 197, 198, 199, 201, 204, 205, 207, 210, 211, 212, 216, 219, 220, 222, 225, 226, 228, 237, 238, 240, 241, 242, 244, 247, 248, 249, 250, 251, 252, 253, 255, 258, 259, 261, 264, 265, 268, 269, 271, 272, 273, 275, 281, 282, 288, 306, 307, 308, 309, 310, 311, 312, 314, 315, 316, 318, 319, 320, 321, 322, 323, 324, 326, 327, 328, 331, 333, 340, 342, 343, 347, 349, 350, 354, 356, 357, 361, 363, 364, 368, 370, 371, 375, 377, 378, 379, 380, 381, 386, 388, 389, 390, 391, 392, 397, 399, 400, 401, 402, 403, 408, 410, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453, 455, 465, 466, 467, 476, 477, 479, 486, 487, 493, 494, 496, 505, 506, 514, 515, 517, 524, 525, 531, 532, 534, 542, 543, 550, 551, 553, 556, 557, 560, 561, 563, 570, 571, 577, 578, 580, 590, 591, 599, 600, 602, 611, 612, 619, 620, 622, 629, 630, 636, 655, 656, 673, 675, 683, 684, 687, 688, 690, 697, 698, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 723, 725, 726, 727, 729, 730, 731, 733, 734, 735, 738, 739, 741, 742, 743, 745, 746, 747, 749, 750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802, 804, 805, 806, 808, 809, 810, 812, 813, 814, 815, 816, 817, 818, 820, 821, 822, 824, 825, 826, 827, 828, 830, 835, 839, 843, 848, 849, 851, 852, 853, 855, 856, 857, 859, 861, 862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880, 882, 883, 884, 885, 886, 889, 890, 892, 893, 894, 895, 896, 897, 898, 899, 900, 902, 903, 904, 905, 906, 907, 910, 911, 913, 917, 918, 919, 920, 921, 923, 929, 937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952, 954, 957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000, 1002, 1003, 1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049, 1052, 1053, 1055, 1056, 1057, 1059, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101, 1104, 1105, 1106, 1108, 1109, 1110, 1113, 1114, 1116, 1117, 1118, 1120, 1121, 1122, 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1135, 1136, 1137, 1138, 1142, 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1170, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 550, "num_statements": 612, "percent_covered": 89.86928104575163, "percent_covered_display": "90", "missing_lines": 62, "excluded_lines": 0}, "missing_lines": [231, 232, 233, 234, 335, 336, 382, 383, 384, 393, 394, 395, 404, 405, 407, 831, 832, 833, 836, 837, 840, 841, 844, 845, 858, 864, 875, 876, 914, 915, 924, 925, 926, 927, 944, 959, 972, 973, 980, 1013, 1024, 1038, 1040, 1042, 1081, 1083, 1087, 1089, 1091, 1102, 1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1160, 1175, 1188], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [122, 123], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_vault": {"executed_lines": [128, 129, 130], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_vault": {"executed_lines": [135, 136, 137], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_profile": {"executed_lines": [142, 143, 144, 147], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_profile": {"executed_lines": [152, 153, 156, 157, 158], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.change_password": {"executed_lines": [163, 164], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.unlock": {"executed_lines": [169, 170, 171], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.lock": {"executed_lines": [176, 177], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.backup_parent_seed": {"executed_lines": [182, 183], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.stats": {"executed_lines": [190, 191], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.__init__": {"executed_lines": [198, 199], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.list_profiles": {"executed_lines": [204, 205], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.add_profile": {"executed_lines": [210, 211, 212], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.remove_profile": {"executed_lines": [219, 220], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.switch_profile": {"executed_lines": [225, 226], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [231, 232, 233, 234], "excluded_lines": []}, "SyncService.__init__": {"executed_lines": [241, 242], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.sync": {"executed_lines": [247, 248, 249, 250, 251, 252, 253], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_sync": {"executed_lines": [258, 259], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_vault_sync": {"executed_lines": [264, 265], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.__init__": {"executed_lines": [272, 273], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.list_entries": {"executed_lines": [281, 282], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.search_entries": {"executed_lines": [306, 307, 308, 309, 310, 311, 312], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.retrieve_entry": {"executed_lines": [315, 316], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.generate_password": {"executed_lines": [319, 320, 321, 322, 323, 324], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_code": {"executed_lines": [327, 328, 331], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [335, 336], "excluded_lines": []}, "EntryService.get_seed_phrase": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_managed_account_seed": {"executed_lines": [349, 350], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_ssh_key_pair": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_pgp_key": {"executed_lines": [363, 364], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_nostr_key_pair": {"executed_lines": [370, 371], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_secret_mode_enabled": {"executed_lines": [377, 378, 379, 380, 381], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [382, 383, 384], "excluded_lines": []}, "EntryService.get_clipboard_clear_delay": {"executed_lines": [388, 389, 390, 391, 392], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [393, 394, 395], "excluded_lines": []}, "EntryService.copy_to_clipboard": {"executed_lines": [399, 400, 401, 402, 403, 408], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [404, 405, 407], "excluded_lines": []}, "EntryService.add_entry": {"executed_lines": [426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_totp": {"executed_lines": [465, 466, 467, 476, 477], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_ssh_key": {"executed_lines": [486, 487, 493, 494], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_pgp_key": {"executed_lines": [505, 506, 514, 515], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_nostr_key": {"executed_lines": [524, 525, 531, 532], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_seed": {"executed_lines": [542, 543, 550, 551], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_key_value": {"executed_lines": [556, 557, 560, 561], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_managed_account": {"executed_lines": [570, 571, 577, 578], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_document": {"executed_lines": [590, 591, 599, 600], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.import_document_file": {"executed_lines": [611, 612, 619, 620], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.export_document_file": {"executed_lines": [629, 630], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.modify_entry": {"executed_lines": [655, 656, 673], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_link": {"executed_lines": [683, 684, 687, 688], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.remove_link": {"executed_lines": [697, 698, 701, 702], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_links": {"executed_lines": [705, 706], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.archive_entry": {"executed_lines": [709, 710, 711], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.restore_entry": {"executed_lines": [714, 715, 716], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.export_totp_entries": {"executed_lines": [719, 720, 723], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.display_totp_codes": {"executed_lines": [726, 727], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.load_managed_account": {"executed_lines": [730, 731], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.exit_managed_account": {"executed_lines": [734, 735], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.__init__": {"executed_lines": [742, 743], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get": {"executed_lines": [746, 747], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set": {"executed_lines": [750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [805, 806], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [809, 810], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_secret_mode": {"executed_lines": [813, 814, 815, 816, 817, 818], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_offline_mode": {"executed_lines": [821, 822], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_offline_mode": {"executed_lines": [825, 826, 827, 828], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [831, 832, 833], "excluded_lines": []}, "ConfigService.get_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [836, 837], "excluded_lines": []}, "ConfigService.set_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [840, 841], "excluded_lines": []}, "ConfigService.get_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [844, 845], "excluded_lines": []}, "SemanticIndexService.__init__": {"executed_lines": [852, 853], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndexService._index": {"executed_lines": [856, 857, 859], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [858], "excluded_lines": []}, "SemanticIndexService._all_entries": {"executed_lines": [862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [864, 875, 876], "excluded_lines": []}, "SemanticIndexService.status": {"executed_lines": [883, 884, 885, 886, 889, 890], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndexService.set_enabled": {"executed_lines": [893, 894, 895, 896, 897, 898, 899, 900], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndexService.set_mode": {"executed_lines": [903, 904, 905, 906, 907, 910, 911], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndexService.get_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [914, 915], "excluded_lines": []}, "SemanticIndexService.build": {"executed_lines": [918, 919, 920, 921], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndexService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [924, 925, 926, 927], "excluded_lines": []}, "SemanticIndexService.search": {"executed_lines": [937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [944], "excluded_lines": []}, "SemanticIndexService._lexical_search": {"executed_lines": [957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [959, 972, 973, 980], "excluded_lines": []}, "SemanticIndexService._merge_hybrid": {"executed_lines": [1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049], "summary": {"covered_lines": 22, "num_statements": 27, "percent_covered": 81.48148148148148, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1013, 1024, 1038, 1040, 1042], "excluded_lines": []}, "UtilityService.__init__": {"executed_lines": [1056, 1057], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.generate_password": {"executed_lines": [1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101], "summary": {"covered_lines": 20, "num_statements": 26, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1081, 1083, 1087, 1089, 1091, 1102], "excluded_lines": []}, "UtilityService.verify_checksum": {"executed_lines": [1105, 1106], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.update_checksum": {"executed_lines": [1109, 1110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.__init__": {"executed_lines": [1117, 1118], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.get_pubkey": {"executed_lines": [1121, 1122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.list_relays": {"executed_lines": [1125, 1126], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.add_relay": {"executed_lines": [1129, 1130, 1131], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.remove_relay": {"executed_lines": [1136, 1137, 1138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152], "excluded_lines": []}, "NostrService._clear_runtime_sync_state": {"executed_lines": [1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1160], "excluded_lines": []}, "NostrService.reset_sync_state": {"executed_lines": [1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1175], "excluded_lines": []}, "NostrService.start_fresh_namespace": {"executed_lines": [1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1188], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 26, 28, 31, 32, 34, 37, 38, 40, 43, 44, 46, 47, 50, 51, 53, 56, 57, 59, 62, 63, 65, 66, 69, 70, 72, 73, 76, 77, 79, 82, 83, 85, 86, 87, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 119, 121, 125, 132, 139, 149, 160, 166, 173, 179, 187, 194, 195, 197, 201, 207, 216, 222, 228, 237, 238, 240, 244, 255, 261, 268, 269, 271, 275, 288, 314, 318, 326, 333, 340, 347, 354, 361, 368, 375, 386, 397, 410, 455, 479, 496, 517, 534, 553, 563, 580, 602, 622, 636, 675, 690, 704, 708, 713, 718, 725, 729, 733, 738, 739, 741, 745, 749, 804, 808, 812, 820, 824, 830, 835, 839, 843, 848, 849, 851, 855, 861, 882, 892, 902, 913, 917, 923, 929, 954, 1002, 1003, 1052, 1053, 1055, 1059, 1104, 1108, 1113, 1114, 1116, 1120, 1124, 1128, 1135, 1142, 1154, 1170, 1183], "summary": {"covered_lines": 158, "num_statements": 158, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService": {"executed_lines": [122, 123, 128, 129, 130, 135, 136, 137, 142, 143, 144, 147, 152, 153, 156, 157, 158, 163, 164, 169, 170, 171, 176, 177, 182, 183, 190, 191], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService": {"executed_lines": [198, 199, 204, 205, 210, 211, 212, 219, 220, 225, 226], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [231, 232, 233, 234], "excluded_lines": []}, "SyncService": {"executed_lines": [241, 242, 247, 248, 249, 250, 251, 252, 253, 258, 259, 264, 265], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService": {"executed_lines": [272, 273, 281, 282, 306, 307, 308, 309, 310, 311, 312, 315, 316, 319, 320, 321, 322, 323, 324, 327, 328, 331, 342, 343, 349, 350, 356, 357, 363, 364, 370, 371, 377, 378, 379, 380, 381, 388, 389, 390, 391, 392, 399, 400, 401, 402, 403, 408, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 452, 453, 465, 466, 467, 476, 477, 486, 487, 493, 494, 505, 506, 514, 515, 524, 525, 531, 532, 542, 543, 550, 551, 556, 557, 560, 561, 570, 571, 577, 578, 590, 591, 599, 600, 611, 612, 619, 620, 629, 630, 655, 656, 673, 683, 684, 687, 688, 697, 698, 701, 702, 705, 706, 709, 710, 711, 714, 715, 716, 719, 720, 723, 726, 727, 730, 731, 734, 735], "summary": {"covered_lines": 136, "num_statements": 147, "percent_covered": 92.51700680272108, "percent_covered_display": "93", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [335, 336, 382, 383, 384, 393, 394, 395, 404, 405, 407], "excluded_lines": []}, "ConfigService": {"executed_lines": [742, 743, 746, 747, 750, 751, 788, 789, 790, 791, 792, 793, 794, 799, 800, 802, 805, 806, 809, 810, 813, 814, 815, 816, 817, 818, 821, 822, 825, 826, 827, 828], "summary": {"covered_lines": 32, "num_statements": 41, "percent_covered": 78.04878048780488, "percent_covered_display": "78", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [831, 832, 833, 836, 837, 840, 841, 844, 845], "excluded_lines": []}, "SemanticIndexService": {"executed_lines": [852, 853, 856, 857, 859, 862, 863, 865, 871, 872, 873, 874, 877, 878, 879, 880, 883, 884, 885, 886, 889, 890, 893, 894, 895, 896, 897, 898, 899, 900, 903, 904, 905, 906, 907, 910, 911, 918, 919, 920, 921, 937, 938, 943, 945, 946, 947, 948, 949, 950, 951, 952, 957, 958, 960, 961, 967, 968, 969, 970, 971, 974, 975, 976, 977, 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, 990, 991, 1000, 1009, 1010, 1011, 1012, 1014, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1035, 1036, 1037, 1039, 1041, 1043, 1044, 1047, 1048, 1049], "summary": {"covered_lines": 100, "num_statements": 120, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [858, 864, 875, 876, 914, 915, 924, 925, 926, 927, 944, 959, 972, 973, 980, 1013, 1024, 1038, 1040, 1042], "excluded_lines": []}, "UtilityService": {"executed_lines": [1056, 1057, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1082, 1084, 1085, 1086, 1088, 1090, 1093, 1094, 1098, 1099, 1101, 1105, 1106, 1109, 1110], "summary": {"covered_lines": 26, "num_statements": 32, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1081, 1083, 1087, 1089, 1091, 1102], "excluded_lines": []}, "NostrService": {"executed_lines": [1117, 1118, 1121, 1122, 1125, 1126, 1129, 1130, 1131, 1136, 1137, 1138, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1185, 1186, 1187, 1189, 1190, 1191, 1197, 1198, 1199, 1200, 1201, 1202], "summary": {"covered_lines": 46, "num_statements": 58, "percent_covered": 79.3103448275862, "percent_covered_display": "79", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1160, 1175, 1188], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 25, 26, 28, 31, 32, 34, 37, 38, 40, 43, 44, 46, 47, 50, 51, 53, 56, 57, 59, 62, 63, 65, 66, 69, 70, 72, 73, 76, 77, 79, 82, 83, 85, 86, 87, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 114, 115, 118, 119, 121, 125, 132, 139, 149, 160, 166, 173, 179, 187, 194, 195, 197, 201, 207, 216, 222, 228, 237, 238, 240, 244, 255, 261, 268, 269, 271, 275, 288, 314, 318, 326, 333, 340, 347, 354, 361, 368, 375, 386, 397, 410, 455, 479, 496, 517, 534, 553, 563, 580, 602, 622, 636, 675, 690, 704, 708, 713, 718, 725, 729, 733, 738, 739, 741, 745, 749, 804, 808, 812, 820, 824, 830, 835, 839, 843, 848, 849, 851, 855, 861, 882, 892, 902, 913, 917, 923, 929, 954, 1002, 1003, 1052, 1053, 1055, 1059, 1104, 1108, 1113, 1114, 1116, 1120, 1124, 1128, 1135, 1142, 1154, 1170, 1183], "summary": {"covered_lines": 158, "num_statements": 158, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/auth_broker.py": {"executed_lines": [1, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21, 37, 57, 66, 67, 68], "summary": {"covered_lines": 16, "num_statements": 41, "percent_covered": 39.02439024390244, "percent_covered_display": "39", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 69, 70, 71, 72, 73], "excluded_lines": [], "functions": {"_password_from_env": {"executed_lines": [13, 14, 15, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_password_from_keyring": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34], "excluded_lines": []}, "_password_from_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "resolve_password": {"executed_lines": [66, 67, 68], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 37.5, "percent_covered_display": "38", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 72, 73], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 9, 12, 21, 37, 57], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuthBrokerError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21, 37, 57, 66, 67, 68], "summary": {"covered_lines": 16, "num_statements": 41, "percent_covered": 39.02439024390244, "percent_covered_display": "39", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 69, 70, 71, 72, 73], "excluded_lines": []}}}, "src/seedpass/core/backup.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 95, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 114, 115, 116, 122, 127, 128, 129, 130, 131, 132, 148, 150, 151, 152, 156, 157, 158, 159, 170, 193, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 85, "num_statements": 116, "percent_covered": 73.27586206896552, "percent_covered_display": "73", "missing_lines": 31, "excluded_lines": 2}, "missing_lines": [91, 92, 93, 123, 124, 125, 137, 138, 141, 153, 154, 155, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [51, 52, 53, 54, 55, 56, 57], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupManager.create_backup": {"executed_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90], "summary": {"covered_lines": 20, "num_statements": 23, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [91, 92, 93], "excluded_lines": []}, "BackupManager._create_additional_backup": {"executed_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [108, 109]}, "BackupManager.restore_latest_backup": {"executed_lines": [115, 116, 122, 127, 128, 129, 130, 131, 132], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [123, 124, 125, 137, 138, 141], "excluded_lines": []}, "BackupManager.restore_from_backup": {"executed_lines": [150, 151, 152, 156, 157, 158, 159], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [153, 154, 155, 160, 161, 164], "excluded_lines": []}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": []}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [215, 216, 219], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"BackupManager": {"executed_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 127, 128, 129, 130, 131, 132, 150, 151, 152, 156, 157, 158, 159, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210], "summary": {"covered_lines": 66, "num_statements": 97, "percent_covered": 68.04123711340206, "percent_covered_display": "68", "missing_lines": 31, "excluded_lines": 2}, "missing_lines": [91, 92, 93, 123, 124, 125, 137, 138, 141, 153, 154, 155, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 215, 216, 219], "excluded_lines": [108, 109]}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/compat.py": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "functions": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}, "classes": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 56, 57, 58, 60, 69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152, 157, 159, 160, 161, 166, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 181, 183, 184, 185, 187, 189, 191, 192, 193, 196, 198, 199, 200, 202, 204, 206, 207, 208, 210, 215, 217, 219, 220, 221, 223, 225, 226, 228, 236, 238, 239, 241, 249, 251, 252, 254, 256, 257, 258, 260, 262, 263, 264, 266, 268, 269, 270, 272, 274, 275, 276, 278, 280, 281, 283, 285, 286, 288, 294, 299, 310, 318, 320, 322, 323, 324, 326, 328, 329, 331, 333, 335, 336, 337, 339, 341, 342, 345, 347, 349, 350, 361, 366, 371, 376, 381, 383, 384, 385, 387, 389, 390, 391, 393, 395, 396, 397, 399, 401, 402, 403, 405, 407, 408, 409, 411, 413, 414, 416, 418, 420, 421, 422, 424, 426, 427, 429, 431, 433, 434, 435, 437, 439, 440, 442, 447, 448, 449, 451, 459, 467, 481], "summary": {"covered_lines": 209, "num_statements": 299, "percent_covered": 69.89966555183946, "percent_covered_display": "70", "missing_lines": 90, "excluded_lines": 2}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155, 162, 163, 164, 186, 194, 205, 212, 213, 218, 230, 231, 232, 233, 234, 243, 244, 245, 246, 247, 290, 291, 292, 296, 297, 301, 302, 303, 306, 307, 308, 312, 313, 314, 315, 316, 321, 334, 362, 363, 364, 367, 368, 369, 372, 373, 374, 377, 378, 379, 419, 432, 443, 444, 445, 453, 454, 455, 456, 457, 461, 462, 463, 464, 465, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 483, 484, 485, 486, 487], "excluded_lines": [19, 20], "functions": {"ConfigManager.__init__": {"executed_lines": [56, 57, 58], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.load_config": {"executed_lines": [69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152], "summary": {"covered_lines": 41, "num_statements": 51, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155], "excluded_lines": []}, "ConfigManager.save_config": {"executed_lines": [159, 160, 161], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [162, 163, 164], "excluded_lines": []}, "ConfigManager.set_relays": {"executed_lines": [168, 169, 170, 171, 172], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_pin": {"executed_lines": [176, 177, 178, 179], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.verify_pin": {"executed_lines": [183, 184, 185, 187], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [186], "excluded_lines": []}, "ConfigManager.change_pin": {"executed_lines": [191, 192, 193], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [194], "excluded_lines": []}, "ConfigManager.set_password_hash": {"executed_lines": [198, 199, 200], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [204, 206, 207, 208], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [205], "excluded_lines": []}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [212, 213], "excluded_lines": []}, "ConfigManager.set_kdf_iterations": {"executed_lines": [217, 219, 220, 221], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [218], "excluded_lines": []}, "ConfigManager.get_kdf_iterations": {"executed_lines": [225, 226], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233, 234], "excluded_lines": []}, "ConfigManager.get_kdf_mode": {"executed_lines": [238, 239], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [243, 244, 245, 246, 247], "excluded_lines": []}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [251, 252], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_additional_backup_path": {"executed_lines": [256, 257, 258], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_additional_backup_path": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [268, 269, 270], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_offline_mode": {"executed_lines": [274, 275, 276], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [280, 281], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_offline_mode": {"executed_lines": [285, 286], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [290, 291, 292], "excluded_lines": []}, "ConfigManager.get_semantic_index_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [296, 297], "excluded_lines": []}, "ConfigManager.set_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [301, 302, 303, 306, 307, 308], "excluded_lines": []}, "ConfigManager.get_semantic_search_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [312, 313, 314, 315, 316], "excluded_lines": []}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [320, 322, 323, 324], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [321], "excluded_lines": []}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [328, 329], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_backup_interval": {"executed_lines": [333, 335, 336, 337], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [334], "excluded_lines": []}, "ConfigManager.get_backup_interval": {"executed_lines": [341, 342], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_password_policy": {"executed_lines": [347, 349, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [362, 363, 364], "excluded_lines": []}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [367, 368, 369], "excluded_lines": []}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [372, 373, 374], "excluded_lines": []}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [377, 378, 379], "excluded_lines": []}, "ConfigManager.set_include_special_chars": {"executed_lines": [383, 384, 385], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [389, 390, 391], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_special_mode": {"executed_lines": [395, 396, 397], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [401, 402, 403], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_quick_unlock": {"executed_lines": [407, 408, 409], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_quick_unlock": {"executed_lines": [413, 414], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [418, 420, 421, 422], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [419], "excluded_lines": []}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [426, 427], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [431, 433, 434, 435], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [432], "excluded_lines": []}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [439, 440], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [443, 444, 445], "excluded_lines": []}, "ConfigManager.get_verbose_timing": {"executed_lines": [448, 449], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [453, 454, 455, 456, 457], "excluded_lines": []}, "ConfigManager.set_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [461, 462, 463, 464, 465], "excluded_lines": []}, "ConfigManager.set_partition_unlock_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479], "excluded_lines": []}, "ConfigManager.is_partition_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [483, 484, 485, 486, 487], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 157, 166, 174, 181, 189, 196, 202, 210, 215, 223, 228, 236, 241, 249, 254, 260, 266, 272, 278, 283, 288, 294, 299, 310, 318, 326, 331, 339, 345, 361, 366, 371, 376, 381, 387, 393, 399, 405, 411, 416, 424, 429, 437, 442, 447, 451, 459, 467, 481], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}, "classes": {"ConfigManager": {"executed_lines": [56, 57, 58, 69, 70, 71, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 139, 140, 141, 142, 143, 144, 152, 159, 160, 161, 168, 169, 170, 171, 172, 176, 177, 178, 179, 183, 184, 185, 187, 191, 192, 193, 198, 199, 200, 204, 206, 207, 208, 217, 219, 220, 221, 225, 226, 238, 239, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 276, 280, 281, 285, 286, 320, 322, 323, 324, 328, 329, 333, 335, 336, 337, 341, 342, 347, 349, 350, 383, 384, 385, 389, 390, 391, 395, 396, 397, 401, 402, 403, 407, 408, 409, 413, 414, 418, 420, 421, 422, 426, 427, 431, 433, 434, 435, 439, 440, 448, 449], "summary": {"covered_lines": 142, "num_statements": 232, "percent_covered": 61.206896551724135, "percent_covered_display": "61", "missing_lines": 90, "excluded_lines": 0}, "missing_lines": [104, 145, 146, 147, 148, 149, 151, 153, 154, 155, 162, 163, 164, 186, 194, 205, 212, 213, 218, 230, 231, 232, 233, 234, 243, 244, 245, 246, 247, 290, 291, 292, 296, 297, 301, 302, 303, 306, 307, 308, 312, 313, 314, 315, 316, 321, 334, 362, 363, 364, 367, 368, 369, 372, 373, 374, 377, 378, 379, 419, 432, 443, 444, 445, 453, 454, 455, 456, 457, 461, 462, 463, 464, 465, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 483, 484, 485, 486, 487], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 157, 166, 174, 181, 189, 196, 202, 210, 215, 223, 228, 236, 241, 249, 254, 260, 266, 272, 278, 283, 288, 294, 299, 310, 318, 326, 331, 339, 345, 361, 366, 371, 376, 381, 387, 393, 399, 405, 411, 416, 424, 429, 437, 442, 447, 451, 459, 467, 481], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}}, "src/seedpass/core/display_service.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 24, 26, 27, 30, 32, 34, 35, 37, 38, 42, 43, 45, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136, 141, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173, 178, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 228, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258, 263, 264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286, 292, 293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318, 344, 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382, 387, 432, 433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 231, "num_statements": 341, "percent_covered": 67.74193548387096, "percent_covered_display": "68", "missing_lines": 110, "excluded_lines": 2}, "missing_lines": [73, 93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139, 157, 160, 164, 165, 174, 175, 176, 195, 198, 200, 201, 224, 225, 226, 244, 247, 250, 251, 259, 260, 261, 274, 275, 284, 287, 288, 289, 290, 299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 351, 356, 372, 373, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 447, 449, 505, 506, 515], "excluded_lines": [14, 15], "functions": {"DisplayService.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DisplayService._manager_module": {"executed_lines": [30, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DisplayService._confirm_action": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DisplayService._copy_to_clipboard": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DisplayService._timed_input": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DisplayService.display_sensitive_entry_info": {"executed_lines": [56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "DisplayService._display_totp": {"executed_lines": [80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136], "summary": {"covered_lines": 35, "num_statements": 49, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139], "excluded_lines": []}, "DisplayService._display_ssh": {"executed_lines": [142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173], "summary": {"covered_lines": 18, "num_statements": 25, "percent_covered": 72.0, "percent_covered_display": "72", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [157, 160, 164, 165, 174, 175, 176], "excluded_lines": []}, "DisplayService._display_seed": {"executed_lines": [179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [195, 198, 200, 201, 224, 225, 226], "excluded_lines": []}, "DisplayService._display_pgp": {"executed_lines": [229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258], "summary": {"covered_lines": 16, "num_statements": 23, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [244, 247, 250, 251, 259, 260, 261], "excluded_lines": []}, "DisplayService._display_nostr": {"executed_lines": [264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286], "summary": {"covered_lines": 12, "num_statements": 19, "percent_covered": 63.1578947368421, "percent_covered_display": "63", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [274, 275, 284, 287, 288, 289, 290], "excluded_lines": []}, "DisplayService._display_key_value": {"executed_lines": [293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318], "summary": {"covered_lines": 13, "num_statements": 34, "percent_covered": 38.23529411764706, "percent_covered_display": "38", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342], "excluded_lines": []}, "DisplayService._display_managed_account": {"executed_lines": [345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382], "summary": {"covered_lines": 18, "num_statements": 25, "percent_covered": 72.0, "percent_covered_display": "72", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [351, 356, 372, 373, 383, 384, 385], "excluded_lines": []}, "DisplayService._display_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430], "excluded_lines": []}, "DisplayService._display_password": {"executed_lines": [433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 43, "num_statements": 48, "percent_covered": 89.58333333333333, "percent_covered_display": "90", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [447, 449, 505, 506, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}, "classes": {"DisplayService": {"executed_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 133, 134, 135, 136, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 158, 159, 161, 162, 163, 172, 173, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 196, 197, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 245, 246, 248, 249, 258, 264, 265, 266, 267, 270, 271, 272, 273, 282, 283, 285, 286, 293, 294, 295, 296, 297, 298, 300, 301, 303, 306, 315, 317, 318, 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 357, 360, 367, 368, 371, 380, 381, 382, 433, 434, 435, 436, 437, 438, 440, 446, 448, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 513], "summary": {"covered_lines": 204, "num_statements": 314, "percent_covered": 64.96815286624204, "percent_covered_display": "65", "missing_lines": 110, "excluded_lines": 0}, "missing_lines": [73, 93, 94, 107, 110, 126, 127, 128, 129, 130, 131, 132, 137, 138, 139, 157, 160, 164, 165, 174, 175, 176, 195, 198, 200, 201, 224, 225, 226, 244, 247, 250, 251, 259, 260, 261, 274, 275, 284, 287, 288, 289, 290, 299, 302, 307, 308, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 351, 356, 372, 373, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 447, 449, 505, 506, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 42, 43, 44, 47, 48, 50, 51, 54, 55, 58, 59, 64, 73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97, 99, 104, 105, 106, 107, 112, 126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 201, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 238, 239, 247, 266, 267, 268, 269, 271, 275, 276, 277, 279, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 297, 298, 299, 300, 303, 311, 312, 313, 316, 317, 318, 319, 320, 321, 322, 325, 330, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 347, 348, 349, 350, 351, 352, 353, 355, 356, 357, 358, 359, 360, 361, 363, 370, 371, 372, 373, 376, 377, 379, 386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 430, 436, 441, 442, 443, 444, 445, 446, 447, 448, 450, 470, 471, 473, 474, 475, 477, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 550, 552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585, 593, 599, 600, 601, 602, 603, 604, 609], "summary": {"covered_lines": 275, "num_statements": 332, "percent_covered": 82.83132530120481, "percent_covered_display": "83", "missing_lines": 57, "excluded_lines": 23}, "missing_lines": [78, 88, 89, 93, 108, 109, 110, 135, 136, 167, 168, 171, 240, 241, 301, 315, 375, 395, 414, 427, 428, 429, 437, 438, 439, 481, 519, 520, 521, 525, 531, 532, 533, 556, 573, 574, 586, 587, 591, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [11, 12, 13, 15, 196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [42, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [51, 54, 55], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.__init__": {"executed_lines": [73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [78, 88, 89, 93], "excluded_lines": []}, "EncryptionManager.encrypt_data": {"executed_lines": [104, 105, 106, 107], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [108, 109, 110], "excluded_lines": []}, "EncryptionManager.decrypt_data": {"executed_lines": [126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195], "summary": {"covered_lines": 36, "num_statements": 41, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [135, 136, 167, 168, 171], "excluded_lines": [196, 197]}, "EncryptionManager.decrypt_legacy": {"executed_lines": [206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 238, 239], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 4}, "missing_lines": [240, 241], "excluded_lines": [229, 230, 238, 239]}, "EncryptionManager.resolve_relative_path": {"executed_lines": [266, 267, 268, 269], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [275, 276, 277], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager._serialize": {"executed_lines": [298, 299, 300], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [301], "excluded_lines": []}, "EncryptionManager._deserialize": {"executed_lines": [311, 312, 313, 316, 317, 318, 319, 320, 321, 322, 325], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 2}, "missing_lines": [315], "excluded_lines": [321, 322]}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.decrypt_file": {"executed_lines": [348, 349, 350, 351, 352, 353], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.get_file_kdf": {"executed_lines": [356, 357, 358, 359, 360, 361], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.save_json_data": {"executed_lines": [370, 371, 372, 373, 376, 377], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [375], "excluded_lines": []}, "EncryptionManager.load_json_data": {"executed_lines": [386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 430, 436], "summary": {"covered_lines": 27, "num_statements": 35, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 8, "excluded_lines": 4}, "missing_lines": [395, 414, 427, 428, 429, 437, 438, 439], "excluded_lines": [430, 431, 432, 433]}, "EncryptionManager.get_encrypted_index": {"executed_lines": [442, 443, 444, 445, 446, 447, 448], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [470, 471, 473, 474, 475, 477, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 7}, "missing_lines": [519, 520, 521, 525, 531, 532, 533], "excluded_lines": [534, 535, 536, 540, 546, 547, 548]}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [478, 479, 482, 483, 484, 485, 486, 487], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [481], "excluded_lines": []}, "EncryptionManager.update_checksum": {"executed_lines": [552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585], "summary": {"covered_lines": 22, "num_statements": 28, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [556, 573, 574, 586, 587, 591], "excluded_lines": []}, "EncryptionManager.validate_seed": {"executed_lines": [599, 600, 601, 602, 603, 604], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [605, 606, 607], "excluded_lines": []}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": []}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [51, 54, 55], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EncryptionManager": {"executed_lines": [73, 74, 76, 77, 81, 82, 84, 85, 87, 96, 97, 104, 105, 106, 107, 126, 128, 130, 131, 132, 133, 134, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 238, 239, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 311, 312, 313, 316, 317, 318, 319, 320, 321, 322, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 376, 377, 386, 387, 388, 389, 390, 391, 392, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 417, 418, 419, 420, 421, 423, 424, 425, 426, 430, 436, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 552, 553, 554, 555, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 579, 580, 581, 582, 583, 584, 585, 599, 600, 601, 602, 603, 604], "summary": {"covered_lines": 223, "num_statements": 280, "percent_covered": 79.64285714285714, "percent_covered_display": "80", "missing_lines": 57, "excluded_lines": 19}, "missing_lines": [78, 88, 89, 93, 108, 109, 110, 135, 136, 167, 168, 171, 240, 241, 301, 315, 375, 395, 414, 427, 428, 429, 437, 438, 439, 481, 519, 520, 521, 525, 531, 532, 533, 556, 573, 574, 586, 587, 591, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548]}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 42, 43, 44, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 66, 67, 68, 71, 72, 74, 76, 78, 80, 82, 83, 84, 86, 87, 88, 90, 93, 94, 96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118, 120, 122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 159, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185, 187, 188, 189, 190, 191, 196, 202, 203, 204, 205, 206, 209, 210, 216, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 311, 313, 314, 315, 323, 325, 340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 404, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 452, 455, 456, 457, 458, 461, 463, 464, 466, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 517, 520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536, 538, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 587, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 627, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 665, 676, 677, 679, 680, 681, 682, 691, 700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730, 732, 735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 757, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 805, 808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825, 827, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 887, 890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908, 910, 916, 917, 918, 919, 923, 928, 930, 937, 938, 939, 940, 944, 945, 947, 948, 949, 951, 953, 954, 955, 956, 961, 962, 964, 968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995, 997, 1003, 1004, 1012, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1051, 1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1354, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1394, 1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1460, 1462, 1464, 1466, 1468, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612, 1620, 1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1702, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1774, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1795, 1837, 1870, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 727, "num_statements": 883, "percent_covered": 82.33295583238959, "percent_covered_display": "82", "missing_lines": 156, "excluded_lines": 3}, "missing_lines": [91, 97, 102, 105, 106, 110, 113, 125, 128, 130, 132, 135, 136, 176, 177, 178, 192, 193, 194, 208, 211, 212, 213, 214, 275, 277, 279, 281, 283, 287, 306, 307, 308, 309, 348, 353, 400, 401, 402, 459, 524, 678, 702, 705, 715, 719, 721, 727, 741, 814, 897, 922, 924, 925, 926, 927, 943, 946, 959, 974, 980, 984, 1005, 1006, 1007, 1010, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324, 1368, 1406, 1438, 1510, 1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618, 1633, 1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1888, 1901, 1902, 1903, 1904], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [66, 67, 68, 71, 72, 74, 76], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.clear_cache": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager._now_unix": {"executed_lines": [84], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager._iso_from_unix": {"executed_lines": [88], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager._now_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "EntryManager._normalize_links": {"executed_lines": [96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [97, 102, 105, 106, 110, 113], "excluded_lines": []}, "EntryManager._normalize_entry_defaults": {"executed_lines": [122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157], "summary": {"covered_lines": 24, "num_statements": 30, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [125, 128, 130, 132, 135, 136], "excluded_lines": []}, "EntryManager._load_index": {"executed_lines": [160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [176, 177, 178], "excluded_lines": []}, "EntryManager._save_index": {"executed_lines": [188, 189, 190, 191], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [192, 193, 194], "excluded_lines": []}, "EntryManager.get_next_index": {"executed_lines": [202, 203, 204, 205, 206, 209, 210], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [208, 211, 212, 213, 214], "excluded_lines": []}, "EntryManager.add_entry": {"executed_lines": [247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304], "summary": {"covered_lines": 28, "num_statements": 38, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [275, 277, 279, 281, 283, 287, 306, 307, 308, 309], "excluded_lines": []}, "EntryManager.get_next_totp_index": {"executed_lines": [313, 314, 315, 323], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.add_totp": {"executed_lines": [340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399], "summary": {"covered_lines": 23, "num_statements": 28, "percent_covered": 82.14285714285714, "percent_covered_display": "82", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [348, 353, 400, 401, 402], "excluded_lines": []}, "EntryManager.add_ssh_key": {"executed_lines": [420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.get_ssh_key_pair": {"executed_lines": [455, 456, 457, 458, 461, 463, 464], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [459], "excluded_lines": []}, "EntryManager.add_pgp_key": {"executed_lines": [479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.get_pgp_key": {"executed_lines": [520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [524], "excluded_lines": []}, "EntryManager.add_nostr_key": {"executed_lines": [549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.add_key_value": {"executed_lines": [600, 601, 602, 604, 605, 606, 622, 623, 624, 625], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.add_document": {"executed_lines": [639, 640, 641, 643, 644, 645, 660, 661, 662, 663], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.import_document_file": {"executed_lines": [676, 677, 679, 680, 681, 682], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [678], "excluded_lines": []}, "EntryManager.export_document_file": {"executed_lines": [700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730], "summary": {"covered_lines": 17, "num_statements": 23, "percent_covered": 73.91304347826087, "percent_covered_display": "74", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [702, 705, 715, 719, 721, 727], "excluded_lines": []}, "EntryManager.get_nostr_key_pair": {"executed_lines": [735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [741], "excluded_lines": []}, "EntryManager.add_seed": {"executed_lines": [769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.get_seed_phrase": {"executed_lines": [808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [814], "excluded_lines": []}, "EntryManager.add_managed_account": {"executed_lines": [842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.get_managed_account_seed": {"executed_lines": [890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [897], "excluded_lines": []}, "EntryManager.get_totp_secret": {"executed_lines": [916, 917, 918, 919, 923, 928], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [922, 924, 925, 926, 927], "excluded_lines": []}, "EntryManager.get_totp_code": {"executed_lines": [937, 938, 939, 940, 944, 945, 947, 948, 949], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [943, 946], "excluded_lines": []}, "EntryManager.get_totp_time_remaining": {"executed_lines": [953, 954, 955, 956, 961, 962], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [959], "excluded_lines": []}, "EntryManager.export_totp_entries": {"executed_lines": [968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [974, 980, 984], "excluded_lines": []}, "EntryManager.get_encrypted_index": {"executed_lines": [1003, 1004], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1005, 1006, 1007, 1010], "excluded_lines": []}, "EntryManager.retrieve_entry": {"executed_lines": [1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036], "summary": {"covered_lines": 10, "num_statements": 17, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1038, 1039, 1040, 1042, 1043, 1046, 1049], "excluded_lines": []}, "EntryManager.modify_entry": {"executed_lines": [1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352], "summary": {"covered_lines": 82, "num_statements": 102, "percent_covered": 80.3921568627451, "percent_covered_display": "80", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324], "excluded_lines": []}, "EntryManager.add_link": {"executed_lines": [1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1368], "excluded_lines": []}, "EntryManager.remove_link": {"executed_lines": [1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1406], "excluded_lines": []}, "EntryManager.get_links": {"executed_lines": [1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1438], "excluded_lines": []}, "EntryManager.archive_entry": {"executed_lines": [1462], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.restore_entry": {"executed_lines": [1466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryManager.list_entries": {"executed_lines": [1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612], "summary": {"covered_lines": 46, "num_statements": 54, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618], "excluded_lines": []}, "EntryManager.list_entries.sort_key": {"executed_lines": [1500, 1501, 1502, 1503, 1506, 1507, 1509], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1510], "excluded_lines": []}, "EntryManager.search_entries": {"executed_lines": [1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1633], "excluded_lines": []}, "EntryManager.delete_entry": {"executed_lines": [1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752], "summary": {"covered_lines": 23, "num_statements": 32, "percent_covered": 71.875, "percent_covered_display": "72", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770], "excluded_lines": []}, "EntryManager.update_checksum": {"executed_lines": [1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1791, 1792, 1793], "excluded_lines": []}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831], "excluded_lines": []}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868], "excluded_lines": []}, "EntryManager.get_entry_summaries": {"executed_lines": [1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1888, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}, "classes": {"EntryManager": {"executed_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 96, 98, 99, 100, 101, 103, 104, 107, 108, 109, 111, 112, 114, 115, 118, 122, 123, 124, 126, 127, 129, 131, 133, 134, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 180, 183, 184, 185, 188, 189, 190, 191, 202, 203, 204, 205, 206, 209, 210, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 276, 278, 280, 282, 284, 285, 286, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 352, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 679, 680, 681, 682, 700, 701, 703, 704, 707, 708, 709, 712, 714, 717, 718, 720, 723, 725, 726, 729, 730, 735, 736, 737, 738, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 923, 928, 937, 938, 939, 940, 944, 945, 947, 948, 949, 953, 954, 955, 956, 961, 962, 968, 969, 970, 971, 972, 973, 975, 976, 977, 978, 979, 981, 982, 985, 986, 995, 1003, 1004, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1093, 1094, 1095, 1097, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1281, 1282, 1283, 1285, 1289, 1290, 1291, 1293, 1297, 1298, 1299, 1300, 1304, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1603, 1604, 1610, 1612, 1629, 1630, 1632, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1729, 1730, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900], "summary": {"covered_lines": 654, "num_statements": 810, "percent_covered": 80.74074074074075, "percent_covered_display": "81", "missing_lines": 156, "excluded_lines": 0}, "missing_lines": [91, 97, 102, 105, 106, 110, 113, 125, 128, 130, 132, 135, 136, 176, 177, 178, 192, 193, 194, 208, 211, 212, 213, 214, 275, 277, 279, 281, 283, 287, 306, 307, 308, 309, 348, 353, 400, 401, 402, 459, 524, 678, 702, 705, 715, 719, 721, 727, 741, 814, 897, 922, 924, 925, 926, 927, 943, 946, 959, 974, 980, 984, 1005, 1006, 1007, 1010, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1098, 1101, 1107, 1279, 1284, 1294, 1295, 1301, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1323, 1324, 1368, 1406, 1438, 1510, 1594, 1595, 1596, 1614, 1615, 1616, 1617, 1618, 1633, 1727, 1728, 1731, 1732, 1758, 1761, 1768, 1769, 1770, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1888, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 25, 27, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 97, "num_statements": 114, "percent_covered": 85.08771929824562, "percent_covered_display": "85", "missing_lines": 17, "excluded_lines": 8}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.handle_add_password": {"executed_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 60, "num_statements": 77, "percent_covered": 77.92207792207792, "percent_covered_display": "78", "missing_lines": 17, "excluded_lines": 4}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [239, 240, 241, 242]}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [95, 96]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}, "classes": {"EntryService": {"executed_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 119, 120, 122, 123, 124, 127, 128, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 162, 164, 167, 168, 171, 174, 175, 177, 178, 179, 181, 184, 185, 188, 191, 194, 196, 199, 202, 204, 205, 208, 210, 213, 216, 218, 237], "summary": {"covered_lines": 86, "num_statements": 103, "percent_covered": 83.49514563106796, "percent_covered_display": "83", "missing_lines": 17, "excluded_lines": 6}, "missing_lines": [116, 117, 129, 155, 156, 157, 158, 169, 186, 192, 193, 200, 201, 206, 207, 214, 215], "excluded_lines": [95, 96, 239, 240, 241, 242]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/errors.py": {"executed_lines": [1, 11, 12, 15, 16, 18, 19, 22, 23, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SeedPassError": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/high_risk_partition_store.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "functions": {"_partition_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "_fernet_for_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 21, 22], "excluded_lines": []}, "load_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "save_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 59, 60, 61, 62], "excluded_lines": []}, "load_partition_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [68, 69], "excluded_lines": []}, "migrate_high_risk_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}}}, "src/seedpass/core/manager.py": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 127, 128, 129, 130, 131, 143, 144, 145, 150, 151, 154, 155, 156, 157, 160, 162, 163, 166, 191, 192, 193, 195, 196, 199, 202, 203, 204, 206, 208, 211, 212, 214, 217, 218, 220, 222, 223, 224, 225, 226, 229, 230, 239, 240, 241, 242, 243, 244, 246, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 331, 332, 343, 344, 349, 352, 353, 354, 355, 356, 357, 359, 360, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 373, 378, 379, 381, 382, 383, 384, 385, 388, 398, 399, 400, 401, 409, 411, 413, 416, 418, 427, 428, 429, 430, 440, 443, 449, 459, 460, 464, 465, 469, 471, 473, 479, 480, 481, 482, 483, 485, 487, 488, 489, 490, 491, 492, 502, 503, 507, 508, 510, 512, 514, 515, 516, 521, 523, 524, 538, 539, 541, 542, 543, 544, 548, 550, 551, 552, 553, 554, 555, 557, 559, 560, 561, 562, 563, 564, 566, 568, 569, 570, 574, 578, 579, 581, 583, 585, 586, 587, 588, 589, 590, 591, 593, 594, 595, 596, 597, 599, 600, 601, 602, 603, 605, 606, 607, 608, 609, 610, 611, 613, 614, 615, 617, 618, 619, 621, 623, 624, 625, 626, 627, 629, 642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 675, 679, 680, 681, 689, 693, 694, 696, 699, 701, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756, 773, 778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848, 850, 853, 854, 855, 858, 869, 874, 876, 877, 878, 884, 889, 891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952, 1008, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104, 1106, 1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140, 1146, 1147, 1148, 1149, 1151, 1152, 1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1182, 1183, 1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1207, 1208, 1284, 1285, 1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326, 1329, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363, 1368, 1374, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1457, 1458, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1539, 1549, 1550, 1551, 1552, 1553, 1554, 1559, 1566, 1567, 1568, 1569, 1570, 1580, 1581, 1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1649, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1679, 1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1707, 1709, 1713, 1714, 1719, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1746, 1748, 1749, 1756, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814, 1821, 1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849, 1856, 1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966, 1970, 1971, 1973, 1975, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2004, 2006, 2007, 2009, 2012, 2014, 2021, 2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036, 2038, 2039, 2041, 2043, 2046, 2047, 2048, 2049, 2050, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067, 2069, 2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2126, 2130, 2132, 2133, 2135, 2143, 2154, 2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178, 2180, 2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207, 2209, 2210, 2211, 2219, 2221, 2222, 2224, 2226, 2227, 2233, 2234, 2236, 2237, 2239, 2240, 2246, 2321, 2322, 2323, 2325, 2326, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817, 2819, 2836, 2838, 2839, 2840, 2841, 2843, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864, 2866, 2870, 2872, 2874, 2875, 2876, 2878, 2879, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2900, 2915, 2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934, 2936, 2937, 2938, 2940, 2941, 2942, 2943, 2945, 2959, 2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986, 2988, 2990, 2994, 2996, 2998, 2999, 3000, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3074, 3084, 3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102, 3104, 3110, 3113, 3115, 3116, 3131, 3132, 3134, 3136, 3137, 3138, 3140, 3141, 3144, 3145, 3146, 3147, 3149, 3150, 3153, 3154, 3155, 3156, 3158, 3159, 3164, 3169, 3176, 3187, 3189, 3190, 3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3224, 3225, 3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731, 3737, 3738, 3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793, 3795, 3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979, 3981, 3982, 3983, 3985, 3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011, 4022, 4023, 4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036, 4041, 4042, 4044, 4046, 4049, 4052, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112, 4119, 4120, 4121, 4123, 4124, 4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158, 4163, 4164, 4192, 4198, 4199, 4200, 4201, 4202, 4212, 4233, 4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299, 4301, 4304, 4306, 4310, 4311, 4312, 4317, 4321, 4322, 4323, 4332, 4333, 4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393, 4399, 4400, 4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451, 4481, 4482, 4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546, 4552, 4553, 4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644, 4649, 4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679, 4694, 4705, 4706, 4707, 4708, 4709, 4711, 4716, 4717, 4718, 4719, 4729, 4752, 4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817, 4826, 4898], "summary": {"covered_lines": 1672, "num_statements": 2768, "percent_covered": 60.40462427745665, "percent_covered_display": "60", "missing_lines": 1096, "excluded_lines": 11}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 176, 177, 178, 179, 182, 184, 185, 187, 188, 205, 337, 338, 339, 347, 386, 412, 431, 493, 494, 505, 511, 517, 518, 519, 526, 527, 528, 529, 530, 533, 534, 535, 536, 545, 546, 571, 572, 584, 616, 644, 646, 682, 683, 684, 687, 736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771, 793, 794, 797, 832, 841, 859, 865, 886, 887, 893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1089, 1090, 1091, 1092, 1095, 1100, 1103, 1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144, 1155, 1186, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1305, 1307, 1322, 1323, 1327, 1358, 1359, 1360, 1364, 1365, 1366, 1372, 1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455, 1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537, 1555, 1556, 1557, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1602, 1603, 1644, 1645, 1646, 1647, 1663, 1664, 1665, 1668, 1674, 1675, 1676, 1677, 1687, 1791, 1792, 1842, 1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968, 1982, 2008, 2010, 2019, 2044, 2051, 2052, 2053, 2054, 2077, 2120, 2127, 2128, 2141, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2157, 2163, 2164, 2165, 2192, 2201, 2204, 2241, 2242, 2243, 2244, 2261, 2262, 2263, 2265, 2266, 2268, 2269, 2270, 2271, 2272, 2273, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790, 2797, 2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913, 2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957, 2984, 3003, 3004, 3005, 3006, 3007, 3008, 3011, 3012, 3013, 3014, 3015, 3016, 3019, 3020, 3021, 3022, 3023, 3024, 3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3040, 3041, 3045, 3046, 3047, 3048, 3051, 3052, 3053, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3072, 3075, 3076, 3077, 3078, 3079, 3080, 3082, 3089, 3090, 3092, 3093, 3096, 3097, 3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171, 3205, 3206, 3207, 3212, 3213, 3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735, 3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788, 3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968, 3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020, 4030, 4031, 4037, 4038, 4039, 4084, 4085, 4110, 4114, 4115, 4116, 4117, 4159, 4160, 4161, 4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4218, 4219, 4220, 4221, 4222, 4225, 4231, 4296, 4297, 4313, 4314, 4315, 4328, 4329, 4330, 4355, 4356, 4375, 4394, 4395, 4396, 4397, 4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479, 4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550, 4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647, 4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692, 4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750, 4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824, 4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896, 4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": [2123, 2124, 2151, 2152, 2228, 2229, 3172, 3173, 3174, 3871, 3872], "functions": {"AuditLogger.__init__": {"executed_lines": [127, 128, 129, 130, 131], "summary": {"covered_lines": 5, "num_statements": 15, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "AuditLogger.log": {"executed_lines": [144, 145, 150, 151, 154, 155, 156, 157], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "calculate_profile_id": {"executed_lines": [162, 163], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188], "excluded_lines": []}, "requires_unlocked": {"executed_lines": [202, 203, 208], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "requires_unlocked.wrapper": {"executed_lines": [204, 206], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [205], "excluded_lines": []}, "AuthGuard.__init__": {"executed_lines": [217, 218], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard.check_timeout": {"executed_lines": [222, 223, 224, 225, 226], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.__init__": {"executed_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [337, 338, 339], "excluded_lines": []}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [347], "excluded_lines": []}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [352, 353, 354, 355, 356, 357], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._get_kdf_mode": {"executed_lines": [360, 361, 362, 363, 364], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._get_kdf_iterations": {"executed_lines": [367, 368, 369, 370, 371, 372, 373, 378, 379], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._get_argon2_time_cost": {"executed_lines": [382, 383, 384, 385], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [386], "excluded_lines": []}, "PasswordManager._derive_seed_key": {"executed_lines": [398, 399, 400, 401, 409, 411, 413, 416], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [412], "excluded_lines": []}, "PasswordManager._build_seed_kdf_config": {"executed_lines": [427, 428, 429, 430, 440, 443], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [431], "excluded_lines": []}, "PasswordManager._encrypt_parent_seed_compat": {"executed_lines": [459, 460, 464, 465, 469], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [473, 479, 480, 481, 482, 483], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.ensure_script_checksum": {"executed_lines": [487, 488, 489, 490, 491, 492], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [493, 494], "excluded_lines": []}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [505], "excluded_lines": []}, "PasswordManager.parent_seed": {"executed_lines": [516, 521], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [517, 518, 519], "excluded_lines": []}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [526, 527, 528, 529, 530, 533, 534, 535, 536], "excluded_lines": []}, "PasswordManager.header_fingerprint_args": {"executed_lines": [541, 542, 543, 544], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [545, 546], "excluded_lines": []}, "PasswordManager.update_activity": {"executed_lines": [550, 551, 552, 553, 554, 555], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.notify": {"executed_lines": [559, 560, 561, 562, 563, 564], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.get_current_notification": {"executed_lines": [568, 569, 570, 574, 578, 579], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [571, 572], "excluded_lines": []}, "PasswordManager.poll_background_errors": {"executed_lines": [583, 585, 586, 587, 588, 589, 590, 591], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [584], "excluded_lines": []}, "PasswordManager.menu_handler": {"executed_lines": [595, 596, 597], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.profile_service": {"executed_lines": [601, 602, 603], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.entry_service": {"executed_lines": [607, 608, 609, 610, 611], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.display_service": {"executed_lines": [615, 617, 618, 619], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [616], "excluded_lines": []}, "PasswordManager.lock_vault": {"executed_lines": [623, 624, 625, 626, 627], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.unlock_vault": {"executed_lines": [642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [644, 646], "excluded_lines": []}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [679, 680, 681], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [682, 683, 684, 687], "excluded_lines": []}, "PasswordManager.setup_parent_seed": {"executed_lines": [693, 694, 696, 699], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756], "summary": {"covered_lines": 25, "num_statements": 40, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771], "excluded_lines": []}, "PasswordManager.add_new_fingerprint": {"executed_lines": [778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848], "summary": {"covered_lines": 34, "num_statements": 39, "percent_covered": 87.17948717948718, "percent_covered_display": "87", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [793, 794, 797, 832, 841], "excluded_lines": []}, "PasswordManager.select_fingerprint": {"executed_lines": [853, 854, 855, 858, 869, 874, 876, 877, 878, 884], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [859, 865, 886, 887], "excluded_lines": []}, "PasswordManager.recover_profile_with_blank_index": {"executed_lines": [891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952], "summary": {"covered_lines": 21, "num_statements": 64, "percent_covered": 32.8125, "percent_covered_display": "33", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006], "excluded_lines": []}, "PasswordManager.setup_encryption_manager": {"executed_lines": [1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104], "summary": {"covered_lines": 48, "num_statements": 55, "percent_covered": 87.27272727272727, "percent_covered_display": "87", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1089, 1090, 1091, 1092, 1095, 1100, 1103], "excluded_lines": []}, "PasswordManager.load_parent_seed": {"executed_lines": [1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140], "summary": {"covered_lines": 13, "num_statements": 22, "percent_covered": 59.09090909090909, "percent_covered_display": "59", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144], "excluded_lines": []}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [1149], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.load_managed_account": {"executed_lines": [1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1155], "excluded_lines": []}, "PasswordManager.exit_managed_account": {"executed_lines": [1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1186], "excluded_lines": []}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282], "excluded_lines": []}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1305, 1307, 1322, 1323, 1327], "excluded_lines": []}, "PasswordManager.setup_existing_seed": {"executed_lines": [1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1358, 1359, 1360, 1364, 1365, 1366], "excluded_lines": []}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1372], "excluded_lines": []}, "PasswordManager._finalize_existing_seed": {"executed_lines": [1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448], "summary": {"covered_lines": 42, "num_statements": 52, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455], "excluded_lines": []}, "PasswordManager.generate_new_seed": {"executed_lines": [1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534], "summary": {"covered_lines": 29, "num_statements": 48, "percent_covered": 60.416666666666664, "percent_covered_display": "60", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537], "excluded_lines": []}, "PasswordManager.validate_bip85_seed": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1555, 1556, 1557], "excluded_lines": []}, "PasswordManager.generate_bip85_seed": {"executed_lines": [1566, 1567, 1568, 1569, 1570], "summary": {"covered_lines": 5, "num_statements": 13, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578], "excluded_lines": []}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643], "summary": {"covered_lines": 24, "num_statements": 30, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1602, 1603, 1644, 1645, 1646, 1647], "excluded_lines": []}, "PasswordManager.initialize_bip85": {"executed_lines": [1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673], "summary": {"covered_lines": 10, "num_statements": 14, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1674, 1675, 1676, 1677], "excluded_lines": []}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1663, 1664, 1665, 1668], "excluded_lines": []}, "PasswordManager.initialize_managers": {"executed_lines": [1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1687], "excluded_lines": []}, "PasswordManager._initialize_config_and_state": {"executed_lines": [1709, 1713, 1714], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._initialize_entry_manager": {"executed_lines": [1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._initialize_password_generator": {"executed_lines": [1748, 1749], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._initialize_nostr_client": {"executed_lines": [1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814], "summary": {"covered_lines": 33, "num_statements": 35, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1791, 1792], "excluded_lines": []}, "PasswordManager._handle_migration": {"executed_lines": [1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1842], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966], "summary": {"covered_lines": 50, "num_statements": 59, "percent_covered": 84.7457627118644, "percent_covered_display": "85", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [1971], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.start_background_sync": {"executed_lines": [1975, 1976, 1977, 1978, 1979, 1984, 1993, 1994, 1995, 1996, 1999, 2000, 2002], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1982], "excluded_lines": []}, "PasswordManager.start_background_sync._worker": {"executed_lines": [1985, 1986, 1987, 1988, 1989, 1990, 1991], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.cleanup": {"executed_lines": [2006, 2007, 2009], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2008, 2010], "excluded_lines": []}, "PasswordManager.start_background_relay_check": {"executed_lines": [2014, 2021, 2038, 2039], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2019], "excluded_lines": []}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.start_background_vault_sync": {"executed_lines": [2043, 2046, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2044], "excluded_lines": []}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [2047, 2048, 2049, 2050], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2051, 2052, 2053, 2054], "excluded_lines": []}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2126, 2130], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 2}, "missing_lines": [2077, 2120, 2127, 2128], "excluded_lines": [2123, 2124]}, "PasswordManager.attempt_initial_sync": {"executed_lines": [2133], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2141], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [2144, 2145, 2146, 2147, 2148, 2149, 2150], "excluded_lines": [2151, 2152]}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178], "summary": {"covered_lines": 16, "num_statements": 20, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2157, 2163, 2164, 2165], "excluded_lines": []}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2192, 2201, 2204], "excluded_lines": []}, "PasswordManager._clear_header_add_entry": {"executed_lines": [2210, 2211], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._mark_dirty": {"executed_lines": [2221, 2222], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._sync_and_pause": {"executed_lines": [2226, 2227, 2233, 2234], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [2228, 2229]}, "PasswordManager._entry_op_context": {"executed_lines": [2239, 2240], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2241, 2242, 2243, 2244], "excluded_lines": []}, "PasswordManager._terminal_document_editor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [2261, 2262, 2263, 2265, 2268, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2266], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2269, 2270, 2271, 2272, 2273], "excluded_lines": []}, "PasswordManager.handle_add_password": {"executed_lines": [2323], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.handle_add_totp": {"executed_lines": [2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390], "summary": {"covered_lines": 31, "num_statements": 61, "percent_covered": 50.81967213114754, "percent_covered_display": "51", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438], "excluded_lines": []}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477], "excluded_lines": []}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528], "excluded_lines": []}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577], "excluded_lines": []}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619], "excluded_lines": []}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682], "excluded_lines": []}, "PasswordManager.handle_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745], "excluded_lines": []}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790], "excluded_lines": []}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2797], "excluded_lines": []}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834], "excluded_lines": []}, "PasswordManager._entry_type_str": {"executed_lines": [2838, 2839, 2840, 2841], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._generate_password_for_entry": {"executed_lines": [2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu": {"executed_lines": [2870, 2872, 2878, 2890, 2900, 2915, 2936, 2940, 2945, 2959, 2988], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.refresh_entry": {"executed_lines": [2874, 2875, 2876], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.toggle_archive": {"executed_lines": [2879, 2882, 2883, 2885, 2886, 2887, 2888], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_note": {"executed_lines": [2891, 2892], "summary": {"covered_lines": 2, "num_statements": 8, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2893, 2894, 2895, 2896, 2897, 2898], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_custom_field": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_tags": {"executed_lines": [2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_entry": {"executed_lines": [2937, 2938], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.show_qr": {"executed_lines": [2941, 2942, 2943], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_actions_menu.export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957], "excluded_lines": []}, "PasswordManager._entry_actions_menu.get_options": {"executed_lines": [2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2984], "excluded_lines": []}, "PasswordManager._entry_edit_menu": {"executed_lines": [2994, 2996, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3074, 3084, 3104], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_edit_menu.refresh_entry": {"executed_lines": [2998, 2999, 3000], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3003, 3004, 3005, 3006, 3007, 3008], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3011, 3012, 3013, 3014, 3015, 3016], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3019, 3020, 3021, 3022, 3023, 3024], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_file_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3040, 3041, 3045, 3046, 3047, 3048], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_username": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3051, 3052, 3053, 3054, 3055], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3058, 3059, 3060, 3061, 3062], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_period": {"executed_lines": [3065, 3066, 3067, 3068, 3069, 3070], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3072], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3075, 3076, 3077, 3078, 3079, 3080, 3082], "excluded_lines": []}, "PasswordManager._entry_edit_menu.get_options": {"executed_lines": [3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3089, 3090, 3092, 3093, 3096, 3097], "excluded_lines": []}, "PasswordManager._entry_qr_menu": {"executed_lines": [3113, 3115, 3116, 3131, 3132, 3134, 3140, 3149, 3158, 3164, 3169], "summary": {"covered_lines": 11, "num_statements": 20, "percent_covered": 55.0, "percent_covered_display": "55", "missing_lines": 9, "excluded_lines": 3}, "missing_lines": [3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171], "excluded_lines": [3172, 3173, 3174]}, "PasswordManager._entry_qr_menu.refresh_entry": {"executed_lines": [3136, 3137, 3138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_public_key": {"executed_lines": [3141, 3144, 3145, 3146, 3147], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_private_key": {"executed_lines": [3150, 3153, 3154, 3155, 3156], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager._entry_qr_menu.get_options": {"executed_lines": [3159], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [3187], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222], "summary": {"covered_lines": 16, "num_statements": 21, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3205, 3206, 3207, 3212, 3213], "excluded_lines": []}, "PasswordManager.handle_modify_entry": {"executed_lines": [3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731], "summary": {"covered_lines": 43, "num_statements": 194, "percent_covered": 22.164948453608247, "percent_covered_display": "22", "missing_lines": 151, "excluded_lines": 0}, "missing_lines": [3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735], "excluded_lines": []}, "PasswordManager.handle_search_entries": {"executed_lines": [3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793], "summary": {"covered_lines": 27, "num_statements": 35, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788], "excluded_lines": []}, "PasswordManager.display_entry_details": {"executed_lines": [3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979], "summary": {"covered_lines": 105, "num_statements": 140, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 35, "excluded_lines": 2}, "missing_lines": [3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968], "excluded_lines": [3871, 3872]}, "PasswordManager.handle_list_entries": {"executed_lines": [3983], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.delete_entry": {"executed_lines": [3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011], "summary": {"covered_lines": 11, "num_statements": 20, "percent_covered": 55.0, "percent_covered_display": "55", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020], "excluded_lines": []}, "PasswordManager.handle_archive_entry": {"executed_lines": [4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [4030, 4031, 4037, 4038, 4039], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [4044, 4046, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112], "summary": {"covered_lines": 42, "num_statements": 49, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4084, 4085, 4110, 4114, 4115, 4116, 4117], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [4049, 4052], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [4121], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.handle_verify_checksum": {"executed_lines": [4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158], "summary": {"covered_lines": 15, "num_statements": 18, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [4159, 4160, 4161], "excluded_lines": []}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190], "excluded_lines": []}, "PasswordManager.get_encrypted_data": {"executed_lines": [4198, 4199, 4200, 4201, 4202], "summary": {"covered_lines": 5, "num_statements": 12, "percent_covered": 41.666666666666664, "percent_covered_display": "42", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4204, 4205, 4206, 4207, 4208, 4209, 4210], "excluded_lines": []}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4218, 4219, 4220, 4221, 4222, 4225, 4231], "excluded_lines": []}, "PasswordManager.sync_vault_async": {"executed_lines": [4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [4296, 4297], "excluded_lines": []}, "PasswordManager.sync_vault": {"executed_lines": [4304], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.backup_database": {"executed_lines": [4310, 4311, 4312], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [4313, 4314, 4315], "excluded_lines": []}, "PasswordManager.restore_database": {"executed_lines": [4321, 4322, 4323], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [4328, 4329, 4330], "excluded_lines": []}, "PasswordManager.handle_export_database": {"executed_lines": [4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 70.83333333333333, "percent_covered_display": "71", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4355, 4356, 4375, 4394, 4395, 4396, 4397], "excluded_lines": []}, "PasswordManager.handle_import_database": {"executed_lines": [4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451], "summary": {"covered_lines": 17, "num_statements": 41, "percent_covered": 41.46341463414634, "percent_covered_display": "41", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479], "excluded_lines": []}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546], "summary": {"covered_lines": 25, "num_statements": 41, "percent_covered": 60.97560975609756, "percent_covered_display": "61", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550], "excluded_lines": []}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647], "excluded_lines": []}, "PasswordManager.verify_password": {"executed_lines": [4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679], "summary": {"covered_lines": 8, "num_statements": 25, "percent_covered": 32.0, "percent_covered_display": "32", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692], "excluded_lines": []}, "PasswordManager.is_valid_filename": {"executed_lines": [4705, 4706, 4707, 4708, 4709], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager.store_hashed_password": {"executed_lines": [4716, 4717, 4718, 4719, 4729], "summary": {"covered_lines": 5, "num_statements": 21, "percent_covered": 23.80952380952381, "percent_covered_display": "24", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750], "excluded_lines": []}, "PasswordManager.change_password": {"executed_lines": [4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817], "summary": {"covered_lines": 24, "num_statements": 36, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824], "excluded_lines": []}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896], "excluded_lines": []}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": []}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1821, 1856, 1970, 1973, 2004, 2012, 2041, 2069, 2132, 2135, 2143, 2154, 2180, 2209, 2219, 2224, 2236, 2237, 2246, 2321, 2322, 2325, 2326, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2819, 2836, 2843, 2866, 2990, 3110, 3176, 3189, 3190, 3224, 3225, 3737, 3738, 3795, 3981, 3982, 3985, 4022, 4023, 4041, 4042, 4119, 4120, 4123, 4124, 4163, 4164, 4192, 4212, 4233, 4301, 4306, 4317, 4332, 4333, 4399, 4400, 4481, 4482, 4552, 4553, 4649, 4694, 4711, 4752, 4826, 4898], "summary": {"covered_lines": 243, "num_statements": 243, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuditLogger": {"executed_lines": [127, 128, 129, 130, 131, 144, 145, 150, 151, 154, 155, 156, 157], "summary": {"covered_lines": 13, "num_statements": 23, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard": {"executed_lines": [217, 218, 222, 223, 224, 225, 226], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordManager": {"executed_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 398, 399, 400, 401, 409, 411, 413, 416, 427, 428, 429, 430, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 510, 512, 516, 521, 541, 542, 543, 544, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 574, 578, 579, 583, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 645, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 737, 743, 744, 749, 754, 755, 756, 778, 779, 786, 787, 788, 789, 790, 791, 796, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 838, 839, 843, 845, 846, 847, 848, 853, 854, 855, 858, 869, 874, 876, 877, 878, 884, 891, 892, 896, 897, 898, 903, 905, 906, 909, 910, 913, 917, 923, 926, 932, 933, 940, 944, 945, 946, 952, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1093, 1094, 1096, 1097, 1098, 1099, 1101, 1102, 1104, 1111, 1114, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1137, 1138, 1139, 1140, 1149, 1154, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1290, 1292, 1302, 1303, 1304, 1306, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1326, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1361, 1362, 1363, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1403, 1406, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1480, 1481, 1493, 1502, 1505, 1512, 1513, 1514, 1515, 1516, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1549, 1550, 1551, 1552, 1553, 1554, 1566, 1567, 1568, 1569, 1570, 1591, 1592, 1593, 1597, 1601, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1684, 1686, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1784, 1788, 1789, 1790, 1796, 1807, 1810, 1812, 1813, 1814, 1825, 1826, 1827, 1828, 1829, 1830, 1833, 1834, 1835, 1849, 1858, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1872, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1913, 1914, 1915, 1916, 1948, 1949, 1950, 1951, 1952, 1957, 1961, 1966, 1971, 1975, 1976, 1977, 1978, 1979, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2006, 2007, 2009, 2014, 2021, 2022, 2023, 2026, 2027, 2028, 2033, 2034, 2035, 2036, 2038, 2039, 2043, 2046, 2047, 2048, 2049, 2050, 2056, 2057, 2058, 2059, 2062, 2063, 2064, 2065, 2067, 2076, 2079, 2080, 2081, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, 2126, 2130, 2133, 2156, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2178, 2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2194, 2195, 2196, 2197, 2198, 2199, 2206, 2207, 2210, 2211, 2221, 2222, 2226, 2227, 2233, 2234, 2239, 2240, 2323, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2340, 2341, 2342, 2347, 2348, 2351, 2356, 2357, 2358, 2363, 2373, 2377, 2378, 2379, 2380, 2385, 2386, 2387, 2388, 2389, 2390, 2794, 2795, 2796, 2799, 2800, 2808, 2810, 2812, 2813, 2814, 2815, 2816, 2817, 2838, 2839, 2840, 2841, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2860, 2861, 2862, 2864, 2870, 2872, 2874, 2875, 2876, 2878, 2879, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2900, 2915, 2916, 2917, 2923, 2926, 2931, 2932, 2933, 2934, 2936, 2937, 2938, 2940, 2941, 2942, 2943, 2945, 2959, 2960, 2963, 2964, 2966, 2967, 2969, 2971, 2972, 2973, 2974, 2975, 2977, 2982, 2983, 2986, 2988, 2994, 2996, 2998, 2999, 3000, 3002, 3010, 3018, 3026, 3039, 3050, 3057, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3074, 3084, 3085, 3086, 3088, 3091, 3095, 3098, 3099, 3100, 3102, 3104, 3113, 3115, 3116, 3131, 3132, 3134, 3136, 3137, 3138, 3140, 3141, 3144, 3145, 3146, 3147, 3149, 3150, 3153, 3154, 3155, 3156, 3158, 3159, 3164, 3169, 3187, 3192, 3193, 3194, 3201, 3204, 3208, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3230, 3231, 3232, 3239, 3242, 3245, 3248, 3249, 3252, 3254, 3363, 3427, 3502, 3611, 3612, 3613, 3614, 3615, 3617, 3623, 3624, 3625, 3626, 3633, 3640, 3646, 3652, 3659, 3660, 3672, 3679, 3680, 3681, 3693, 3696, 3702, 3714, 3715, 3717, 3720, 3721, 3722, 3731, 3740, 3741, 3742, 3749, 3750, 3751, 3752, 3753, 3755, 3756, 3761, 3762, 3763, 3770, 3771, 3772, 3773, 3775, 3776, 3778, 3781, 3783, 3789, 3790, 3791, 3792, 3793, 3797, 3798, 3801, 3802, 3803, 3804, 3805, 3808, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3823, 3824, 3825, 3831, 3832, 3834, 3835, 3837, 3838, 3839, 3840, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3852, 3853, 3855, 3856, 3857, 3858, 3861, 3862, 3863, 3864, 3867, 3868, 3869, 3870, 3875, 3876, 3878, 3879, 3881, 3882, 3883, 3884, 3887, 3888, 3890, 3891, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3901, 3902, 3904, 3905, 3906, 3936, 3937, 3938, 3939, 3940, 3941, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3953, 3954, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3969, 3975, 3976, 3977, 3978, 3979, 3983, 3987, 3988, 3991, 3994, 3996, 4002, 4005, 4006, 4009, 4010, 4011, 4025, 4026, 4029, 4032, 4033, 4034, 4035, 4036, 4044, 4046, 4049, 4052, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4073, 4074, 4075, 4076, 4079, 4080, 4081, 4086, 4087, 4088, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4112, 4121, 4128, 4129, 4130, 4137, 4138, 4139, 4140, 4141, 4145, 4146, 4148, 4149, 4150, 4152, 4158, 4198, 4199, 4200, 4201, 4202, 4237, 4238, 4239, 4240, 4241, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4259, 4262, 4263, 4264, 4265, 4270, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4285, 4286, 4291, 4292, 4293, 4294, 4295, 4298, 4299, 4304, 4310, 4311, 4312, 4321, 4322, 4323, 4345, 4346, 4347, 4354, 4360, 4361, 4362, 4368, 4371, 4372, 4373, 4376, 4383, 4384, 4385, 4386, 4393, 4403, 4404, 4410, 4413, 4414, 4415, 4420, 4421, 4423, 4424, 4432, 4433, 4439, 4448, 4449, 4450, 4451, 4484, 4485, 4486, 4487, 4494, 4495, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4509, 4510, 4520, 4524, 4527, 4529, 4531, 4542, 4544, 4545, 4546, 4565, 4566, 4567, 4574, 4575, 4579, 4585, 4589, 4594, 4597, 4598, 4601, 4602, 4603, 4610, 4611, 4615, 4618, 4619, 4622, 4623, 4625, 4626, 4630, 4633, 4639, 4640, 4641, 4644, 4659, 4660, 4661, 4662, 4674, 4675, 4676, 4679, 4705, 4706, 4707, 4708, 4709, 4716, 4717, 4718, 4719, 4729, 4754, 4755, 4756, 4760, 4761, 4764, 4766, 4767, 4769, 4771, 4774, 4775, 4776, 4777, 4780, 4781, 4782, 4784, 4788, 4789, 4799, 4815, 4816, 4817], "summary": {"covered_lines": 1402, "num_statements": 2478, "percent_covered": 56.57788539144472, "percent_covered_display": "57", "missing_lines": 1076, "excluded_lines": 11}, "missing_lines": [337, 338, 339, 347, 386, 412, 431, 493, 494, 505, 511, 517, 518, 519, 526, 527, 528, 529, 530, 533, 534, 535, 536, 545, 546, 571, 572, 584, 616, 644, 646, 682, 683, 684, 687, 736, 740, 741, 746, 747, 748, 750, 751, 757, 765, 766, 768, 769, 770, 771, 793, 794, 797, 832, 841, 859, 865, 886, 887, 893, 894, 907, 908, 914, 915, 924, 934, 935, 937, 938, 941, 942, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1089, 1090, 1091, 1092, 1095, 1100, 1103, 1112, 1115, 1134, 1135, 1136, 1141, 1142, 1143, 1144, 1155, 1186, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1305, 1307, 1322, 1323, 1327, 1358, 1359, 1360, 1364, 1365, 1366, 1372, 1393, 1399, 1407, 1410, 1449, 1450, 1451, 1453, 1454, 1455, 1476, 1477, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1494, 1500, 1506, 1509, 1517, 1518, 1536, 1537, 1555, 1556, 1557, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1602, 1603, 1644, 1645, 1646, 1647, 1663, 1664, 1665, 1668, 1674, 1675, 1676, 1677, 1687, 1791, 1792, 1842, 1859, 1923, 1929, 1930, 1935, 1942, 1958, 1967, 1968, 1982, 2008, 2010, 2019, 2044, 2051, 2052, 2053, 2054, 2077, 2120, 2127, 2128, 2141, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2157, 2163, 2164, 2165, 2192, 2201, 2204, 2241, 2242, 2243, 2244, 2261, 2262, 2263, 2265, 2266, 2268, 2269, 2270, 2271, 2272, 2273, 2275, 2276, 2278, 2279, 2280, 2281, 2282, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2338, 2339, 2343, 2346, 2374, 2375, 2391, 2392, 2393, 2394, 2395, 2399, 2400, 2401, 2402, 2403, 2404, 2407, 2412, 2413, 2423, 2424, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2438, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2456, 2459, 2462, 2464, 2467, 2468, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2506, 2509, 2510, 2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2527, 2528, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2543, 2544, 2545, 2546, 2551, 2559, 2562, 2564, 2567, 2568, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2595, 2598, 2599, 2601, 2602, 2603, 2604, 2605, 2612, 2613, 2614, 2615, 2618, 2619, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2659, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2681, 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2711, 2718, 2719, 2720, 2721, 2722, 2725, 2726, 2727, 2732, 2733, 2734, 2735, 2736, 2743, 2744, 2745, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2763, 2766, 2768, 2769, 2775, 2776, 2777, 2778, 2785, 2786, 2787, 2789, 2790, 2797, 2821, 2822, 2827, 2828, 2829, 2830, 2832, 2833, 2834, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2903, 2905, 2906, 2907, 2910, 2911, 2912, 2913, 2946, 2949, 2950, 2953, 2954, 2955, 2956, 2957, 2984, 3003, 3004, 3005, 3006, 3007, 3008, 3011, 3012, 3013, 3014, 3015, 3016, 3019, 3020, 3021, 3022, 3023, 3024, 3027, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3040, 3041, 3045, 3046, 3047, 3048, 3051, 3052, 3053, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3072, 3075, 3076, 3077, 3078, 3079, 3080, 3082, 3089, 3090, 3092, 3093, 3096, 3097, 3117, 3118, 3120, 3124, 3125, 3127, 3128, 3129, 3171, 3205, 3206, 3207, 3212, 3213, 3243, 3244, 3250, 3255, 3256, 3257, 3258, 3259, 3261, 3267, 3268, 3269, 3275, 3279, 3282, 3283, 3284, 3285, 3287, 3291, 3294, 3295, 3296, 3297, 3299, 3303, 3310, 3311, 3312, 3313, 3314, 3315, 3317, 3321, 3323, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3344, 3347, 3353, 3364, 3365, 3366, 3368, 3374, 3380, 3384, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3402, 3404, 3411, 3414, 3420, 3428, 3429, 3430, 3431, 3432, 3434, 3440, 3444, 3450, 3451, 3454, 3456, 3458, 3465, 3466, 3467, 3468, 3469, 3470, 3472, 3476, 3478, 3484, 3487, 3493, 3506, 3507, 3508, 3509, 3511, 3517, 3523, 3529, 3533, 3534, 3538, 3539, 3543, 3550, 3551, 3552, 3553, 3554, 3555, 3557, 3561, 3563, 3570, 3571, 3572, 3573, 3574, 3575, 3578, 3579, 3580, 3581, 3582, 3586, 3589, 3595, 3603, 3604, 3606, 3661, 3662, 3663, 3664, 3666, 3670, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3725, 3726, 3733, 3734, 3735, 3757, 3758, 3759, 3774, 3782, 3786, 3787, 3788, 3799, 3816, 3819, 3833, 3836, 3851, 3854, 3877, 3880, 3889, 3892, 3900, 3903, 3907, 3908, 3909, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3934, 3935, 3949, 3952, 3968, 3992, 3993, 3999, 4000, 4012, 4013, 4018, 4019, 4020, 4030, 4031, 4037, 4038, 4039, 4084, 4085, 4110, 4114, 4115, 4116, 4117, 4159, 4160, 4161, 4166, 4167, 4168, 4169, 4170, 4171, 4178, 4179, 4180, 4187, 4188, 4189, 4190, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4218, 4219, 4220, 4221, 4222, 4225, 4231, 4296, 4297, 4313, 4314, 4315, 4328, 4329, 4330, 4355, 4356, 4375, 4394, 4395, 4396, 4397, 4416, 4417, 4418, 4419, 4440, 4441, 4447, 4452, 4453, 4454, 4460, 4462, 4463, 4464, 4465, 4466, 4467, 4470, 4471, 4472, 4475, 4476, 4478, 4479, 4506, 4507, 4508, 4521, 4522, 4532, 4533, 4534, 4537, 4538, 4539, 4540, 4547, 4548, 4549, 4550, 4586, 4590, 4591, 4612, 4613, 4627, 4628, 4645, 4646, 4647, 4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4678, 4680, 4681, 4682, 4688, 4689, 4690, 4691, 4692, 4722, 4723, 4728, 4730, 4732, 4733, 4734, 4735, 4737, 4738, 4743, 4744, 4747, 4748, 4749, 4750, 4757, 4785, 4786, 4802, 4804, 4805, 4806, 4818, 4819, 4822, 4823, 4824, 4828, 4829, 4831, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4852, 4853, 4854, 4857, 4858, 4859, 4860, 4861, 4863, 4864, 4865, 4867, 4870, 4871, 4872, 4873, 4876, 4879, 4880, 4881, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4896, 4900, 4901, 4902, 4903, 4905, 4906, 4907, 4908, 4909, 4910, 4916, 4917, 4922, 4923, 4929, 4935, 4936, 4937, 4938], "excluded_lines": [2123, 2124, 2151, 2152, 2228, 2229, 3172, 3173, 3174, 3871, 3872]}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 162, 163, 166, 191, 192, 193, 195, 196, 199, 202, 203, 204, 206, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1821, 1856, 1970, 1973, 2004, 2012, 2041, 2069, 2132, 2135, 2143, 2154, 2180, 2209, 2219, 2224, 2236, 2237, 2246, 2321, 2322, 2325, 2326, 2440, 2441, 2479, 2480, 2530, 2531, 2579, 2580, 2621, 2622, 2684, 2685, 2747, 2748, 2792, 2819, 2836, 2843, 2866, 2990, 3110, 3176, 3189, 3190, 3224, 3225, 3737, 3738, 3795, 3981, 3982, 3985, 4022, 4023, 4041, 4042, 4119, 4120, 4123, 4124, 4163, 4164, 4192, 4212, 4233, 4301, 4306, 4317, 4332, 4333, 4399, 4400, 4481, 4482, 4552, 4553, 4649, 4694, 4711, 4752, 4826, 4898], "summary": {"covered_lines": 250, "num_statements": 260, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188, 205], "excluded_lines": []}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97, 98, 99, 100, 102, 103, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 145, 146, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 118, "num_statements": 145, "percent_covered": 81.37931034482759, "percent_covered_display": "81", "missing_lines": 27, "excluded_lines": 8}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96, 143, 171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [16, 17, 98, 99, 100, 253, 254, 255], "functions": {"MenuHandler.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MenuHandler.handle_list_entries": {"executed_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97, 98, 99, 100], "summary": {"covered_lines": 36, "num_statements": 44, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96], "excluded_lines": [98, 99, 100]}, "MenuHandler.run_menu": {"executed_lines": [117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [143], "excluded_lines": []}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 47, "num_statements": 65, "percent_covered": 72.3076923076923, "percent_covered_display": "72", "missing_lines": 18, "excluded_lines": 3}, "missing_lines": [171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}, "classes": {"MenuHandler": {"executed_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 58, 59, 62, 63, 64, 73, 74, 75, 82, 83, 84, 85, 86, 89, 92, 93, 94, 97, 98, 99, 100, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 174, 176, 177, 178, 179, 180, 184, 185, 186, 187, 194, 195, 196, 197, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 248, 250, 251, 252], "summary": {"covered_lines": 99, "num_statements": 126, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 27, "excluded_lines": 6}, "missing_lines": [51, 55, 56, 66, 67, 88, 95, 96, 143, 171, 172, 181, 182, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 246, 247, 249], "excluded_lines": [98, 99, 100, 253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}}, "src/seedpass/core/migrations.py": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 68, 71, 74, 76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [78, 83], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v0_to_v1": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v1_to_v2": {"executed_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v2_to_v3": {"executed_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v3_to_v4": {"executed_lines": [64, 65, 66, 67, 68], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "apply_migrations": {"executed_lines": [76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [78, 83], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 68, 71, 74, 76, 77, 80, 81, 82, 84, 85, 87], "summary": {"covered_lines": 56, "num_statements": 58, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [78, 83], "excluded_lines": []}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 96, 97, 105, 120, 121, 122, 123, 124, 126, 127, 129, 133, 139, 141, 142, 144, 151, 152, 154, 155, 156, 158, 160, 161, 162, 164, 173, 174, 175, 176, 177, 178, 179, 180, 182, 185, 186, 187, 188, 189, 191, 212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 285, 294, 295, 296, 297, 298, 300, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 345, 349, 350, 351, 352, 354, 360, 362, 363, 364, 365, 367, 377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 410, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 491, 493, 496, 499, 500, 501, 503, 504, 510, 511, 516, 519, 521, 524, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 565, 567, 568, 569, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 280, "num_statements": 292, "percent_covered": 95.89041095890411, "percent_covered_display": "96", "missing_lines": 12, "excluded_lines": 7}, "missing_lines": [134, 135, 136, 137, 222, 225, 361, 387, 485, 486, 487, 488], "excluded_lines": [571, 572, 573, 574, 575, 576, 577], "functions": {"DeterministicStream.__init__": {"executed_lines": [82, 83, 84], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream.get_value": {"executed_lines": [87, 88, 89], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream.current_index": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator.__init__": {"executed_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [134, 135, 136, 137], "excluded_lines": []}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [141, 142, 144, 151, 152, 154, 155, 156], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [160, 161, 162], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [173, 174, 175, 176, 177, 178, 179, 180], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [185, 186, 187, 188, 189], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator.generate_password": {"executed_lines": [212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [222, 225], "excluded_lines": []}, "PasswordGenerator._count_char_types": {"executed_lines": [294, 295, 296, 297, 298], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator._enforce_minimum_counts": {"executed_lines": [311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator._add_additional_symbols": {"executed_lines": [349, 350, 351, 352, 354, 360, 362, 363, 364, 365], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [361], "excluded_lines": []}, "PasswordGenerator._balance_distribution": {"executed_lines": [377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [387], "excluded_lines": []}, "PasswordGenerator._enforce_complexity": {"executed_lines": [426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483], "summary": {"covered_lines": 23, "num_statements": 27, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [485, 486, 487, 488], "excluded_lines": []}, "derive_ssh_key": {"executed_lines": [493], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_ssh_key_pair": {"executed_lines": [499, 500, 501, 503, 504, 510, 511, 516], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_seed_phrase": {"executed_lines": [521], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_pgp_key": {"executed_lines": [535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 565, 567, 571, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [571]}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [568, 569], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [572, 573, 574, 575, 576, 577], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream": {"executed_lines": [82, 83, 84, 87, 88, 89, 93], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator": {"executed_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483], "summary": {"covered_lines": 165, "num_statements": 177, "percent_covered": 93.22033898305085, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [134, 135, 136, 137, 222, 225, 361, 387, 485, 486, 487, 488], "excluded_lines": []}, "derive_pgp_key.DRNG": {"executed_lines": [568, 569, 572, 573, 574, 575, 576, 577], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 493, 496, 499, 500, 501, 503, 504, 510, 511, 516, 519, 521, 524, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 565, 567, 571, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [571]}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 42, 45, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121, 124, 132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 71, "num_statements": 84, "percent_covered": 84.52380952380952, "percent_covered_display": "85", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 134, 138, 156], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "export_backup": {"executed_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121], "summary": {"covered_lines": 25, "num_statements": 35, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119], "excluded_lines": []}, "import_backup": {"executed_lines": [132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 20, "num_statements": 23, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [134, 138, 156], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 42, 45, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 121, 124, 132, 133, 136, 137, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 158, 160, 161, 162, 164, 165], "summary": {"covered_lines": 71, "num_statements": 84, "percent_covered": 84.52380952380952, "percent_covered_display": "85", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 134, 138, 156], "excluded_lines": []}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 21, 23, 25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 38, "num_statements": 51, "percent_covered": 74.50980392156863, "percent_covered_display": "75", "missing_lines": 13, "excluded_lines": 7}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 28, "num_statements": 41, "percent_covered": 68.29268292682927, "percent_covered_display": "68", "missing_lines": 13, "excluded_lines": 4}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}, "classes": {"ProfileService": {"executed_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 42, 43, 44, 45, 46, 48, 49, 58, 59, 63, 68, 69, 70, 71, 73, 74, 82, 95, 105], "summary": {"covered_lines": 29, "num_statements": 42, "percent_covered": 69.04761904761905, "percent_covered_display": "69", "missing_lines": 13, "excluded_lines": 4}, "missing_lines": [39, 40, 50, 56, 66, 85, 87, 88, 89, 98, 99, 100, 103], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 6, 8, 9, 11, 13, 15, 17, 18, 20, 22, 23, 27], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.subscribe": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.unsubscribe": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.publish": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PubSub": {"executed_lines": [9, 13, 17, 18, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/semantic_index.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 29, 31, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 84, 88, 89, 99, 100, 102, 109, 116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153, 155, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179, 181, 182, 183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217, 219, 220, 221, 222, 224, 226, 227, 228, 229, 230, 231, 235, 236, 237, 242, 243, 244, 245, 246, 247], "summary": {"covered_lines": 127, "num_statements": 154, "percent_covered": 82.46753246753246, "percent_covered_display": "82", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 118, 121, 127, 134, 162, 169, 202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215, 223, 232, 233, 248, 249], "excluded_lines": [], "functions": {"SemanticIndex.__init__": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex.status": {"executed_lines": [50, 51, 52, 53, 54], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex.set_enabled": {"executed_lines": [64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex.build": {"executed_lines": [72, 73, 74, 84, 88, 89, 99, 100], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": []}, "SemanticIndex.search": {"executed_lines": [116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [118, 121, 127, 134], "excluded_lines": []}, "SemanticIndex._records_from_entries": {"executed_lines": [158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 169], "excluded_lines": []}, "SemanticIndex._extract_text": {"executed_lines": [183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217], "summary": {"covered_lines": 19, "num_statements": 30, "percent_covered": 63.333333333333336, "percent_covered_display": "63", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215], "excluded_lines": []}, "SemanticIndex._tokenize": {"executed_lines": [221, 222, 224], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [223], "excluded_lines": []}, "SemanticIndex._load_manifest": {"executed_lines": [227, 228, 229, 230, 231], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [232, 233], "excluded_lines": []}, "SemanticIndex._save_manifest": {"executed_lines": [236, 237], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex._load_records": {"executed_lines": [243, 244, 245, 246, 247], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 29, 31, 43, 49, 63, 71, 102, 109, 155, 181, 182, 219, 220, 226, 235, 242], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SemanticRecord": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SemanticIndex": {"executed_lines": [44, 45, 46, 47, 50, 51, 52, 53, 54, 64, 65, 66, 67, 68, 69, 72, 73, 74, 84, 88, 89, 99, 100, 116, 117, 119, 120, 122, 123, 124, 125, 126, 128, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 153, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 170, 179, 183, 184, 185, 186, 187, 189, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 217, 221, 222, 224, 227, 228, 229, 230, 231, 236, 237, 243, 244, 245, 246, 247], "summary": {"covered_lines": 91, "num_statements": 118, "percent_covered": 77.11864406779661, "percent_covered_display": "77", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 118, 121, 127, 134, 162, 169, 202, 203, 204, 205, 206, 207, 211, 212, 213, 214, 215, 223, 232, 233, 248, 249], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 29, 31, 43, 49, 63, 71, 102, 109, 155, 181, 182, 219, 220, 226, 235, 242], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 18, 19, 21, 22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 67, 68, 69, 70, 73, 74, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 59, "num_statements": 65, "percent_covered": 90.76923076923077, "percent_covered_display": "91", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [35, 45, 46, 80, 89, 91], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StateManager._load": {"executed_lines": [22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53], "summary": {"covered_lines": 15, "num_statements": 18, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [35, 45, 46], "excluded_lines": []}, "StateManager._save": {"executed_lines": [56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StateManager.state": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StateManager.update_state": {"executed_lines": [68, 69, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StateManager.list_relays": {"executed_lines": [74], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StateManager.add_relay": {"executed_lines": [77, 78, 79, 81, 82, 83], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "StateManager.remove_relay": {"executed_lines": [86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [89, 91], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StateManager": {"executed_lines": [18, 19, 22, 23, 31, 32, 33, 34, 43, 44, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94], "summary": {"covered_lines": 41, "num_statements": 47, "percent_covered": 87.23404255319149, "percent_covered_display": "87", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [35, 45, 46, 80, 89, 91], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [1, 3, 6, 7, 9, 10, 12, 14, 15, 16, 18, 20], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StatsManager.display_stats_once": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "StatsManager.reset": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StatsManager": {"executed_lines": [10, 14, 15, 16, 20], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/sync_conflict.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 14, 15, 18, 19, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 41, 42, 45, 46, 47, 50, 51, 52, 53, 63, 66, 67, 68, 70, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 91, 94, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 121, 122, 125, 132, 133, 134, 135, 136, 139, 140, 141, 152, 155, 156, 157, 158, 159, 160, 161, 162, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 189, 193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 162, "num_statements": 186, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [25, 26, 34, 54, 60, 69, 76, 79, 84, 196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": [], "functions": {"_canonical": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_entry_hash": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_entry_ts": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_safe_int": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 26], "excluded_lines": []}, "_is_empty": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [34], "excluded_lines": []}, "_entry_kind": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_is_deleted_entry": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_entry_event_hash": {"executed_lines": [46, 47], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_tombstone_event_hash": {"executed_lines": [51, 52, 53], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [54, 60], "excluded_lines": []}, "_prefer_tombstone": {"executed_lines": [66, 67, 68, 70], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [69], "excluded_lines": []}, "_normalize_tombstones": {"executed_lines": [74, 75, 77, 78, 80, 81, 82, 83, 85, 91], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 79, 84], "excluded_lines": []}, "_merge_tombstones": {"executed_lines": [97, 98, 99, 100, 101, 102], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_max_entry_ts": {"executed_lines": [106, 107, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_max_tombstone_ts": {"executed_lines": [116, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_prefer_entry": {"executed_lines": [132, 133, 134, 135, 136], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_union_fields_for_kind": {"executed_lines": [140, 141, 152], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_merge_list_union": {"executed_lines": [156, 157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_merge_equal_ts_entries": {"executed_lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "merge_index_payloads": {"executed_lines": [193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 59, "num_statements": 74, "percent_covered": 79.72972972972973, "percent_covered_display": "80", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 14, 15, 18, 19, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 41, 42, 45, 46, 47, 50, 51, 52, 53, 63, 66, 67, 68, 70, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 91, 94, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 120, 121, 122, 125, 132, 133, 134, 135, 136, 139, 140, 141, 152, 155, 156, 157, 158, 159, 160, 161, 162, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 189, 193, 194, 195, 197, 198, 200, 203, 208, 209, 210, 212, 213, 215, 216, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 279, 280, 281, 285, 286, 288, 289, 291, 292, 293, 294, 295, 302, 304, 305, 311, 320, 321], "summary": {"covered_lines": 162, "num_statements": 186, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [25, 26, 34, 54, 60, 69, 76, 79, 84, 196, 199, 214, 217, 218, 219, 226, 227, 228, 239, 240, 277, 287, 290, 303], "excluded_lines": []}}}, "src/seedpass/core/totp.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 22, 25, 26, 28, 29, 31, 33, 34, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 70, 71, 73, 74, 76, 77, 78, 80, 81, 83, 84, 85, 86, 94, 95, 97, 98, 100, 101, 102, 103], "summary": {"covered_lines": 64, "num_statements": 71, "percent_covered": 90.14084507042253, "percent_covered_display": "90", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.derive_secret": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.current_code": {"executed_lines": [38, 39, 40, 41, 42], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.current_code_from_secret": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.parse_otpauth": {"executed_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.make_otpauth_uri": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.time_remaining": {"executed_lines": [76, 77, 78], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.print_progress_bar": {"executed_lines": [83, 84, 85, 86, 94, 95], "summary": {"covered_lines": 6, "num_statements": 13, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": []}, "TotpManager.print_qr_code": {"executed_lines": [100, 101, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TotpManager": {"executed_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70, 71, 76, 77, 78, 83, 84, 85, 86, 94, 95, 100, 101, 102, 103], "summary": {"covered_lines": 34, "num_statements": 41, "percent_covered": 82.92682926829268, "percent_covered_display": "83", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [87, 88, 89, 90, 91, 92, 93], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 22, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/vault.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 32, 33, 34, 35, 36, 38, 40, 42, 43, 48, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237, 239, 241, 245, 247, 249, 264, 267, 270, 271, 272, 275, 277, 279, 281], "summary": {"covered_lines": 119, "num_statements": 140, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [32, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.set_encryption_manager": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault._hkdf_kdf": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.load_index": {"executed_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237], "summary": {"covered_lines": 82, "num_statements": 103, "percent_covered": 79.6116504854369, "percent_covered_display": "80", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": []}, "Vault.save_index": {"executed_lines": [241], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.get_encrypted_index": {"executed_lines": [247], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [264, 267, 270, 271, 272], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.load_config": {"executed_lines": [277], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Vault.save_config": {"executed_lines": [281], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Vault": {"executed_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 98, 99, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 152, 155, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "summary": {"covered_lines": 98, "num_statements": 119, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 100, 149, 163, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/errors.py": {"executed_lines": [1, 3, 6, 7, 9, 10, 13], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultLockedError": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/release_integrity.py": {"executed_lines": [1, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 73, 77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 58, "num_statements": 68, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [24, 60, 62, 69, 83, 86, 87, 88, 91, 92], "excluded_lines": [], "functions": {"_file_sha256": {"executed_lines": [11, 12, 13, 14, 15], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "collect_artifacts": {"executed_lines": [20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "generate_checksums": {"executed_lines": [42, 43, 44, 45, 46, 47, 52, 53], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "parse_checksum_line": {"executed_lines": [58, 59, 61, 63, 64, 65, 66, 67, 68, 70], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [60, 62, 69], "excluded_lines": []}, "verify_checksums": {"executed_lines": [77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 12, "num_statements": 18, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [83, 86, 87, 88, 91, 92], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 10, 18, 38, 56, 73], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 73, 77, 78, 79, 82, 84, 85, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 58, "num_statements": 68, "percent_covered": 85.29411764705883, "percent_covered_display": "85", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [24, 60, 62, 69, 83, 86, 87, 88, 91, 92], "excluded_lines": []}}}, "src/seedpass/tui_v2/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/tui_v2/app.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 12, 14, 15, 27, 29, 30, 31, 32, 33, 34, 35, 36, 38, 41, 48, 49, 50, 51, 52, 53, 54, 55, 58, 62, 63, 64, 66, 67, 68, 71, 72, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 89, 106, 107, 110, 111, 112, 113, 114, 116, 117, 121, 122, 123, 124, 126, 127, 128, 129, 146, 321, 365, 366, 367, 368, 369, 370, 371, 373, 374, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 431, 434, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 455, 458, 459, 465, 469, 470, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 523, 524, 525, 531, 534, 535, 543, 544, 552, 553, 559, 560, 566, 567, 575, 576, 582, 583, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 608, 610, 611, 612, 613, 614, 619, 624, 625, 627, 628, 629, 631, 632, 633, 635, 636, 637, 639, 640, 641, 642, 643, 644, 646, 647, 648, 650, 651, 653, 654, 655, 656, 657, 658, 660, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 675, 676, 677, 678, 679, 680, 681, 682, 690, 691, 692, 694, 695, 697, 706, 708, 709, 710, 711, 712, 713, 716, 717, 718, 719, 720, 721, 722, 725, 726, 727, 728, 730, 734, 735, 736, 737, 738, 739, 740, 743, 744, 745, 746, 748, 751, 752, 753, 754, 755, 756, 766, 767, 768, 769, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 782, 783, 784, 785, 786, 787, 788, 790, 791, 792, 795, 796, 797, 798, 805, 806, 813, 815, 816, 817, 818, 819, 820, 821, 825, 826, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 848, 849, 850, 851, 852, 854, 856, 857, 858, 859, 860, 861, 862, 864, 865, 866, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 879, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 902, 903, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 920, 921, 922, 923, 925, 929, 930, 932, 933, 934, 944, 948, 949, 954, 964, 965, 966, 967, 969, 971, 973, 975, 977, 978, 987, 988, 989, 990, 992, 993, 994, 1009, 1010, 1012, 1014, 1016, 1018, 1020, 1021, 1029, 1030, 1031, 1045, 1046, 1048, 1049, 1050, 1052, 1053, 1055, 1056, 1058, 1061, 1062, 1063, 1064, 1066, 1067, 1068, 1069, 1074, 1076, 1077, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1093, 1094, 1095, 1096, 1097, 1099, 1102, 1103, 1131, 1132, 1145, 1146, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1201, 1203, 1204, 1205, 1206, 1207, 1209, 1211, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1257, 1258, 1260, 1261, 1262, 1263, 1265, 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1292, 1293, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1305, 1306, 1310, 1311, 1312, 1316, 1324, 1325, 1326, 1327, 1329, 1330, 1331, 1333, 1334, 1335, 1346, 1347, 1348, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1358, 1359, 1360, 1362, 1363, 1364, 1365, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1380, 1381, 1382, 1384, 1385, 1387, 1388, 1389, 1393, 1396, 1397, 1398, 1400, 1401, 1402, 1404, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1415, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1439, 1440, 1443, 1444, 1445, 1446, 1447, 1448, 1450, 1451, 1455, 1456, 1461, 1462, 1464, 1465, 1466, 1471, 1472, 1473, 1474, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1495, 1498, 1499, 1502, 1503, 1504, 1507, 1510, 1513, 1514, 1515, 1516, 1519, 1522, 1523, 1524, 1527, 1530, 1531, 1532, 1533, 1534, 1537, 1543, 1544, 1549, 1550, 1555, 1558, 1559, 1560, 1561, 1581, 1582, 1583, 1601, 1611, 1612, 1613, 1614, 1616, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1651, 1652, 1655, 1657, 1658, 1659, 1660, 1661, 1662, 1670, 1708, 1711, 1712, 1722, 1723, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1750, 1751, 1752, 1757, 1758, 1762, 1763, 1766, 1769, 1770, 1771, 1772, 1773, 1777, 1778, 1779, 1780, 1782, 1785, 1786, 1787, 1788, 1799, 1800, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1814, 1817, 1820, 1821, 1822, 1823, 1824, 1827, 1828, 1829, 1831, 1832, 1835, 1837, 1838, 1839, 1842, 1844, 1845, 1846, 1857, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1869, 1871, 1872, 1873, 1874, 1875, 1876, 1878, 1880, 1881, 1882, 1883, 1884, 1885, 1887, 1890, 1891, 1892, 1894, 1895, 1898, 1903, 1904, 1907, 1908, 1909, 1912, 1913, 1914, 1915, 1917, 1918, 1923, 1924, 1925, 1926, 1932, 1933, 1934, 1935, 1942, 1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1962, 1968, 1969, 1970, 1971, 1977, 1978, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2010, 2016, 2017, 2018, 2022, 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2053, 2057, 2060, 2073, 2075, 2076, 2077, 2078, 2079, 2084, 2090, 2091, 2092, 2098, 2101, 2118, 2120, 2121, 2122, 2123, 2128, 2129, 2134, 2140, 2141, 2142, 2146, 2150, 2167, 2169, 2170, 2171, 2172, 2177, 2183, 2184, 2185, 2190, 2194, 2211, 2213, 2214, 2215, 2216, 2221, 2227, 2228, 2229, 2233, 2237, 2254, 2256, 2257, 2258, 2259, 2260, 2271, 2285, 2291, 2298, 2306, 2307, 2308, 2309, 2311, 2312, 2313, 2315, 2316, 2319, 2320, 2321, 2322, 2326, 2327, 2328, 2331, 2333, 2334, 2337, 2339, 2340, 2342, 2343, 2345, 2347, 2350, 2351, 2352, 2362, 2363, 2365, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2381, 2382, 2383, 2384, 2387, 2388, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2400, 2401, 2402, 2407, 2408, 2411, 2412, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2430, 2432, 2433, 2434, 2435, 2436, 2437, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2448, 2449, 2450, 2451, 2452, 2453, 2456, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2477, 2480, 2481, 2482, 2483, 2484, 2485, 2506, 2507, 2514, 2515, 2516, 2517, 2520, 2521, 2522, 2528, 2530, 2531, 2532, 2533, 2534, 2536, 2537, 2539, 2546, 2547, 2548, 2550, 2551, 2552, 2570, 2584, 2585, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2600, 2601, 2609, 2616, 2617, 2683, 2684, 2686, 2689, 2691, 2692, 2694, 2704, 2705, 2706, 2717, 2718, 2720, 2721, 2723, 2724, 2728, 2729, 2731, 2732, 2734, 2735, 2739, 2740, 2742, 2743, 2745, 2746, 2750, 2753, 2755, 2758, 2761, 2764, 2768, 2769, 2771, 2772, 2773, 2776, 2784, 2785, 2786, 2788, 2789, 2797, 2798, 2799, 2801, 2802, 2810, 2811, 2812, 2813, 2814, 2815, 2817, 2820, 2834, 2835, 2838, 2846, 2862, 2863, 2864, 2865, 2868, 2882, 2885, 2886, 2887, 2889, 2892, 2893, 2894, 2895, 2896, 2897, 2902, 2903, 2907, 2910, 2911, 2927, 2933, 2934, 2940, 2953, 2955, 2956, 2957, 2961, 2962, 2963, 2964, 2965, 2974, 2978, 2979, 2980, 2982, 2983, 2984, 2985, 2986, 2987, 2992, 2993, 2994, 2996, 2997, 2998, 2999, 3000, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3031, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3044, 3045, 3046, 3047, 3048, 3050, 3051, 3052, 3053, 3055, 3056, 3057, 3059, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3069, 3070, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3081, 3082, 3083, 3092, 3094, 3095, 3097, 3102, 3103, 3104, 3114, 3115, 3116, 3122, 3123, 3127, 3128, 3129, 3130, 3132, 3137, 3140, 3147, 3148, 3150, 3151, 3154, 3155, 3156, 3157, 3160, 3161, 3162, 3163, 3164, 3167, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3178, 3179, 3181, 3183, 3184, 3185, 3188, 3190, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3208, 3209, 3216, 3226, 3244, 3245, 3246, 3248, 3249, 3252, 3260, 3261, 3262, 3263, 3264, 3265, 3268, 3269, 3271, 3272, 3273, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3292, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3337, 3338, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3350, 3351, 3352, 3353, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3379, 3380, 3381, 3382, 3383, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3431, 3434, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3474, 3475, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3495, 3496, 3498, 3499, 3500, 3501, 3504, 3505, 3506, 3507, 3510, 3511, 3517, 3519, 3520, 3521, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3541, 3542, 3543, 3544, 3545, 3546, 3548, 3549, 3552, 3553, 3556, 3557, 3558, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3575, 3576, 3577, 3578, 3586, 3588, 3589, 3592, 3593, 3596, 3597, 3598, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3616, 3617, 3618, 3619, 3620, 3627, 3628, 3629, 3632, 3633, 3634, 3635, 3636, 3637, 3639, 3640, 3641, 3644, 3652, 3654, 3655, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3667, 3668, 3669, 3670, 3671, 3672, 3680, 3682, 3683, 3686, 3687, 3690, 3691, 3692, 3693, 3694, 3697, 3698, 3703, 3704, 3705, 3706, 3714, 3716, 3717, 3720, 3721, 3722, 3723, 3724, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3747, 3749, 3750, 3753, 3754, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3782, 3783, 3784, 3785, 3793, 3795, 3796, 3799, 3800, 3801, 3802, 3803, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3826, 3828, 3829, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3853, 3854, 3859, 3860, 3861, 3862, 3870, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3903, 3905, 3906, 3907, 3908, 3909, 3910, 3913, 3919, 3921, 3922, 3923, 3924, 3925, 3931, 3933, 3934, 3935, 3936, 3937, 3938, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3952, 3953, 3954, 3960, 3962, 3963, 3964, 3965, 3966, 3967, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3981, 3982, 3988, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 4002, 4004, 4005, 4006, 4007, 4008, 4014, 4016, 4017, 4018, 4021, 4022, 4023, 4024, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4042, 4045, 4051, 4053, 4054, 4055, 4056, 4057, 4058, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4072, 4073, 4078, 4084, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4096, 4099, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4123, 4124, 4125, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4138, 4144, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4155, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4177, 4178, 4179, 4182, 4183, 4189, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4215, 4216, 4217, 4218, 4219, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4237, 4240, 4241, 4242, 4243, 4246, 4247, 4249, 4250, 4251, 4252, 4253, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4266, 4267, 4270, 4272, 4273, 4274, 4275, 4276, 4287, 4290, 4291, 4294, 4295, 4297, 4298, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4313, 4321, 4323, 4324, 4325, 4326, 4327, 4328, 4331, 4332, 4333, 4336, 4337, 4338, 4340, 4341, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4361, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, 4385, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4398, 4399, 4401, 4404, 4405, 4406, 4414, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4428, 4431, 4432, 4433, 4434, 4435, 4443, 4445, 4446, 4447, 4448, 4449, 4450, 4452, 4453, 4454, 4455, 4456, 4457, 4459, 4460, 4461, 4462, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4473, 4474, 4478, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4489, 4490, 4491, 4492, 4493, 4494, 4503, 4505, 4506, 4507, 4508, 4509, 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4521, 4522, 4523, 4524, 4532, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4546, 4547, 4550, 4551, 4552, 4553, 4561, 4563, 4564, 4565, 4566, 4567, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4579, 4580, 4581, 4582, 4590, 4592, 4593, 4594, 4595, 4596, 4599, 4600, 4601, 4602, 4603, 4604, 4605, 4608, 4609, 4610, 4611, 4619, 4621, 4622, 4623, 4624, 4625, 4626, 4627, 4628, 4629, 4632, 4633, 4636, 4637, 4638, 4639, 4647, 4649, 4650, 4651, 4652, 4653, 4656, 4657, 4660, 4661, 4662, 4663, 4664, 4668, 4669, 4677, 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688, 4691, 4692, 4693, 4696, 4697, 4698, 4699, 4700, 4701, 4702, 4710, 4712, 4713, 4714, 4715, 4716, 4717, 4718, 4719, 4720, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4741, 4743, 4744, 4745, 4746, 4747, 4750, 4755, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4774, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4787, 4788, 4791, 4792, 4795, 4796, 4797, 4802, 4805, 4806, 4807, 4808, 4809, 4810, 4811, 4814, 4815, 4820, 4821, 4822, 4823, 4831, 4833, 4834, 4835, 4836, 4837, 4840, 4841, 4842, 4843, 4844, 4856, 4858, 4859, 4860, 4861, 4862, 4865, 4866, 4869, 4870, 4871, 4872, 4880, 4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4893, 4894, 4895, 4898, 4899, 4900, 4906, 4907, 4908, 4916, 4918, 4919, 4920, 4921, 4922, 4925, 4926, 4930, 4931, 4932, 4933, 4941, 4943, 4944, 4945, 4946, 4947, 4950, 4951, 4954, 4955, 4956, 4957, 4965, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4978, 4979, 4980, 4981, 4991, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001, 5006, 5007, 5008, 5009, 5019, 5021, 5022, 5023, 5024, 5025, 5028, 5029, 5030, 5031, 5035, 5036, 5037, 5045, 5047, 5048, 5049, 5050, 5051, 5054, 5055, 5056, 5057, 5058, 5066, 5068, 5069, 5070, 5071, 5072, 5075, 5076, 5079, 5080, 5081, 5082, 5090, 5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5103, 5104, 5105, 5106, 5114, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5126, 5127, 5128, 5129, 5137, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5149, 5150, 5151, 5152, 5153, 5161, 5163, 5164, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174, 5178, 5179, 5180, 5181, 5187, 5189, 5190, 5191, 5192, 5193, 5194, 5197, 5198, 5199, 5200, 5201, 5203, 5206, 5207, 5208, 5218, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5241, 5242, 5250, 5252, 5253, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5275, 5276, 5279, 5280, 5282, 5283, 5286, 5287, 5290, 5291, 5292, 5293, 5296, 5297, 5298, 5299, 5302, 5303, 5304, 5305, 5306, 5307, 5308, 5309, 5310, 5313, 5314, 5315, 5316, 5324, 5326, 5327, 5328, 5329, 5330, 5331, 5332, 5333, 5335, 5336, 5337, 5338, 5339, 5340, 5342, 5343, 5344, 5347, 5348, 5349, 5358, 5360, 5361, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5374, 5379, 5381, 5382, 5387, 5388, 5393, 5394, 5395, 5396, 5401, 5402, 5403, 5409, 5410, 5411, 5412, 5422, 5424, 5425, 5428, 5429, 5430, 5431, 5432, 5437, 5438, 5439, 5440, 5441, 5442, 5446, 5447, 5448, 5449, 5457, 5459, 5463, 5467, 5470, 5471, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5484, 5485, 5486, 5487, 5490, 5491, 5493, 5494, 5495, 5496, 5497, 5502, 5503, 5507, 5508, 5509, 5510, 5516, 5517, 5518, 5521, 5522, 5528, 5530, 5531, 5532, 5533, 5534, 5537, 5538, 5542, 5543, 5544, 5549, 5550, 5551, 5554, 5555, 5561, 5563, 5566, 5567, 5568, 5569, 5570, 5571, 5572, 5573, 5574, 5575, 5576, 5577, 5578, 5579, 5580, 5581, 5582, 5583, 5584, 5585, 5586, 5589, 5590, 5591, 5592, 5593, 5600, 5603, 5606, 5610, 5612, 5619, 5620, 5622, 5623, 5624, 5626, 5627, 5630, 5631, 5632, 5634, 5635, 5636, 5637, 5641, 5642, 5645, 5646, 5647, 5648, 5649, 5650, 5653, 5654, 5655, 5656, 5658, 5659, 5662, 5665, 5666, 5667, 5670, 5671, 5672, 5673, 5675, 5676, 5679, 5680, 5681, 5682, 5683, 5684, 5687, 5690, 5691, 5692, 5693, 5694, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5710, 5713, 5714, 5716, 5717, 5720, 5721, 5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729, 5738, 5754, 5755, 5756, 5757, 5758, 5760, 5761, 5762, 5763, 5765, 5766, 5767, 5768, 5769, 5771, 5772, 5773, 5774, 5775, 5777, 5778, 5779, 5780, 5781, 5782, 5783, 5792, 5793, 5794, 5795, 5796, 5798, 5799, 5800, 5801, 5803, 5804, 5807, 5808, 5810, 5833, 5834, 5837, 5840, 5841, 5842, 5843, 5844, 5845, 5846, 5848, 5849, 5851, 5854, 5855, 5857, 5862, 5863, 5865, 5866, 5868, 5869, 5871, 5872, 5876, 5877, 5880, 5881, 5882, 5883, 5884, 5885, 5888, 5889, 5898, 5899, 5900, 5901, 5902, 5904, 5905, 5908, 5909, 5910, 5911, 5912, 5914, 5915, 5918, 5921, 5922, 5923, 5925, 5926, 5929, 5930, 5931, 5932, 5933, 5934, 5936, 5937, 5940, 5943, 5944, 5945, 5947, 5948, 5951, 5952, 5953, 5954, 5962, 5967, 5968, 5969, 5970, 5972, 5973, 5976, 5979, 5980, 5984, 5985, 5988, 5991, 5992, 5996, 5997, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008, 6010, 6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021, 6025, 6026, 6027, 6028, 6029, 6030, 6031, 6035, 6036, 6037, 6038, 6039, 6040, 6041, 6042, 6043, 6044, 6045, 6048, 6049, 6052, 6053, 6058, 6065, 6068, 6069, 6070, 6072, 6073, 6076, 6084, 6085, 6086, 6087, 6088, 6089, 6091, 6092, 6095, 6096, 6097, 6098, 6099, 6102, 6104, 6105, 6108, 6109, 6110, 6112, 6113, 6116, 6120, 6121, 6122, 6123, 6124, 6127, 6128, 6129, 6132, 6133, 6134, 6135, 6136, 6143, 6144, 6147, 6148, 6149, 6150, 6154, 6155, 6156, 6159, 6160, 6161, 6163, 6164, 6165, 6166, 6172, 6173, 6174, 6175, 6176, 6179, 6181, 6182, 6185, 6189, 6190, 6193, 6194, 6195, 6196, 6202, 6203, 6204, 6205, 6206, 6208, 6209, 6216, 6217, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225, 6232, 6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6247, 6251, 6252, 6253, 6254, 6255, 6257, 6258, 6264, 6266, 6270, 6278, 6279, 6281, 6282, 6283, 6284, 6286, 6287, 6288, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6316, 6318, 6319, 6322, 6323, 6324, 6325, 6326, 6328, 6335, 6336, 6337, 6338], "summary": {"covered_lines": 3164, "num_statements": 3929, "percent_covered": 80.52939679307713, "percent_covered_display": "81", "missing_lines": 765, "excluded_lines": 2}, "missing_lines": [37, 65, 108, 461, 540, 541, 542, 549, 550, 551, 556, 557, 558, 563, 564, 565, 572, 573, 574, 579, 580, 581, 588, 589, 590, 630, 659, 673, 693, 696, 714, 715, 731, 732, 741, 742, 764, 765, 770, 789, 830, 845, 846, 853, 968, 970, 972, 974, 976, 979, 980, 981, 982, 983, 984, 985, 991, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1011, 1013, 1015, 1017, 1019, 1022, 1023, 1024, 1025, 1026, 1027, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1047, 1051, 1054, 1065, 1075, 1081, 1100, 1226, 1227, 1228, 1229, 1270, 1271, 1294, 1295, 1338, 1339, 1345, 1370, 1438, 1441, 1508, 1517, 1528, 1535, 1541, 1635, 1663, 1664, 1665, 1666, 1667, 1668, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1681, 1682, 1685, 1689, 1697, 1700, 1703, 1704, 1705, 1706, 1709, 1710, 1718, 1719, 1720, 1748, 1749, 1825, 1826, 1877, 1893, 2273, 2278, 2279, 2280, 2286, 2287, 2288, 2289, 2317, 2323, 2324, 2329, 2330, 2332, 2335, 2336, 2338, 2341, 2344, 2346, 2366, 2367, 2368, 2369, 2447, 2486, 2487, 2490, 2491, 2494, 2495, 2496, 2497, 2498, 2504, 2508, 2511, 2512, 2513, 2619, 2620, 2632, 2633, 2634, 2647, 2649, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2680, 2681, 2685, 2693, 2719, 2722, 2725, 2726, 2730, 2733, 2736, 2737, 2741, 2744, 2747, 2748, 2754, 2756, 2762, 2847, 2850, 2867, 2876, 2904, 2905, 2914, 2915, 2925, 2944, 2950, 2966, 2967, 2973, 3032, 3071, 3072, 3080, 3096, 3098, 3101, 3105, 3106, 3112, 3131, 3152, 3158, 3165, 3166, 3168, 3180, 3182, 3189, 3194, 3210, 3211, 3212, 3217, 3218, 3219, 3224, 3227, 3228, 3229, 3230, 3231, 3232, 3234, 3235, 3236, 3237, 3238, 3241, 3242, 3247, 3250, 3253, 3254, 3255, 3256, 3257, 3258, 3266, 3270, 3275, 3276, 3277, 3280, 3282, 3312, 3313, 3458, 3459, 3476, 3477, 3493, 3494, 3509, 3550, 3551, 3559, 3560, 3579, 3580, 3590, 3591, 3599, 3600, 3613, 3614, 3615, 3630, 3631, 3638, 3643, 3645, 3646, 3656, 3657, 3665, 3666, 3673, 3674, 3684, 3685, 3695, 3696, 3707, 3708, 3718, 3719, 3725, 3726, 3740, 3741, 3751, 3752, 3760, 3761, 3786, 3787, 3797, 3798, 3804, 3805, 3819, 3820, 3830, 3831, 3850, 3851, 3852, 3863, 3864, 3874, 3875, 3881, 3882, 3896, 3897, 3911, 3912, 3939, 3940, 3968, 3969, 4025, 4026, 4059, 4060, 4094, 4095, 4097, 4098, 4137, 4153, 4154, 4220, 4221, 4229, 4230, 4236, 4238, 4239, 4254, 4255, 4264, 4265, 4268, 4269, 4279, 4280, 4286, 4288, 4289, 4299, 4300, 4312, 4314, 4315, 4334, 4335, 4354, 4355, 4377, 4378, 4379, 4396, 4397, 4407, 4408, 4426, 4427, 4429, 4430, 4436, 4437, 4471, 4472, 4475, 4476, 4477, 4487, 4488, 4495, 4496, 4497, 4510, 4511, 4519, 4520, 4525, 4526, 4543, 4544, 4545, 4548, 4549, 4554, 4555, 4568, 4569, 4577, 4578, 4583, 4584, 4597, 4598, 4606, 4607, 4612, 4613, 4630, 4631, 4634, 4635, 4640, 4641, 4654, 4655, 4658, 4659, 4670, 4671, 4694, 4695, 4703, 4704, 4721, 4722, 4734, 4735, 4748, 4749, 4756, 4757, 4767, 4768, 4785, 4786, 4789, 4790, 4803, 4824, 4825, 4838, 4839, 4848, 4849, 4850, 4863, 4864, 4867, 4868, 4873, 4874, 4891, 4892, 4896, 4897, 4904, 4905, 4909, 4910, 4923, 4924, 4927, 4928, 4929, 4934, 4935, 4948, 4949, 4952, 4953, 4958, 4959, 4976, 4977, 4984, 4985, 5002, 5005, 5012, 5013, 5026, 5027, 5032, 5033, 5038, 5039, 5052, 5053, 5059, 5060, 5073, 5074, 5077, 5078, 5083, 5084, 5101, 5102, 5107, 5108, 5130, 5131, 5154, 5155, 5165, 5166, 5210, 5211, 5212, 5229, 5230, 5231, 5243, 5244, 5254, 5255, 5277, 5278, 5284, 5285, 5294, 5295, 5317, 5318, 5350, 5351, 5357, 5362, 5363, 5375, 5378, 5383, 5386, 5415, 5416, 5426, 5427, 5433, 5436, 5450, 5451, 5460, 5461, 5464, 5465, 5468, 5469, 5472, 5473, 5488, 5489, 5498, 5501, 5504, 5505, 5506, 5535, 5536, 5539, 5540, 5541, 5564, 5565, 5594, 5595, 5596, 5597, 5598, 5599, 5601, 5602, 5604, 5605, 5607, 5608, 5613, 5614, 5615, 5616, 5617, 5621, 5628, 5629, 5639, 5643, 5644, 5651, 5652, 5660, 5661, 5663, 5664, 5668, 5669, 5677, 5678, 5685, 5686, 5695, 5696, 5708, 5709, 5711, 5712, 5730, 5731, 5739, 5740, 5741, 5742, 5743, 5744, 5745, 5746, 5747, 5750, 5751, 5752, 5770, 5784, 5785, 5797, 5805, 5806, 5811, 5827, 5828, 5829, 5830, 5831, 5835, 5836, 5838, 5839, 5852, 5858, 5878, 5879, 5886, 5887, 5890, 5891, 5897, 5906, 5907, 5916, 5917, 5927, 5928, 5938, 5939, 5941, 5942, 5949, 5950, 5974, 5975, 5986, 5987, 5998, 5999, 6023, 6074, 6075, 6077, 6078, 6082, 6083, 6093, 6094, 6100, 6106, 6107, 6117, 6118, 6125, 6145, 6146, 6151, 6152, 6178, 6183, 6184, 6186, 6187, 6243, 6244, 6245, 6246, 6248, 6249, 6250, 6267, 6268, 6271, 6272, 6273, 6274, 6275, 6276, 6289, 6290, 6320, 6321, 6329, 6330, 6331, 6332, 6333, 6339, 6340], "excluded_lines": [118, 119], "functions": {"check_tui2_runtime": {"executed_lines": [14, 15], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "parse_palette_command": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 38], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}, "pagination_window": {"executed_lines": [48, 49, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "truncate_entry_for_display": {"executed_lines": [62, 63, 64, 66, 67, 68, 71, 72], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [65], "excluded_lines": []}, "render_qr_ascii": {"executed_lines": [77, 79, 80, 81, 82, 83, 84, 85, 86], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2": {"executed_lines": [106, 107, 110, 111, 112, 113, 114, 116, 117, 121, 122, 126, 127, 128, 129, 146, 321, 365, 366, 367, 368, 369, 370, 371, 373, 472, 610, 627, 635, 646, 653, 662, 708, 734, 748, 781, 815, 816, 832, 856, 868, 881, 932, 964, 965, 987, 988, 1009, 1029, 1045, 1083, 1099, 1102, 1131, 1145, 1176, 1203, 1211, 1305, 1310, 1316, 1329, 1333, 1350, 1358, 1362, 1363, 1367, 1380, 1384, 1387, 1393, 1400, 1404, 1411, 1443, 1450, 1464, 1616, 1651, 1657, 1740, 1831, 1837, 1838, 1844, 1845, 1857, 1871, 1872, 1880, 1881, 1887, 1903, 1904, 1917, 1942, 2285, 2291, 2381, 2439, 2506, 2683, 2691, 2704, 2705, 2717, 2728, 2739, 2750, 2882, 2889, 2907, 2996, 3002, 3044, 3055, 3061, 3062, 3069, 3094, 3150, 3154, 3160, 3170, 3178, 3192, 3284, 3292, 3320, 3321, 3329, 5612, 5619, 5626, 5634, 5641, 5658, 5675, 5738, 5754, 5760, 5765, 5777, 5792, 5803, 5810, 5833, 5848, 5851, 5854, 5857, 5862, 5865, 5868, 5871, 5876, 5904, 5914, 5925, 5936, 5947, 5972, 5984, 5996, 6010, 6025, 6072, 6091, 6104, 6143, 6181, 6232, 6257, 6266, 6270, 6278, 6281, 6286, 6318, 6328, 6335, 6336, 6337, 6338], "summary": {"covered_lines": 185, "num_statements": 188, "percent_covered": 98.40425531914893, "percent_covered_display": "98", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [108, 6339, 6340], "excluded_lines": [118, 119]}, "launch_tui2.EntryListItem.__init__": {"executed_lines": [123, 124], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.compose": {"executed_lines": [374, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 431, 434, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 455, 458, 459, 465, 469, 470], "summary": {"covered_lines": 34, "num_statements": 35, "percent_covered": 97.14285714285714, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [461], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_mount": {"executed_lines": [473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 523, 524, 525, 531, 534, 535, 543, 544, 552, 553, 559, 560, 566, 567, 575, 576, 582, 583, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 608], "summary": {"covered_lines": 80, "num_statements": 101, "percent_covered": 79.20792079207921, "percent_covered_display": "79", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [540, 541, 542, 549, 550, 551, 556, 557, 558, 563, 564, 565, 572, 573, 574, 579, 580, 581, 588, 589, 590], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_status": {"executed_lines": [611, 612, 613, 614, 619, 624, 625], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._log_activity": {"executed_lines": [628, 629, 631, 632, 633], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [630], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_activity_panel": {"executed_lines": [636, 637, 639, 640, 641, 642, 643, 644], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_secret_panel": {"executed_lines": [647, 648, 650, 651], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._select_highlighted_entry_for_sensitive_action": {"executed_lines": [654, 655, 656, 657, 658, 660], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [659], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_top_ribbon": {"executed_lines": [663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 675, 676, 677, 678, 679, 680, 681, 682, 690, 691, 692, 694, 695, 697, 706], "summary": {"covered_lines": 26, "num_statements": 29, "percent_covered": 89.65517241379311, "percent_covered_display": "90", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [673, 693, 696], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_semantic_state": {"executed_lines": [709, 710, 711, 712, 713, 716, 717, 718, 719, 720, 721, 722, 725, 726, 727, 728, 730], "summary": {"covered_lines": 17, "num_statements": 21, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [714, 715, 731, 732], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_profile_tree": {"executed_lines": [735, 736, 737, 738, 739, 740, 743, 744, 745, 746], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [741, 742], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._profile_tree_child_nodes": {"executed_lines": [751, 752, 753, 754, 755, 756, 766, 767, 768, 769, 771, 772, 773, 774, 775, 776, 777, 778, 779], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [764, 765, 770], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._profile_tree_visible_nodes": {"executed_lines": [782, 783, 784, 785, 786, 787, 788, 790, 791, 792, 795, 796, 797, 798, 805, 806, 813], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [789], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._profile_tree_selection_text": {"executed_lines": [817, 818, 819, 820, 821, 825, 826], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [830], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_sidebar_collapsed": {"executed_lines": [833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 848, 849, 850, 851, 852, 854], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [845, 846, 853], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_filter_menu_visible": {"executed_lines": [857, 858, 859, 860, 861, 862, 864, 865, 866], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_inspector_side_visible": {"executed_lines": [869, 870, 871, 872, 873, 874, 875, 876, 877, 879], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_action_strip": {"executed_lines": [882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 902, 903, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 920, 921, 922, 923, 925, 929, 930], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_grid_heading": {"executed_lines": [933, 934, 944, 948, 949, 954], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._action_strip_segment_action": {"executed_lines": [966, 967, 969, 971, 973, 975, 977, 978], "summary": {"covered_lines": 8, "num_statements": 20, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [968, 970, 972, 974, 976, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._action_strip_context_action": {"executed_lines": [989, 990, 992, 993, 994], "summary": {"covered_lines": 5, "num_statements": 19, "percent_covered": 26.31578947368421, "percent_covered_display": "26", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [991, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._trigger_action_strip_shortcut": {"executed_lines": [1010, 1012, 1014, 1016, 1018, 1020, 1021], "summary": {"covered_lines": 7, "num_statements": 18, "percent_covered": 38.888888888888886, "percent_covered_display": "39", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1011, 1013, 1015, 1017, 1019, 1022, 1023, 1024, 1025, 1026, 1027], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._trigger_action_strip_context": {"executed_lines": [1030, 1031], "summary": {"covered_lines": 2, "num_statements": 14, "percent_covered": 14.285714285714286, "percent_covered_display": "14", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._handle_action_strip_click": {"executed_lines": [1046, 1048, 1049, 1050, 1052, 1053, 1055, 1056, 1058, 1061, 1062, 1063, 1064, 1066, 1067, 1068, 1069, 1074, 1076, 1077, 1079, 1080], "summary": {"covered_lines": 22, "num_statements": 28, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1047, 1051, 1054, 1065, 1075, 1081], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_inspector_heading": {"executed_lines": [1084, 1085, 1086, 1087, 1088, 1089, 1093, 1094, 1095, 1096, 1097], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._quickstart_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1100], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._onboarding_text": {"executed_lines": [1103], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._palette_help_summary": {"executed_lines": [1132], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._palette_reference_text": {"executed_lines": [1146], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_help_overlay": {"executed_lines": [1177, 1178, 1179, 1180, 1181, 1182, 1201], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_focus_style": {"executed_lines": [1204, 1205, 1206, 1207, 1209], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_responsive_layout": {"executed_lines": [1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1257, 1258, 1260, 1261, 1262, 1263, 1265, 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1292, 1293, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303], "summary": {"covered_lines": 65, "num_statements": 73, "percent_covered": 89.04109589041096, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1226, 1227, 1228, 1229, 1270, 1271, 1294, 1295], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_layout_balance": {"executed_lines": [1306], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_doc_edit_help": {"executed_lines": [1311, 1312], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._record_failure": {"executed_lines": [1324, 1325, 1326, 1327], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clear_failure": {"executed_lines": [1330, 1331], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._retry_initialize_service": {"executed_lines": [1334, 1335, 1346, 1347, 1348], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1338, 1339, 1345], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_filter_kinds": {"executed_lines": [1351, 1352, 1353, 1354, 1355, 1356], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._active_profile_key": {"executed_lines": [1359, 1360], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._normalize_kind_token": {"executed_lines": [1364, 1365], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._session_fingerprint_path": {"executed_lines": [1368, 1369, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1370], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_fingerprint_display": {"executed_lines": [1381, 1382], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._session_breadcrumb_text": {"executed_lines": [1385], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._remember_filter_for_active_profile": {"executed_lines": [1388, 1389], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._restore_filter_for_active_profile": {"executed_lines": [1396, 1397, 1398], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._remember_sidebar_for_active_profile": {"executed_lines": [1401, 1402], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._restore_sidebar_for_active_profile": {"executed_lines": [1407, 1408, 1409], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._normalize_filter_kind": {"executed_lines": [1412, 1413, 1414, 1415, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1439, 1440], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1438, 1441], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_archive_scope_flags": {"executed_lines": [1444, 1445, 1446, 1447, 1448], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_summary": {"executed_lines": [1451, 1455, 1456, 1461, 1462], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_filters_panel": {"executed_lines": [1465, 1466, 1471, 1472, 1473, 1474, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1495, 1498, 1499, 1502, 1503, 1504, 1507, 1510, 1513, 1514, 1515, 1516, 1519, 1522, 1523, 1524, 1527, 1530, 1531, 1532, 1533, 1534, 1537, 1543, 1544, 1549, 1550, 1555, 1558, 1559, 1560, 1561, 1581, 1582, 1583, 1601, 1611, 1612, 1613, 1614], "summary": {"covered_lines": 62, "num_statements": 67, "percent_covered": 92.53731343283582, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1508, 1517, 1528, 1535, 1541], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_entry_label": {"executed_lines": [1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1635], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._total_pages": {"executed_lines": [1652, 1655], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._stats_text": {"executed_lines": [1658, 1659, 1660, 1661, 1662, 1670, 1708, 1711, 1712, 1722, 1723, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738], "summary": {"covered_lines": 25, "num_statements": 54, "percent_covered": 46.2962962962963, "percent_covered_display": "46", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [1663, 1664, 1665, 1666, 1667, 1668, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1681, 1682, 1685, 1689, 1697, 1700, 1703, 1704, 1705, 1706, 1709, 1710, 1718, 1719, 1720], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_current_page": {"executed_lines": [1741, 1742, 1743, 1744, 1745, 1746, 1747, 1750, 1751, 1752, 1757, 1758, 1762, 1763, 1766, 1769, 1770, 1771, 1772, 1773, 1777, 1778, 1779, 1780, 1782, 1785, 1786, 1787, 1788, 1799, 1800, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1814, 1817, 1820, 1821, 1822, 1823, 1824, 1827, 1828, 1829], "summary": {"covered_lines": 51, "num_statements": 55, "percent_covered": 92.72727272727273, "percent_covered_display": "93", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1748, 1749, 1825, 1826], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_detail_text": {"executed_lines": [1832, 1835], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_kind": {"executed_lines": [1839, 1842], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_uses_sensitive_panel": {"executed_lines": [1846], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_entry_inspector_visibility": {"executed_lines": [1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1869], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_tags_text": {"executed_lines": [1873, 1874, 1875, 1876, 1878], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1877], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_notes_text": {"executed_lines": [1882, 1883, 1884, 1885], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._notes_tags_panel_hint": {"executed_lines": [1890, 1891, 1892, 1894, 1895, 1898], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1893], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._board_card": {"executed_lines": [1907, 1908, 1909, 1912, 1913, 1914, 1915], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_board_header": {"executed_lines": [1918, 1923, 1924, 1925, 1926, 1932, 1933, 1934, 1935], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_board_text": {"executed_lines": [1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1962, 1968, 1969, 1970, 1971, 1977, 1978, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2010, 2016, 2017, 2018, 2022, 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2053, 2057, 2060, 2073, 2075, 2076, 2077, 2078, 2079, 2084, 2090, 2091, 2092, 2098, 2101, 2118, 2120, 2121, 2122, 2123, 2128, 2129, 2134, 2140, 2141, 2142, 2146, 2150, 2167, 2169, 2170, 2171, 2172, 2177, 2183, 2184, 2185, 2190, 2194, 2211, 2213, 2214, 2215, 2216, 2221, 2227, 2228, 2229, 2233, 2237, 2254, 2256, 2257, 2258, 2259, 2260, 2271], "summary": {"covered_lines": 101, "num_statements": 105, "percent_covered": 96.19047619047619, "percent_covered_display": "96", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2273, 2278, 2279, 2280], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_kind_from_row": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2286, 2287, 2288, 2289], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._search_rows_with_semantic": {"executed_lines": [2298, 2306, 2307, 2308, 2309, 2311, 2312, 2313, 2315, 2316, 2319, 2320, 2321, 2322, 2326, 2327, 2328, 2331, 2333, 2334, 2337, 2339, 2340, 2342, 2343, 2345, 2347, 2350, 2351, 2352, 2362, 2363, 2365, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379], "summary": {"covered_lines": 41, "num_statements": 57, "percent_covered": 71.9298245614035, "percent_covered_display": "72", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [2317, 2323, 2324, 2329, 2330, 2332, 2335, 2336, 2338, 2341, 2344, 2346, 2366, 2367, 2368, 2369], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_entries": {"executed_lines": [2382, 2383, 2384, 2387, 2388, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2400, 2401, 2402, 2407, 2408, 2411, 2412, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2430, 2432, 2433, 2434, 2435, 2436, 2437], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_entry": {"executed_lines": [2440, 2441, 2442, 2443, 2444, 2445, 2446, 2448, 2449, 2450, 2451, 2452, 2453, 2456, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2477, 2480, 2481, 2482, 2483, 2484, 2485], "summary": {"covered_lines": 36, "num_statements": 47, "percent_covered": 76.59574468085107, "percent_covered_display": "77", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [2447, 2486, 2487, 2490, 2491, 2494, 2495, 2496, 2497, 2498, 2504], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_links_panel": {"executed_lines": [2507, 2514, 2515, 2516, 2517, 2520, 2521, 2522, 2528, 2530, 2531, 2532, 2533, 2534, 2536, 2537, 2539, 2546, 2547, 2548, 2550, 2551, 2552, 2570, 2584, 2585, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2600, 2601, 2609, 2616, 2617], "summary": {"covered_lines": 39, "num_statements": 61, "percent_covered": 63.9344262295082, "percent_covered_display": "64", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [2508, 2511, 2512, 2513, 2619, 2620, 2632, 2633, 2634, 2647, 2649, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2680, 2681], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_selected_document": {"executed_lines": [2684, 2686, 2689], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2685], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_kind": {"executed_lines": [2692, 2694], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2693], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._kind_icon": {"executed_lines": [2706], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_secret_mode_enabled": {"executed_lines": [2718, 2720, 2721, 2723, 2724], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2719, 2722, 2725, 2726], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clipboard_clear_delay": {"executed_lines": [2729, 2731, 2732, 2734, 2735], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2730, 2733, 2736, 2737], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._copy_to_clipboard": {"executed_lines": [2740, 2742, 2743, 2745, 2746], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2741, 2744, 2747, 2748], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._resolve_selected_sensitive_payload": {"executed_lines": [2753, 2755, 2758, 2761, 2764, 2768, 2769, 2771, 2772, 2773, 2776, 2784, 2785, 2786, 2788, 2789, 2797, 2798, 2799, 2801, 2802, 2810, 2811, 2812, 2813, 2814, 2815, 2817, 2820, 2834, 2835, 2838, 2846, 2862, 2863, 2864, 2865, 2868], "summary": {"covered_lines": 38, "num_statements": 45, "percent_covered": 84.44444444444444, "percent_covered_display": "84", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2754, 2756, 2762, 2847, 2850, 2867, 2876], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._requires_confirm": {"executed_lines": [2885, 2886, 2887], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._consume_pending_sensitive_confirm": {"executed_lines": [2892, 2893, 2894, 2895, 2896, 2897, 2902, 2903], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2904, 2905], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_sensitive_panel": {"executed_lines": [2910, 2911, 2927, 2933, 2934, 2940, 2953, 2955, 2956, 2957, 2961, 2962, 2963, 2964, 2965, 2974, 2978, 2979, 2980, 2982, 2983, 2984, 2985, 2986, 2987, 2992, 2993, 2994], "summary": {"covered_lines": 28, "num_statements": 36, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2914, 2915, 2925, 2944, 2950, 2966, 2967, 2973], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_visible": {"executed_lines": [2997, 2998, 2999, 3000], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_right_pane_mode": {"executed_lines": [3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3031, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3032], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_palette_visible": {"executed_lines": [3045, 3046, 3047, 3048, 3050, 3051, 3052, 3053], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_totp_board_visible": {"executed_lines": [3056, 3057, 3059], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._totp_source": {"executed_lines": [3063, 3064, 3065, 3066, 3067], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_totp_rows": {"executed_lines": [3070, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3081, 3082, 3083, 3092], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3071, 3072, 3080], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_totp_board": {"executed_lines": [3095, 3097, 3102, 3103, 3104, 3114, 3115, 3116, 3122, 3123, 3127, 3128, 3129, 3130, 3132, 3137, 3140, 3147, 3148], "summary": {"covered_lines": 19, "num_statements": 26, "percent_covered": 73.07692307692308, "percent_covered_display": "73", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3096, 3098, 3101, 3105, 3106, 3112, 3131], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._tick_totp_board": {"executed_lines": [3151], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3152], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._get_document_editor_text": {"executed_lines": [3155, 3156, 3157], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3158], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_text": {"executed_lines": [3161, 3162, 3163, 3164, 3167], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3165, 3166, 3168], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._mark_doc_dirty": {"executed_lines": [3171, 3172, 3173, 3174, 3175, 3176], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_entry_payload": {"executed_lines": [3179, 3181, 3183, 3184, 3185, 3188, 3190], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3180, 3182, 3189], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._resolve_copy_field_value": {"executed_lines": [3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3208, 3209, 3216, 3226, 3244, 3245, 3246, 3248, 3249, 3252, 3260, 3261, 3262, 3263, 3264, 3265, 3268, 3269, 3271, 3272, 3273], "summary": {"covered_lines": 30, "num_statements": 66, "percent_covered": 45.45454545454545, "percent_covered_display": "45", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [3194, 3210, 3211, 3212, 3217, 3218, 3219, 3224, 3227, 3228, 3229, 3230, 3231, 3232, 3234, 3235, 3236, 3237, 3238, 3241, 3242, 3247, 3250, 3253, 3254, 3255, 3256, 3257, 3258, 3266, 3270, 3275, 3276, 3277, 3280, 3282], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._export_value_to_path": {"executed_lines": [3285, 3286, 3287, 3288, 3289, 3290], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_selected_modify": {"executed_lines": [3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3312, 3313], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._parse_toggle_token": {"executed_lines": [3322, 3323, 3324, 3325, 3326, 3327], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._run_palette_command": {"executed_lines": [3330, 3331, 3332, 3333, 3334, 3335, 3337, 3338, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3350, 3351, 3352, 3353, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3379, 3380, 3381, 3382, 3383, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3431, 3434, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3474, 3475, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3495, 3496, 3498, 3499, 3500, 3501, 3504, 3505, 3506, 3507, 3510, 3511, 3517, 3519, 3520, 3521, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3541, 3542, 3543, 3544, 3545, 3546, 3548, 3549, 3552, 3553, 3556, 3557, 3558, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3575, 3576, 3577, 3578, 3586, 3588, 3589, 3592, 3593, 3596, 3597, 3598, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3616, 3617, 3618, 3619, 3620, 3627, 3628, 3629, 3632, 3633, 3634, 3635, 3636, 3637, 3639, 3640, 3641, 3644, 3652, 3654, 3655, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3667, 3668, 3669, 3670, 3671, 3672, 3680, 3682, 3683, 3686, 3687, 3690, 3691, 3692, 3693, 3694, 3697, 3698, 3703, 3704, 3705, 3706, 3714, 3716, 3717, 3720, 3721, 3722, 3723, 3724, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3747, 3749, 3750, 3753, 3754, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3782, 3783, 3784, 3785, 3793, 3795, 3796, 3799, 3800, 3801, 3802, 3803, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3826, 3828, 3829, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3853, 3854, 3859, 3860, 3861, 3862, 3870, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3903, 3905, 3906, 3907, 3908, 3909, 3910, 3913, 3919, 3921, 3922, 3923, 3924, 3925, 3931, 3933, 3934, 3935, 3936, 3937, 3938, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3952, 3953, 3954, 3960, 3962, 3963, 3964, 3965, 3966, 3967, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3981, 3982, 3988, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 4002, 4004, 4005, 4006, 4007, 4008, 4014, 4016, 4017, 4018, 4021, 4022, 4023, 4024, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4042, 4045, 4051, 4053, 4054, 4055, 4056, 4057, 4058, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4072, 4073, 4078, 4084, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4096, 4099, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4123, 4124, 4125, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4138, 4144, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4155, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4177, 4178, 4179, 4182, 4183, 4189, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4215, 4216, 4217, 4218, 4219, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4237, 4240, 4241, 4242, 4243, 4246, 4247, 4249, 4250, 4251, 4252, 4253, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4266, 4267, 4270, 4272, 4273, 4274, 4275, 4276, 4287, 4290, 4291, 4294, 4295, 4297, 4298, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4313, 4321, 4323, 4324, 4325, 4326, 4327, 4328, 4331, 4332, 4333, 4336, 4337, 4338, 4340, 4341, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4361, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, 4385, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4398, 4399, 4401, 4404, 4405, 4406, 4414, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4428, 4431, 4432, 4433, 4434, 4435, 4443, 4445, 4446, 4447, 4448, 4449, 4450, 4452, 4453, 4454, 4455, 4456, 4457, 4459, 4460, 4461, 4462, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4473, 4474, 4478, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4489, 4490, 4491, 4492, 4493, 4494, 4503, 4505, 4506, 4507, 4508, 4509, 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4521, 4522, 4523, 4524, 4532, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4546, 4547, 4550, 4551, 4552, 4553, 4561, 4563, 4564, 4565, 4566, 4567, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4579, 4580, 4581, 4582, 4590, 4592, 4593, 4594, 4595, 4596, 4599, 4600, 4601, 4602, 4603, 4604, 4605, 4608, 4609, 4610, 4611, 4619, 4621, 4622, 4623, 4624, 4625, 4626, 4627, 4628, 4629, 4632, 4633, 4636, 4637, 4638, 4639, 4647, 4649, 4650, 4651, 4652, 4653, 4656, 4657, 4660, 4661, 4662, 4663, 4664, 4668, 4669, 4677, 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688, 4691, 4692, 4693, 4696, 4697, 4698, 4699, 4700, 4701, 4702, 4710, 4712, 4713, 4714, 4715, 4716, 4717, 4718, 4719, 4720, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4741, 4743, 4744, 4745, 4746, 4747, 4750, 4755, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4774, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4787, 4788, 4791, 4792, 4795, 4796, 4797, 4802, 4805, 4806, 4807, 4808, 4809, 4810, 4811, 4814, 4815, 4820, 4821, 4822, 4823, 4831, 4833, 4834, 4835, 4836, 4837, 4840, 4841, 4842, 4843, 4844, 4856, 4858, 4859, 4860, 4861, 4862, 4865, 4866, 4869, 4870, 4871, 4872, 4880, 4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4893, 4894, 4895, 4898, 4899, 4900, 4906, 4907, 4908, 4916, 4918, 4919, 4920, 4921, 4922, 4925, 4926, 4930, 4931, 4932, 4933, 4941, 4943, 4944, 4945, 4946, 4947, 4950, 4951, 4954, 4955, 4956, 4957, 4965, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4978, 4979, 4980, 4981, 4991, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001, 5006, 5007, 5008, 5009, 5019, 5021, 5022, 5023, 5024, 5025, 5028, 5029, 5030, 5031, 5035, 5036, 5037, 5045, 5047, 5048, 5049, 5050, 5051, 5054, 5055, 5056, 5057, 5058, 5066, 5068, 5069, 5070, 5071, 5072, 5075, 5076, 5079, 5080, 5081, 5082, 5090, 5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5103, 5104, 5105, 5106, 5114, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5126, 5127, 5128, 5129, 5137, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5149, 5150, 5151, 5152, 5153, 5161, 5163, 5164, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174, 5178, 5179, 5180, 5181, 5187, 5189, 5190, 5191, 5192, 5193, 5194, 5197, 5198, 5199, 5200, 5201, 5203, 5206, 5207, 5208, 5218, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5241, 5242, 5250, 5252, 5253, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5275, 5276, 5279, 5280, 5282, 5283, 5286, 5287, 5290, 5291, 5292, 5293, 5296, 5297, 5298, 5299, 5302, 5303, 5304, 5305, 5306, 5307, 5308, 5309, 5310, 5313, 5314, 5315, 5316, 5324, 5326, 5327, 5328, 5329, 5330, 5331, 5332, 5333, 5335, 5336, 5337, 5338, 5339, 5340, 5342, 5343, 5344, 5347, 5348, 5349, 5358, 5360, 5361, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5374, 5379, 5381, 5382, 5387, 5388, 5393, 5394, 5395, 5396, 5401, 5402, 5403, 5409, 5410, 5411, 5412, 5422, 5424, 5425, 5428, 5429, 5430, 5431, 5432, 5437, 5438, 5439, 5440, 5441, 5442, 5446, 5447, 5448, 5449, 5457, 5459, 5463, 5467, 5470, 5471, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5484, 5485, 5486, 5487, 5490, 5491, 5493, 5494, 5495, 5496, 5497, 5502, 5503, 5507, 5508, 5509, 5510, 5516, 5517, 5518, 5521, 5522, 5528, 5530, 5531, 5532, 5533, 5534, 5537, 5538, 5542, 5543, 5544, 5549, 5550, 5551, 5554, 5555, 5561, 5563, 5566, 5567, 5568, 5569, 5570, 5571, 5572, 5573, 5574, 5575, 5576, 5577, 5578, 5579, 5580, 5581, 5582, 5583, 5584, 5585, 5586, 5589, 5590, 5591, 5592, 5593, 5600, 5603, 5606, 5610], "summary": {"covered_lines": 1321, "num_statements": 1650, "percent_covered": 80.06060606060606, "percent_covered_display": "80", "missing_lines": 329, "excluded_lines": 0}, "missing_lines": [3458, 3459, 3476, 3477, 3493, 3494, 3509, 3550, 3551, 3559, 3560, 3579, 3580, 3590, 3591, 3599, 3600, 3613, 3614, 3615, 3630, 3631, 3638, 3643, 3645, 3646, 3656, 3657, 3665, 3666, 3673, 3674, 3684, 3685, 3695, 3696, 3707, 3708, 3718, 3719, 3725, 3726, 3740, 3741, 3751, 3752, 3760, 3761, 3786, 3787, 3797, 3798, 3804, 3805, 3819, 3820, 3830, 3831, 3850, 3851, 3852, 3863, 3864, 3874, 3875, 3881, 3882, 3896, 3897, 3911, 3912, 3939, 3940, 3968, 3969, 4025, 4026, 4059, 4060, 4094, 4095, 4097, 4098, 4137, 4153, 4154, 4220, 4221, 4229, 4230, 4236, 4238, 4239, 4254, 4255, 4264, 4265, 4268, 4269, 4279, 4280, 4286, 4288, 4289, 4299, 4300, 4312, 4314, 4315, 4334, 4335, 4354, 4355, 4377, 4378, 4379, 4396, 4397, 4407, 4408, 4426, 4427, 4429, 4430, 4436, 4437, 4471, 4472, 4475, 4476, 4477, 4487, 4488, 4495, 4496, 4497, 4510, 4511, 4519, 4520, 4525, 4526, 4543, 4544, 4545, 4548, 4549, 4554, 4555, 4568, 4569, 4577, 4578, 4583, 4584, 4597, 4598, 4606, 4607, 4612, 4613, 4630, 4631, 4634, 4635, 4640, 4641, 4654, 4655, 4658, 4659, 4670, 4671, 4694, 4695, 4703, 4704, 4721, 4722, 4734, 4735, 4748, 4749, 4756, 4757, 4767, 4768, 4785, 4786, 4789, 4790, 4803, 4824, 4825, 4838, 4839, 4848, 4849, 4850, 4863, 4864, 4867, 4868, 4873, 4874, 4891, 4892, 4896, 4897, 4904, 4905, 4909, 4910, 4923, 4924, 4927, 4928, 4929, 4934, 4935, 4948, 4949, 4952, 4953, 4958, 4959, 4976, 4977, 4984, 4985, 5002, 5005, 5012, 5013, 5026, 5027, 5032, 5033, 5038, 5039, 5052, 5053, 5059, 5060, 5073, 5074, 5077, 5078, 5083, 5084, 5101, 5102, 5107, 5108, 5130, 5131, 5154, 5155, 5165, 5166, 5210, 5211, 5212, 5229, 5230, 5231, 5243, 5244, 5254, 5255, 5277, 5278, 5284, 5285, 5294, 5295, 5317, 5318, 5350, 5351, 5357, 5362, 5363, 5375, 5378, 5383, 5386, 5415, 5416, 5426, 5427, 5433, 5436, 5450, 5451, 5460, 5461, 5464, 5465, 5468, 5469, 5472, 5473, 5488, 5489, 5498, 5501, 5504, 5505, 5506, 5535, 5536, 5539, 5540, 5541, 5564, 5565, 5594, 5595, 5596, 5597, 5598, 5599, 5601, 5602, 5604, 5605, 5607, 5608], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [5613, 5614, 5615, 5616, 5617], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_help": {"executed_lines": [5620, 5622, 5623, 5624], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5621], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_left": {"executed_lines": [5627, 5630, 5631, 5632], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5628, 5629], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_sidebar": {"executed_lines": [5635, 5636, 5637], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5639], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_profile_tree_next": {"executed_lines": [5642, 5645, 5646, 5647, 5648, 5649, 5650, 5653, 5654, 5655, 5656], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [5643, 5644, 5651, 5652], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_profile_tree_prev": {"executed_lines": [5659, 5662, 5665, 5666, 5667, 5670, 5671, 5672, 5673], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [5660, 5661, 5663, 5664, 5668, 5669], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_profile_tree_open": {"executed_lines": [5676, 5679, 5680, 5681, 5682, 5683, 5684, 5687, 5690, 5691, 5692, 5693, 5694, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5710, 5713, 5714, 5716, 5717, 5720, 5721, 5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729], "summary": {"covered_lines": 39, "num_statements": 51, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [5677, 5678, 5685, 5686, 5695, 5696, 5708, 5709, 5711, 5712, 5730, 5731], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_profile_tree_preview": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [5739, 5740, 5741, 5742, 5743, 5744, 5745, 5746, 5747, 5750, 5751, 5752], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_center": {"executed_lines": [5755, 5756, 5757, 5758], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_right": {"executed_lines": [5761, 5762, 5763], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_jump": {"executed_lines": [5766, 5767, 5768, 5769, 5771, 5772, 5773, 5774, 5775], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5770], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_retry_last_error": {"executed_lines": [5778, 5779, 5780, 5781, 5782, 5783], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5784, 5785], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_search": {"executed_lines": [5793, 5794, 5795, 5796, 5798, 5799, 5800, 5801], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5797], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_filter_menu": {"executed_lines": [5804, 5807, 5808], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5805, 5806], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [5811, 5827, 5828, 5829, 5830, 5831], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._open_palette_with_prefix": {"executed_lines": [5834, 5837, 5840, 5841, 5842, 5843, 5844, 5845, 5846], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [5835, 5836, 5838, 5839], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_settings": {"executed_lines": [5849], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5852], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_create_seed": {"executed_lines": [5855], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_remove_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [5858], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_hide_reveal": {"executed_lines": [5863], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_export_data": {"executed_lines": [5866], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_import_data": {"executed_lines": [5869], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_shortcut_backup_data": {"executed_lines": [5872], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_search_mode": {"executed_lines": [5877, 5880, 5881, 5882, 5883, 5884, 5885, 5888, 5889, 5898, 5899, 5900, 5901, 5902], "summary": {"covered_lines": 14, "num_statements": 21, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [5878, 5879, 5886, 5887, 5890, 5891, 5897], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_archive_scope": {"executed_lines": [5905, 5908, 5909, 5910, 5911, 5912], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5906, 5907], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_density": {"executed_lines": [5915, 5918, 5921, 5922, 5923], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5916, 5917], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_page": {"executed_lines": [5926, 5929, 5930, 5931, 5932, 5933, 5934], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5927, 5928], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_page": {"executed_lines": [5937, 5940, 5943, 5944, 5945], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [5938, 5939, 5941, 5942], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_link_filter": {"executed_lines": [5948, 5951, 5952, 5953, 5954, 5962, 5967, 5968, 5969, 5970], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5949, 5950], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_link": {"executed_lines": [5973, 5976, 5979, 5980], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5974, 5975], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_link": {"executed_lines": [5985, 5988, 5991, 5992], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5986, 5987], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_link_target": {"executed_lines": [5997, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [5998, 5999], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_palette": {"executed_lines": [6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [6023], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_reveal_selected": {"executed_lines": [6026, 6027, 6028, 6029, 6030, 6031, 6035, 6036, 6037, 6038, 6039, 6040, 6041, 6042, 6043, 6044, 6045, 6048, 6049, 6052, 6053, 6058, 6065, 6068, 6069, 6070], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_show_qr": {"executed_lines": [6073, 6076, 6084, 6085, 6086, 6087, 6088, 6089], "summary": {"covered_lines": 8, "num_statements": 14, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [6074, 6075, 6077, 6078, 6082, 6083], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_totp_board": {"executed_lines": [6092, 6095, 6096, 6097, 6098, 6099, 6102], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [6093, 6094, 6100], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_archive": {"executed_lines": [6105, 6108, 6109, 6110, 6112, 6113, 6116, 6120, 6121, 6122, 6123, 6124, 6127, 6128, 6129, 6132, 6133, 6134, 6135, 6136], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [6106, 6107, 6117, 6118, 6125], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_edit_document": {"executed_lines": [6144, 6147, 6148, 6149, 6150, 6154, 6155, 6156, 6159, 6160, 6161, 6163, 6164, 6165, 6166, 6172, 6173, 6174, 6175, 6176, 6179], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [6145, 6146, 6151, 6152, 6178], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_save_document": {"executed_lines": [6182, 6185, 6189, 6190, 6193, 6194, 6195, 6196, 6202, 6203, 6204, 6205, 6206, 6208, 6209, 6216, 6217, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225], "summary": {"covered_lines": 25, "num_statements": 29, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [6183, 6184, 6186, 6187], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cancel_document_edit": {"executed_lines": [6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6247, 6251, 6252, 6253, 6254, 6255], "summary": {"covered_lines": 16, "num_statements": 23, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [6243, 6244, 6245, 6246, 6248, 6249, 6250], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_changed": {"executed_lines": [6258, 6264], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_button_pressed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [6267, 6268], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_click": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [6271, 6272, 6273, 6274, 6275, 6276], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_text_area_changed": {"executed_lines": [6279], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_resize": {"executed_lines": [6282, 6283, 6284], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_submitted": {"executed_lines": [6287, 6288, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6316], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [6289, 6290], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_selected": {"executed_lines": [6319, 6322, 6323, 6324, 6325, 6326], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [6320, 6321], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_highlighted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [6329, 6330, 6331, 6332, 6333], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 12, 27, 41, 58, 75, 89], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"launch_tui2.EntryListItem": {"executed_lines": [123, 124], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2": {"executed_lines": [374, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 431, 434, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 455, 458, 459, 465, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 523, 524, 525, 531, 534, 535, 543, 544, 552, 553, 559, 560, 566, 567, 575, 576, 582, 583, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 608, 611, 612, 613, 614, 619, 624, 625, 628, 629, 631, 632, 633, 636, 637, 639, 640, 641, 642, 643, 644, 647, 648, 650, 651, 654, 655, 656, 657, 658, 660, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 675, 676, 677, 678, 679, 680, 681, 682, 690, 691, 692, 694, 695, 697, 706, 709, 710, 711, 712, 713, 716, 717, 718, 719, 720, 721, 722, 725, 726, 727, 728, 730, 735, 736, 737, 738, 739, 740, 743, 744, 745, 746, 751, 752, 753, 754, 755, 756, 766, 767, 768, 769, 771, 772, 773, 774, 775, 776, 777, 778, 779, 782, 783, 784, 785, 786, 787, 788, 790, 791, 792, 795, 796, 797, 798, 805, 806, 813, 817, 818, 819, 820, 821, 825, 826, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 848, 849, 850, 851, 852, 854, 857, 858, 859, 860, 861, 862, 864, 865, 866, 869, 870, 871, 872, 873, 874, 875, 876, 877, 879, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 902, 903, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 920, 921, 922, 923, 925, 929, 930, 933, 934, 944, 948, 949, 954, 966, 967, 969, 971, 973, 975, 977, 978, 989, 990, 992, 993, 994, 1010, 1012, 1014, 1016, 1018, 1020, 1021, 1030, 1031, 1046, 1048, 1049, 1050, 1052, 1053, 1055, 1056, 1058, 1061, 1062, 1063, 1064, 1066, 1067, 1068, 1069, 1074, 1076, 1077, 1079, 1080, 1084, 1085, 1086, 1087, 1088, 1089, 1093, 1094, 1095, 1096, 1097, 1103, 1132, 1146, 1177, 1178, 1179, 1180, 1181, 1182, 1201, 1204, 1205, 1206, 1207, 1209, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1257, 1258, 1260, 1261, 1262, 1263, 1265, 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1292, 1293, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1306, 1311, 1312, 1324, 1325, 1326, 1327, 1330, 1331, 1334, 1335, 1346, 1347, 1348, 1351, 1352, 1353, 1354, 1355, 1356, 1359, 1360, 1364, 1365, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1381, 1382, 1385, 1388, 1389, 1396, 1397, 1398, 1401, 1402, 1407, 1408, 1409, 1412, 1413, 1414, 1415, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1439, 1440, 1444, 1445, 1446, 1447, 1448, 1451, 1455, 1456, 1461, 1462, 1465, 1466, 1471, 1472, 1473, 1474, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1495, 1498, 1499, 1502, 1503, 1504, 1507, 1510, 1513, 1514, 1515, 1516, 1519, 1522, 1523, 1524, 1527, 1530, 1531, 1532, 1533, 1534, 1537, 1543, 1544, 1549, 1550, 1555, 1558, 1559, 1560, 1561, 1581, 1582, 1583, 1601, 1611, 1612, 1613, 1614, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1652, 1655, 1658, 1659, 1660, 1661, 1662, 1670, 1708, 1711, 1712, 1722, 1723, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1750, 1751, 1752, 1757, 1758, 1762, 1763, 1766, 1769, 1770, 1771, 1772, 1773, 1777, 1778, 1779, 1780, 1782, 1785, 1786, 1787, 1788, 1799, 1800, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1814, 1817, 1820, 1821, 1822, 1823, 1824, 1827, 1828, 1829, 1832, 1835, 1839, 1842, 1846, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1869, 1873, 1874, 1875, 1876, 1878, 1882, 1883, 1884, 1885, 1890, 1891, 1892, 1894, 1895, 1898, 1907, 1908, 1909, 1912, 1913, 1914, 1915, 1918, 1923, 1924, 1925, 1926, 1932, 1933, 1934, 1935, 1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1962, 1968, 1969, 1970, 1971, 1977, 1978, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2010, 2016, 2017, 2018, 2022, 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2053, 2057, 2060, 2073, 2075, 2076, 2077, 2078, 2079, 2084, 2090, 2091, 2092, 2098, 2101, 2118, 2120, 2121, 2122, 2123, 2128, 2129, 2134, 2140, 2141, 2142, 2146, 2150, 2167, 2169, 2170, 2171, 2172, 2177, 2183, 2184, 2185, 2190, 2194, 2211, 2213, 2214, 2215, 2216, 2221, 2227, 2228, 2229, 2233, 2237, 2254, 2256, 2257, 2258, 2259, 2260, 2271, 2298, 2306, 2307, 2308, 2309, 2311, 2312, 2313, 2315, 2316, 2319, 2320, 2321, 2322, 2326, 2327, 2328, 2331, 2333, 2334, 2337, 2339, 2340, 2342, 2343, 2345, 2347, 2350, 2351, 2352, 2362, 2363, 2365, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2382, 2383, 2384, 2387, 2388, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2400, 2401, 2402, 2407, 2408, 2411, 2412, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2430, 2432, 2433, 2434, 2435, 2436, 2437, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2448, 2449, 2450, 2451, 2452, 2453, 2456, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2477, 2480, 2481, 2482, 2483, 2484, 2485, 2507, 2514, 2515, 2516, 2517, 2520, 2521, 2522, 2528, 2530, 2531, 2532, 2533, 2534, 2536, 2537, 2539, 2546, 2547, 2548, 2550, 2551, 2552, 2570, 2584, 2585, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2600, 2601, 2609, 2616, 2617, 2684, 2686, 2689, 2692, 2694, 2706, 2718, 2720, 2721, 2723, 2724, 2729, 2731, 2732, 2734, 2735, 2740, 2742, 2743, 2745, 2746, 2753, 2755, 2758, 2761, 2764, 2768, 2769, 2771, 2772, 2773, 2776, 2784, 2785, 2786, 2788, 2789, 2797, 2798, 2799, 2801, 2802, 2810, 2811, 2812, 2813, 2814, 2815, 2817, 2820, 2834, 2835, 2838, 2846, 2862, 2863, 2864, 2865, 2868, 2885, 2886, 2887, 2892, 2893, 2894, 2895, 2896, 2897, 2902, 2903, 2910, 2911, 2927, 2933, 2934, 2940, 2953, 2955, 2956, 2957, 2961, 2962, 2963, 2964, 2965, 2974, 2978, 2979, 2980, 2982, 2983, 2984, 2985, 2986, 2987, 2992, 2993, 2994, 2997, 2998, 2999, 3000, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3031, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3063, 3064, 3065, 3066, 3067, 3070, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3081, 3082, 3083, 3092, 3095, 3097, 3102, 3103, 3104, 3114, 3115, 3116, 3122, 3123, 3127, 3128, 3129, 3130, 3132, 3137, 3140, 3147, 3148, 3151, 3155, 3156, 3157, 3161, 3162, 3163, 3164, 3167, 3171, 3172, 3173, 3174, 3175, 3176, 3179, 3181, 3183, 3184, 3185, 3188, 3190, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3208, 3209, 3216, 3226, 3244, 3245, 3246, 3248, 3249, 3252, 3260, 3261, 3262, 3263, 3264, 3265, 3268, 3269, 3271, 3272, 3273, 3285, 3286, 3287, 3288, 3289, 3290, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3322, 3323, 3324, 3325, 3326, 3327, 3330, 3331, 3332, 3333, 3334, 3335, 3337, 3338, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3350, 3351, 3352, 3353, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3379, 3380, 3381, 3382, 3383, 3384, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3431, 3434, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3474, 3475, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3495, 3496, 3498, 3499, 3500, 3501, 3504, 3505, 3506, 3507, 3510, 3511, 3517, 3519, 3520, 3521, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3541, 3542, 3543, 3544, 3545, 3546, 3548, 3549, 3552, 3553, 3556, 3557, 3558, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3575, 3576, 3577, 3578, 3586, 3588, 3589, 3592, 3593, 3596, 3597, 3598, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3616, 3617, 3618, 3619, 3620, 3627, 3628, 3629, 3632, 3633, 3634, 3635, 3636, 3637, 3639, 3640, 3641, 3644, 3652, 3654, 3655, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3667, 3668, 3669, 3670, 3671, 3672, 3680, 3682, 3683, 3686, 3687, 3690, 3691, 3692, 3693, 3694, 3697, 3698, 3703, 3704, 3705, 3706, 3714, 3716, 3717, 3720, 3721, 3722, 3723, 3724, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3747, 3749, 3750, 3753, 3754, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3782, 3783, 3784, 3785, 3793, 3795, 3796, 3799, 3800, 3801, 3802, 3803, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3826, 3828, 3829, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3853, 3854, 3859, 3860, 3861, 3862, 3870, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3903, 3905, 3906, 3907, 3908, 3909, 3910, 3913, 3919, 3921, 3922, 3923, 3924, 3925, 3931, 3933, 3934, 3935, 3936, 3937, 3938, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3952, 3953, 3954, 3960, 3962, 3963, 3964, 3965, 3966, 3967, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3981, 3982, 3988, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 4002, 4004, 4005, 4006, 4007, 4008, 4014, 4016, 4017, 4018, 4021, 4022, 4023, 4024, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4042, 4045, 4051, 4053, 4054, 4055, 4056, 4057, 4058, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4072, 4073, 4078, 4084, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4096, 4099, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4123, 4124, 4125, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4138, 4144, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4155, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4177, 4178, 4179, 4182, 4183, 4189, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4215, 4216, 4217, 4218, 4219, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4237, 4240, 4241, 4242, 4243, 4246, 4247, 4249, 4250, 4251, 4252, 4253, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4266, 4267, 4270, 4272, 4273, 4274, 4275, 4276, 4287, 4290, 4291, 4294, 4295, 4297, 4298, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4313, 4321, 4323, 4324, 4325, 4326, 4327, 4328, 4331, 4332, 4333, 4336, 4337, 4338, 4340, 4341, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4361, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, 4385, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4398, 4399, 4401, 4404, 4405, 4406, 4414, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4428, 4431, 4432, 4433, 4434, 4435, 4443, 4445, 4446, 4447, 4448, 4449, 4450, 4452, 4453, 4454, 4455, 4456, 4457, 4459, 4460, 4461, 4462, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4473, 4474, 4478, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4489, 4490, 4491, 4492, 4493, 4494, 4503, 4505, 4506, 4507, 4508, 4509, 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4521, 4522, 4523, 4524, 4532, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4546, 4547, 4550, 4551, 4552, 4553, 4561, 4563, 4564, 4565, 4566, 4567, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4579, 4580, 4581, 4582, 4590, 4592, 4593, 4594, 4595, 4596, 4599, 4600, 4601, 4602, 4603, 4604, 4605, 4608, 4609, 4610, 4611, 4619, 4621, 4622, 4623, 4624, 4625, 4626, 4627, 4628, 4629, 4632, 4633, 4636, 4637, 4638, 4639, 4647, 4649, 4650, 4651, 4652, 4653, 4656, 4657, 4660, 4661, 4662, 4663, 4664, 4668, 4669, 4677, 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688, 4691, 4692, 4693, 4696, 4697, 4698, 4699, 4700, 4701, 4702, 4710, 4712, 4713, 4714, 4715, 4716, 4717, 4718, 4719, 4720, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4741, 4743, 4744, 4745, 4746, 4747, 4750, 4755, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4774, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4787, 4788, 4791, 4792, 4795, 4796, 4797, 4802, 4805, 4806, 4807, 4808, 4809, 4810, 4811, 4814, 4815, 4820, 4821, 4822, 4823, 4831, 4833, 4834, 4835, 4836, 4837, 4840, 4841, 4842, 4843, 4844, 4856, 4858, 4859, 4860, 4861, 4862, 4865, 4866, 4869, 4870, 4871, 4872, 4880, 4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4893, 4894, 4895, 4898, 4899, 4900, 4906, 4907, 4908, 4916, 4918, 4919, 4920, 4921, 4922, 4925, 4926, 4930, 4931, 4932, 4933, 4941, 4943, 4944, 4945, 4946, 4947, 4950, 4951, 4954, 4955, 4956, 4957, 4965, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4978, 4979, 4980, 4981, 4991, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001, 5006, 5007, 5008, 5009, 5019, 5021, 5022, 5023, 5024, 5025, 5028, 5029, 5030, 5031, 5035, 5036, 5037, 5045, 5047, 5048, 5049, 5050, 5051, 5054, 5055, 5056, 5057, 5058, 5066, 5068, 5069, 5070, 5071, 5072, 5075, 5076, 5079, 5080, 5081, 5082, 5090, 5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5103, 5104, 5105, 5106, 5114, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5126, 5127, 5128, 5129, 5137, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5149, 5150, 5151, 5152, 5153, 5161, 5163, 5164, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174, 5178, 5179, 5180, 5181, 5187, 5189, 5190, 5191, 5192, 5193, 5194, 5197, 5198, 5199, 5200, 5201, 5203, 5206, 5207, 5208, 5218, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5241, 5242, 5250, 5252, 5253, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5275, 5276, 5279, 5280, 5282, 5283, 5286, 5287, 5290, 5291, 5292, 5293, 5296, 5297, 5298, 5299, 5302, 5303, 5304, 5305, 5306, 5307, 5308, 5309, 5310, 5313, 5314, 5315, 5316, 5324, 5326, 5327, 5328, 5329, 5330, 5331, 5332, 5333, 5335, 5336, 5337, 5338, 5339, 5340, 5342, 5343, 5344, 5347, 5348, 5349, 5358, 5360, 5361, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5374, 5379, 5381, 5382, 5387, 5388, 5393, 5394, 5395, 5396, 5401, 5402, 5403, 5409, 5410, 5411, 5412, 5422, 5424, 5425, 5428, 5429, 5430, 5431, 5432, 5437, 5438, 5439, 5440, 5441, 5442, 5446, 5447, 5448, 5449, 5457, 5459, 5463, 5467, 5470, 5471, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5484, 5485, 5486, 5487, 5490, 5491, 5493, 5494, 5495, 5496, 5497, 5502, 5503, 5507, 5508, 5509, 5510, 5516, 5517, 5518, 5521, 5522, 5528, 5530, 5531, 5532, 5533, 5534, 5537, 5538, 5542, 5543, 5544, 5549, 5550, 5551, 5554, 5555, 5561, 5563, 5566, 5567, 5568, 5569, 5570, 5571, 5572, 5573, 5574, 5575, 5576, 5577, 5578, 5579, 5580, 5581, 5582, 5583, 5584, 5585, 5586, 5589, 5590, 5591, 5592, 5593, 5600, 5603, 5606, 5610, 5620, 5622, 5623, 5624, 5627, 5630, 5631, 5632, 5635, 5636, 5637, 5642, 5645, 5646, 5647, 5648, 5649, 5650, 5653, 5654, 5655, 5656, 5659, 5662, 5665, 5666, 5667, 5670, 5671, 5672, 5673, 5676, 5679, 5680, 5681, 5682, 5683, 5684, 5687, 5690, 5691, 5692, 5693, 5694, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5710, 5713, 5714, 5716, 5717, 5720, 5721, 5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729, 5755, 5756, 5757, 5758, 5761, 5762, 5763, 5766, 5767, 5768, 5769, 5771, 5772, 5773, 5774, 5775, 5778, 5779, 5780, 5781, 5782, 5783, 5793, 5794, 5795, 5796, 5798, 5799, 5800, 5801, 5804, 5807, 5808, 5834, 5837, 5840, 5841, 5842, 5843, 5844, 5845, 5846, 5849, 5855, 5863, 5866, 5869, 5872, 5877, 5880, 5881, 5882, 5883, 5884, 5885, 5888, 5889, 5898, 5899, 5900, 5901, 5902, 5905, 5908, 5909, 5910, 5911, 5912, 5915, 5918, 5921, 5922, 5923, 5926, 5929, 5930, 5931, 5932, 5933, 5934, 5937, 5940, 5943, 5944, 5945, 5948, 5951, 5952, 5953, 5954, 5962, 5967, 5968, 5969, 5970, 5973, 5976, 5979, 5980, 5985, 5988, 5991, 5992, 5997, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008, 6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021, 6026, 6027, 6028, 6029, 6030, 6031, 6035, 6036, 6037, 6038, 6039, 6040, 6041, 6042, 6043, 6044, 6045, 6048, 6049, 6052, 6053, 6058, 6065, 6068, 6069, 6070, 6073, 6076, 6084, 6085, 6086, 6087, 6088, 6089, 6092, 6095, 6096, 6097, 6098, 6099, 6102, 6105, 6108, 6109, 6110, 6112, 6113, 6116, 6120, 6121, 6122, 6123, 6124, 6127, 6128, 6129, 6132, 6133, 6134, 6135, 6136, 6144, 6147, 6148, 6149, 6150, 6154, 6155, 6156, 6159, 6160, 6161, 6163, 6164, 6165, 6166, 6172, 6173, 6174, 6175, 6176, 6179, 6182, 6185, 6189, 6190, 6193, 6194, 6195, 6196, 6202, 6203, 6204, 6205, 6206, 6208, 6209, 6216, 6217, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225, 6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6247, 6251, 6252, 6253, 6254, 6255, 6258, 6264, 6279, 6282, 6283, 6284, 6287, 6288, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6316, 6319, 6322, 6323, 6324, 6325, 6326], "summary": {"covered_lines": 2927, "num_statements": 3687, "percent_covered": 79.38703553024139, "percent_covered_display": "79", "missing_lines": 760, "excluded_lines": 0}, "missing_lines": [461, 540, 541, 542, 549, 550, 551, 556, 557, 558, 563, 564, 565, 572, 573, 574, 579, 580, 581, 588, 589, 590, 630, 659, 673, 693, 696, 714, 715, 731, 732, 741, 742, 764, 765, 770, 789, 830, 845, 846, 853, 968, 970, 972, 974, 976, 979, 980, 981, 982, 983, 984, 985, 991, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1011, 1013, 1015, 1017, 1019, 1022, 1023, 1024, 1025, 1026, 1027, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1047, 1051, 1054, 1065, 1075, 1081, 1100, 1226, 1227, 1228, 1229, 1270, 1271, 1294, 1295, 1338, 1339, 1345, 1370, 1438, 1441, 1508, 1517, 1528, 1535, 1541, 1635, 1663, 1664, 1665, 1666, 1667, 1668, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1681, 1682, 1685, 1689, 1697, 1700, 1703, 1704, 1705, 1706, 1709, 1710, 1718, 1719, 1720, 1748, 1749, 1825, 1826, 1877, 1893, 2273, 2278, 2279, 2280, 2286, 2287, 2288, 2289, 2317, 2323, 2324, 2329, 2330, 2332, 2335, 2336, 2338, 2341, 2344, 2346, 2366, 2367, 2368, 2369, 2447, 2486, 2487, 2490, 2491, 2494, 2495, 2496, 2497, 2498, 2504, 2508, 2511, 2512, 2513, 2619, 2620, 2632, 2633, 2634, 2647, 2649, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2680, 2681, 2685, 2693, 2719, 2722, 2725, 2726, 2730, 2733, 2736, 2737, 2741, 2744, 2747, 2748, 2754, 2756, 2762, 2847, 2850, 2867, 2876, 2904, 2905, 2914, 2915, 2925, 2944, 2950, 2966, 2967, 2973, 3032, 3071, 3072, 3080, 3096, 3098, 3101, 3105, 3106, 3112, 3131, 3152, 3158, 3165, 3166, 3168, 3180, 3182, 3189, 3194, 3210, 3211, 3212, 3217, 3218, 3219, 3224, 3227, 3228, 3229, 3230, 3231, 3232, 3234, 3235, 3236, 3237, 3238, 3241, 3242, 3247, 3250, 3253, 3254, 3255, 3256, 3257, 3258, 3266, 3270, 3275, 3276, 3277, 3280, 3282, 3312, 3313, 3458, 3459, 3476, 3477, 3493, 3494, 3509, 3550, 3551, 3559, 3560, 3579, 3580, 3590, 3591, 3599, 3600, 3613, 3614, 3615, 3630, 3631, 3638, 3643, 3645, 3646, 3656, 3657, 3665, 3666, 3673, 3674, 3684, 3685, 3695, 3696, 3707, 3708, 3718, 3719, 3725, 3726, 3740, 3741, 3751, 3752, 3760, 3761, 3786, 3787, 3797, 3798, 3804, 3805, 3819, 3820, 3830, 3831, 3850, 3851, 3852, 3863, 3864, 3874, 3875, 3881, 3882, 3896, 3897, 3911, 3912, 3939, 3940, 3968, 3969, 4025, 4026, 4059, 4060, 4094, 4095, 4097, 4098, 4137, 4153, 4154, 4220, 4221, 4229, 4230, 4236, 4238, 4239, 4254, 4255, 4264, 4265, 4268, 4269, 4279, 4280, 4286, 4288, 4289, 4299, 4300, 4312, 4314, 4315, 4334, 4335, 4354, 4355, 4377, 4378, 4379, 4396, 4397, 4407, 4408, 4426, 4427, 4429, 4430, 4436, 4437, 4471, 4472, 4475, 4476, 4477, 4487, 4488, 4495, 4496, 4497, 4510, 4511, 4519, 4520, 4525, 4526, 4543, 4544, 4545, 4548, 4549, 4554, 4555, 4568, 4569, 4577, 4578, 4583, 4584, 4597, 4598, 4606, 4607, 4612, 4613, 4630, 4631, 4634, 4635, 4640, 4641, 4654, 4655, 4658, 4659, 4670, 4671, 4694, 4695, 4703, 4704, 4721, 4722, 4734, 4735, 4748, 4749, 4756, 4757, 4767, 4768, 4785, 4786, 4789, 4790, 4803, 4824, 4825, 4838, 4839, 4848, 4849, 4850, 4863, 4864, 4867, 4868, 4873, 4874, 4891, 4892, 4896, 4897, 4904, 4905, 4909, 4910, 4923, 4924, 4927, 4928, 4929, 4934, 4935, 4948, 4949, 4952, 4953, 4958, 4959, 4976, 4977, 4984, 4985, 5002, 5005, 5012, 5013, 5026, 5027, 5032, 5033, 5038, 5039, 5052, 5053, 5059, 5060, 5073, 5074, 5077, 5078, 5083, 5084, 5101, 5102, 5107, 5108, 5130, 5131, 5154, 5155, 5165, 5166, 5210, 5211, 5212, 5229, 5230, 5231, 5243, 5244, 5254, 5255, 5277, 5278, 5284, 5285, 5294, 5295, 5317, 5318, 5350, 5351, 5357, 5362, 5363, 5375, 5378, 5383, 5386, 5415, 5416, 5426, 5427, 5433, 5436, 5450, 5451, 5460, 5461, 5464, 5465, 5468, 5469, 5472, 5473, 5488, 5489, 5498, 5501, 5504, 5505, 5506, 5535, 5536, 5539, 5540, 5541, 5564, 5565, 5594, 5595, 5596, 5597, 5598, 5599, 5601, 5602, 5604, 5605, 5607, 5608, 5613, 5614, 5615, 5616, 5617, 5621, 5628, 5629, 5639, 5643, 5644, 5651, 5652, 5660, 5661, 5663, 5664, 5668, 5669, 5677, 5678, 5685, 5686, 5695, 5696, 5708, 5709, 5711, 5712, 5730, 5731, 5739, 5740, 5741, 5742, 5743, 5744, 5745, 5746, 5747, 5750, 5751, 5752, 5770, 5784, 5785, 5797, 5805, 5806, 5811, 5827, 5828, 5829, 5830, 5831, 5835, 5836, 5838, 5839, 5852, 5858, 5878, 5879, 5886, 5887, 5890, 5891, 5897, 5906, 5907, 5916, 5917, 5927, 5928, 5938, 5939, 5941, 5942, 5949, 5950, 5974, 5975, 5986, 5987, 5998, 5999, 6023, 6074, 6075, 6077, 6078, 6082, 6083, 6093, 6094, 6100, 6106, 6107, 6117, 6118, 6125, 6145, 6146, 6151, 6152, 6178, 6183, 6184, 6186, 6187, 6243, 6244, 6245, 6246, 6248, 6249, 6250, 6267, 6268, 6271, 6272, 6273, 6274, 6275, 6276, 6289, 6290, 6320, 6321, 6329, 6330, 6331, 6332, 6333], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 12, 14, 15, 27, 29, 30, 31, 32, 33, 34, 35, 36, 38, 41, 48, 49, 50, 51, 52, 53, 54, 55, 58, 62, 63, 64, 66, 67, 68, 71, 72, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 89, 106, 107, 110, 111, 112, 113, 114, 116, 117, 121, 122, 126, 127, 128, 129, 146, 321, 365, 366, 367, 368, 369, 370, 371, 373, 472, 610, 627, 635, 646, 653, 662, 708, 734, 748, 781, 815, 816, 832, 856, 868, 881, 932, 964, 965, 987, 988, 1009, 1029, 1045, 1083, 1099, 1102, 1131, 1145, 1176, 1203, 1211, 1305, 1310, 1316, 1329, 1333, 1350, 1358, 1362, 1363, 1367, 1380, 1384, 1387, 1393, 1400, 1404, 1411, 1443, 1450, 1464, 1616, 1651, 1657, 1740, 1831, 1837, 1838, 1844, 1845, 1857, 1871, 1872, 1880, 1881, 1887, 1903, 1904, 1917, 1942, 2285, 2291, 2381, 2439, 2506, 2683, 2691, 2704, 2705, 2717, 2728, 2739, 2750, 2882, 2889, 2907, 2996, 3002, 3044, 3055, 3061, 3062, 3069, 3094, 3150, 3154, 3160, 3170, 3178, 3192, 3284, 3292, 3320, 3321, 3329, 5612, 5619, 5626, 5634, 5641, 5658, 5675, 5738, 5754, 5760, 5765, 5777, 5792, 5803, 5810, 5833, 5848, 5851, 5854, 5857, 5862, 5865, 5868, 5871, 5876, 5904, 5914, 5925, 5936, 5947, 5972, 5984, 5996, 6010, 6025, 6072, 6091, 6104, 6143, 6181, 6232, 6257, 6266, 6270, 6278, 6281, 6286, 6318, 6328, 6335, 6336, 6337, 6338], "summary": {"covered_lines": 235, "num_statements": 240, "percent_covered": 97.91666666666667, "percent_covered_display": "98", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [37, 65, 108, 6339, 6340], "excluded_lines": [118, 119]}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [1, 3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 11], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}}, "src/seedpass_gui/app.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 25, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 72, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 150, 154, 161, 165, 169, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 198, 199, 200, 201, 202, 203, 207, 208, 210, 211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335, 338, 339, 341, 354, 371, 372, 374, 393, 398, 423, 427, 428, 430, 453, 458, 470, 483, 488, 489, 503], "summary": {"covered_lines": 203, "num_statements": 316, "percent_covered": 64.24050632911393, "percent_covered_display": "64", "missing_lines": 113, "excluded_lines": 24}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 190, 191, 192, 194, 195, 196, 204, 342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368, 375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424, 431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480, 485], "excluded_lines": [57, 58, 59, 464, 465, 466, 477, 478, 479, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 503, 504, 505], "functions": {"LockScreenWindow.__init__": {"executed_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LockScreenWindow.handle_unlock": {"executed_lines": [54, 55, 56, 60, 66, 67, 68], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [57, 58, 59]}, "MainWindow.__init__": {"executed_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MainWindow.refresh_entries": {"executed_lines": [126, 127], "summary": {"covered_lines": 2, "num_statements": 13, "percent_covered": 15.384615384615385, "percent_covered_display": "15", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 152], "excluded_lines": []}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": []}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [170, 171], "excluded_lines": []}, "MainWindow.start_vault_sync": {"executed_lines": [176, 179], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MainWindow.start_vault_sync._runner": {"executed_lines": [177], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MainWindow.sync_started": {"executed_lines": [183], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MainWindow.sync_finished": {"executed_lines": [186, 187], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [190, 191, 192, 194, 195, 196], "excluded_lines": []}, "MainWindow.cleanup": {"executed_lines": [199, 200, 201, 202, 203], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [204], "excluded_lines": []}, "EntryDialog.__init__": {"executed_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryDialog.save": {"executed_lines": [266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352], "excluded_lines": []}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391], "excluded_lines": []}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [394, 395, 396], "excluded_lines": []}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421], "excluded_lines": []}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [424], "excluded_lines": []}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451], "excluded_lines": []}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [454, 455, 456], "excluded_lines": []}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [459, 460, 461, 462, 463, 467, 468], "excluded_lines": [464, 465, 466]}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [471, 472, 473, 474, 475, 476, 480], "excluded_lines": [477, 478, 479]}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [485], "excluded_lines": []}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [504, 505]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 25, 27, 53, 71, 72, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 208, 210, 265, 338, 339, 341, 354, 371, 372, 374, 393, 398, 423, 427, 428, 430, 453, 458, 470, 483, 488, 489, 503], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [489, 503]}}, "classes": {"LockScreenWindow": {"executed_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [57, 58, 59]}, "MainWindow": {"executed_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 176, 177, 179, 183, 186, 187, 199, 200, 201, 202, 203], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 58.666666666666664, "percent_covered_display": "59", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 190, 191, 192, 194, 195, 196, 204], "excluded_lines": []}, "EntryDialog": {"executed_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424], "excluded_lines": []}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480], "excluded_lines": [464, 465, 466, 477, 478, 479]}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 25, 27, 53, 71, 72, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 208, 210, 265, 338, 339, 341, 354, 371, 372, 374, 393, 398, 423, 427, 428, 430, 453, 458, 470, 483, 488, 489, 503], "summary": {"covered_lines": 46, "num_statements": 47, "percent_covered": 97.87234042553192, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 4}, "missing_lines": [485], "excluded_lines": [489, 503, 504, 505]}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 174, 175, 176, 177, 178, 179, 182, 183, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 205, 207, 210, 211, 212, 214, 215, 216, 217, 218, 220, 223, 224, 225], "summary": {"covered_lines": 116, "num_statements": 123, "percent_covered": 94.3089430894309, "percent_covered_display": "94", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 208], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mute_logging": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "clean_pubsub": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_addoption": {"executed_lines": [61, 67, 73, 79], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_configure": {"executed_lines": [88, 89, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_collection_modifyitems": {"executed_lines": [98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 68.75, "percent_covered_display": "69", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102, 103], "excluded_lines": []}, "vault": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "password_manager": {"executed_lines": [126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "client": {"executed_lines": [146, 174, 175, 176, 177, 178, 179], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_dummy_nostr_client": {"executed_lines": [185, 186, 188, 220], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_dummy_nostr_client._make": {"executed_lines": [189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [205], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "dummy_nostr_client": {"executed_lines": [225], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 47, 48, 52, 53, 60, 87, 95, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [205], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 174, 175, 176, 177, 178, 179, 182, 183, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218, 220, 223, 224, 225], "summary": {"covered_lines": 114, "num_statements": 120, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103], "excluded_lines": []}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 57, 59, 60, 63, 64, 65, 66, 71, 72, 74, 76, 77, 79, 80, 83, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 109, 110, 112, 113, 114, 119, 121, 122, 123, 125, 126, 127, 128, 130, 131, 132, 134, 135, 136, 139, 140, 141, 143, 144, 145, 148, 149, 150, 152, 153, 155, 156, 157, 160, 161, 162, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 177, 180, 181, 183, 186, 187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "summary": {"covered_lines": 156, "num_statements": 167, "percent_covered": 93.41317365269461, "percent_covered_display": "93", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [67, 68, 70, 94, 115, 116, 118, 178, 184, 195, 196], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [31, 32, 33, 34, 36, 37, 38, 39], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyUnsignedEvent.__init__": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyBuilder.__init__": {"executed_lines": [65, 66, 71, 72], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [67, 68, 70], "excluded_lines": []}, "DummyBuilder.tags": {"executed_lines": [76, 77], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyBuilder.build": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyTag.identifier": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyTag.event": {"executed_lines": [90], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyTag.expiration": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.__init__": {"executed_lines": [103, 104, 105, 106, 107], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.author": {"executed_lines": [110], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.kind": {"executed_lines": [113, 114, 119], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [115, 116, 118], "excluded_lines": []}, "DummyFilter.identifier": {"executed_lines": [122, 123], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.id": {"executed_lines": [126, 127, 128], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.limit": {"executed_lines": [131, 132], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyFilter.since": {"executed_lines": [135, 136], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyTimestamp.__init__": {"executed_lines": [141], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyTimestamp.from_secs": {"executed_lines": [145], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEventId.__init__": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEventId.to_hex": {"executed_lines": [153], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEventId.parse": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummySendResult.__init__": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.__init__": {"executed_lines": [167, 168, 169, 170, 171, 172], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.add_relays": {"executed_lines": [175], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [178], "excluded_lines": []}, "DummyRelayClient.connect": {"executed_lines": [181], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "DummyRelayClient.send_event": {"executed_lines": [187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "summary": {"covered_lines": 19, "num_statements": 21, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [195, 196], "excluded_lines": []}, "DummyRelayClient.fetch_events": {"executed_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [228], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [44, 45, 46, 47, 50], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyUnsignedEvent": {"executed_lines": [55, 56, 57, 60], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyBuilder": {"executed_lines": [65, 66, 71, 72, 76, 77, 80], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [67, 68, 70], "excluded_lines": []}, "DummyTag": {"executed_lines": [86, 90, 98], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyFilter": {"executed_lines": [103, 104, 105, 106, 107, 110, 113, 114, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [115, 116, 118], "excluded_lines": []}, "DummyTimestamp": {"executed_lines": [141, 145], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEventId": {"executed_lines": [150, 153, 157], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummySendResult": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyRelayClient": {"executed_lines": [167, 168, 169, 170, 171, 172, 175, 181, 187, 188, 189, 190, 191, 192, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "summary": {"covered_lines": 46, "num_statements": 50, "percent_covered": 92.0, "percent_covered_display": "92", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [178, 184, 195, 196], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [228, 231], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_account_roundtrip_restore.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 48, 57, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_add_sample_entries": {"executed_lines": [40, 48, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_assert_sample_entries": {"executed_lines": [67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_account_roundtrip_via_nostr_seed_restore": {"executed_lines": [100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_account_roundtrip_via_export_import_seed_restore": {"executed_lines": [125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 39, 66, 99, 124], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 48, 57, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121, 124, 125, 126, 127, 128, 130, 131, 138, 140, 141, 143, 144, 145, 147, 153, 154], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_add_new_fingerprint_words.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_word_entry_exits": {"executed_lines": [9, 10, 11, 13, 14, 16, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_word_entry_exits.setup_wrapper": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 23, 24, 29, 31, 33, 34, 35], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_add_tags_from_retrieve.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_tags_from_retrieve": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 21], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 49], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_additional_backup.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entry_manager_additional_backup": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_ai_tui_agent_harness.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 26, 30, 36, 37, 38, 39, 47, 48, 49, 54, 55, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 72, 73, 75, 77, 78, 80, 81, 83, 84, 85, 86, 89, 90, 93, 94, 95, 96, 98, 99, 101, 102, 104, 105, 106, 107, 108, 111, 112, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 134, 135, 138, 139, 140, 148, 150, 151, 152, 153, 155, 156, 158, 161, 162, 163, 164, 167, 168, 171, 172, 175, 178, 181, 182, 183, 186, 187, 190, 191, 192, 193, 195, 196, 197, 198, 199, 201, 202, 203, 205, 208, 209, 210, 211, 212, 215, 216, 219, 220, 221, 223, 224, 226, 227, 229, 230, 232, 235], "summary": {"covered_lines": 136, "num_statements": 156, "percent_covered": 87.17948717948718, "percent_covered_display": "87", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [23, 24, 31, 40, 41, 50, 51, 56, 74, 91, 113, 136, 159, 169, 173, 176, 179, 188, 206, 217], "excluded_lines": [], "functions": {"_load_harness_module": {"executed_lines": [14, 15, 16, 17, 18, 19, 21, 22, 26], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [23, 24], "excluded_lines": []}, "test_run_step_records_passed_result": {"executed_lines": [55, 57, 58, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [56], "excluded_lines": []}, "test_run_step_records_passed_result._ok": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_run_step_records_failed_result_and_reraises": {"executed_lines": [73, 75, 77, 80, 81, 83, 84, 85, 86], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "test_run_step_records_failed_result_and_reraises._boom": {"executed_lines": [78], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted": {"executed_lines": [90, 93, 94, 98, 101, 104, 105, 106, 107, 108], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.__init__": {"executed_lines": [95, 96], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.sendline": {"executed_lines": [99], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.wait_for": {"executed_lines": [102], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided": {"executed_lines": [112, 115, 116, 120, 123, 126, 127, 128, 129], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [113], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.__init__": {"executed_lines": [117, 118], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.sendline": {"executed_lines": [121], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.expect_and_send": {"executed_lines": [124], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password": {"executed_lines": [135, 138, 139, 150, 155, 158, 161, 162, 163, 164], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [136], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.__init__": {"executed_lines": [140, 148], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.try_wait_for": {"executed_lines": [151, 152, 153], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.sendline": {"executed_lines": [156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [159], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts": {"executed_lines": [168, 171, 172, 175, 178, 181, 182, 183], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [169], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.try_wait_for": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [173], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.sendline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [176], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [179], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns": {"executed_lines": [187, 190, 191, 195, 201, 205, 208, 209, 210, 211, 212], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [188], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.__init__": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.wait_for": {"executed_lines": [196, 197, 198, 199], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.expect_and_send": {"executed_lines": [202, 203], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [206], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress": {"executed_lines": [216, 219, 220, 223, 226, 229, 230, 232, 235], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [217], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.wait_for": {"executed_lines": [221], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.expect_and_send": {"executed_lines": [224], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.pump": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 30, 36, 37, 38, 39, 47, 48, 49, 54, 72, 89, 111, 134, 167, 186, 215], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 82.75862068965517, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [31, 40, 41, 50, 51], "excluded_lines": []}}, "classes": {"test_add_entry_menu_open_waits_when_choice_omitted.Runner": {"executed_lines": [95, 96, 99, 102], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner": {"executed_lines": [117, 118, 121, 124], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner": {"executed_lines": [140, 148, 151, 152, 153, 156], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [159], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [173, 176, 179], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner": {"executed_lines": [192, 193, 196, 197, 198, 199, 202, 203], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [206], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner": {"executed_lines": [221, 224, 227], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 26, 30, 36, 37, 38, 39, 47, 48, 49, 54, 55, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 72, 73, 75, 77, 78, 80, 81, 83, 84, 85, 86, 89, 90, 93, 94, 98, 101, 104, 105, 106, 107, 108, 111, 112, 115, 116, 120, 123, 126, 127, 128, 129, 134, 135, 138, 139, 150, 155, 158, 161, 162, 163, 164, 167, 168, 171, 172, 175, 178, 181, 182, 183, 186, 187, 190, 191, 195, 201, 205, 208, 209, 210, 211, 212, 215, 216, 219, 220, 223, 226, 229, 230, 232, 235], "summary": {"covered_lines": 111, "num_statements": 126, "percent_covered": 88.0952380952381, "percent_covered_display": "88", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [23, 24, 31, 40, 41, 50, 51, 56, 74, 91, 113, 136, 169, 188, 217], "excluded_lines": []}}}, "src/tests/test_api.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 16, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 51, 54, 55, 56, 57, 62, 63, 64, 65, 68, 69, 70, 71, 75, 76, 77, 78, 81, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 101, 102, 103, 104, 107, 108, 109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 145, 146, 147, 152, 153, 154, 155, 158, 159, 160, 161, 162, 165, 166, 171, 172, 173, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 193, 194, 195, 196, 197, 202, 205, 206, 207, 209, 211, 212, 213, 214, 216, 218, 222, 223, 224, 225, 226, 227, 230, 231, 248, 249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 147, "num_statements": 147, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_get_pm_requires_initialized_state": {"executed_lines": [13, 14, 16, 17, 19, 20, 22, 23, 24], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_token_hashed": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cors_and_auth": {"executed_lines": [36, 37, 38, 39, 40], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_invalid_token": {"executed_lines": [45, 46, 51], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_entry_by_id": {"executed_lines": [56, 57, 62, 63, 64, 65], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_config_value": {"executed_lines": [70, 71, 75, 76, 77, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_list_fingerprint": {"executed_lines": [83, 84, 88, 89, 90, 91], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_nostr_pubkey": {"executed_lines": [96, 97, 101, 102, 103, 104], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_modify_archive_entry": {"executed_lines": [109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config": {"executed_lines": [139, 140, 142, 145, 146, 147, 152, 153, 154, 155], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config.set_timeout": {"executed_lines": [143], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config_quick_unlock": {"executed_lines": [160, 161, 162, 165, 166, 171, 172, 173], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_change_password_route": {"executed_lines": [178, 179, 180, 181, 182, 187, 188, 189, 190], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config_unknown_key": {"executed_lines": [195, 196, 197, 202], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_shutdown": {"executed_lines": [207, 209, 211, 212, 216, 218, 222, 223, 224, 225, 226, 227], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_shutdown.Loop.call_soon": {"executed_lines": [213, 214], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_invalid_token_other_endpoints": {"executed_lines": [249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 27, 28, 34, 35, 43, 44, 54, 55, 68, 69, 81, 82, 94, 95, 107, 108, 137, 138, 158, 159, 176, 177, 193, 194, 205, 206, 230, 231, 248], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_get_pm_requires_initialized_state.DummyState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_pm_requires_initialized_state.DummyApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_pm_requires_initialized_state.DummyRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_shutdown.Loop": {"executed_lines": [213, 214], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 16, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 51, 54, 55, 56, 57, 62, 63, 64, 65, 68, 69, 70, 71, 75, 76, 77, 78, 81, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 101, 102, 103, 104, 107, 108, 109, 110, 112, 117, 118, 120, 125, 126, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 145, 146, 147, 152, 153, 154, 155, 158, 159, 160, 161, 162, 165, 166, 171, 172, 173, 176, 177, 178, 179, 180, 181, 182, 187, 188, 189, 190, 193, 194, 195, 196, 197, 202, 205, 206, 207, 209, 211, 212, 216, 218, 222, 223, 224, 225, 226, 227, 230, 231, 248, 249, 250, 251, 252, 253, 254, 255], "summary": {"covered_lines": 145, "num_statements": 145, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_api_new_endpoints.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109, 112, 113, 114, 115, 117, 118, 119, 121, 122, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195, 198, 199, 200, 201, 203, 204, 205, 213, 214, 215, 217, 218, 219, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257, 260, 261, 262, 264, 265, 267, 268, 269, 270, 271, 274, 275, 278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312, 315, 316, 317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345, 348, 349, 350, 351, 353, 354, 356, 357, 358, 363, 364, 365, 368, 369, 370, 371, 372, 373, 374, 375, 376, 379, 380, 381, 382, 385, 386, 387, 388, 389, 390, 391, 398, 399, 400, 401, 404, 407, 408, 409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437, 440, 441, 442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460, 463, 464, 465, 466, 468, 469, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488, 491, 492, 493, 494, 496, 497, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514, 517, 518, 519, 520, 521, 522, 524, 525, 527, 528, 530, 531, 533, 534, 535, 537, 538, 539, 541, 542, 544, 545, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 563, 564, 565, 567, 568, 570, 572, 573, 574, 576, 578, 579, 580, 585, 586, 589, 590, 591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612, 615, 616, 617, 618, 619, 620, 624, 625, 630, 633, 634, 635, 636, 637, 638, 639, 641, 642, 647, 650, 651, 652, 653, 655, 656, 657, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672, 675, 676, 677, 678, 680, 681, 682, 683, 684, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 699, 700, 701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714, 717, 718, 719, 720, 721, 723, 724, 725, 726, 729, 730, 731, 732, 733, 735, 736, 737, 738, 741, 742, 743, 744, 745, 747, 748, 749, 750, 753, 754, 755, 756, 757, 758, 759, 760, 763, 764, 765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793, 796, 797, 798, 799, 801, 802, 804, 805, 807, 808, 810, 811, 816, 817, 818, 819, 822, 823, 824, 825, 826, 828, 830, 834, 835, 836, 838, 841, 844, 845, 848, 849, 850, 851, 856, 861, 862, 863, 864, 867, 868, 871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898, 901, 902, 905, 906, 907, 908, 919, 924, 925, 926, 929, 930, 933, 934, 935, 936, 937, 948, 953, 954, 955, 958, 959, 962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995, 998, 999, 1002, 1003, 1004, 1008, 1013, 1014, 1015, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1031, 1032, 1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1059, 1060, 1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1077, 1078, 1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1099, 1100, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1121, 1122, 1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192, 1195, 1196, 1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250, 1253, 1254, 1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342, 1345, 1346, 1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391, 1394, 1395, 1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453, 1456, 1457, 1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487, 1490, 1491, 1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520, 1523, 1524, 1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550, 1553, 1554, 1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1602, 1607, 1610, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1621, 1622, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1665, 1666, 1668, 1669, 1672, 1674, 1677, 1679, 1680, 1685, 1686, 1687, 1690, 1691, 1692, 1694, 1695, 1696, 1698, 1699, 1702, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719, 1722, 1723, 1724, 1726, 1727, 1728, 1729, 1730, 1731, 1733, 1734, 1741, 1742, 1744, 1745, 1747, 1748, 1749, 1750, 1752, 1753, 1754, 1756, 1764, 1765, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1812, 1813, 1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 1012, "num_statements": 1012, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_create_and_modify_totp_entry": {"executed_lines": [24, 25, 27, 31, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_totp_entry.add_totp": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_totp_entry.modify": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_ssh_entry": {"executed_lines": [78, 79, 81, 85, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_ssh_entry.add_ssh": {"executed_lines": [82, 83], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_ssh_entry.modify": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_document_entry": {"executed_lines": [114, 115, 117, 121, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_document_entry.add_document": {"executed_lines": [118, 119], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_create_and_modify_document_entry.modify": {"executed_lines": [122], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_document_import_export_endpoints": {"executed_lines": [161, 162, 164, 168, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_document_import_export_endpoints.import_document": {"executed_lines": [165, 166], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_document_import_export_endpoints.export_document": {"executed_lines": [169, 170], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_links_endpoints": {"executed_lines": [200, 201, 203, 213, 217, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_links_endpoints.add_link": {"executed_lines": [204, 205], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_links_endpoints.remove_link": {"executed_lines": [214, 215], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_links_endpoints.get_links": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_entry_error": {"executed_lines": [262, 264, 267, 268, 269, 270, 271], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_entry_error.modify": {"executed_lines": [265], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_entry_private_kind_blocked_when_high_risk_locked": {"executed_lines": [278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_entry_hydrates_partitioned_high_risk_entry": {"executed_lines": [317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config_secret_mode": {"executed_lines": [350, 351, 353, 356, 357, 358, 363, 364, 365], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_config_secret_mode.set_secret": {"executed_lines": [354], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_export_endpoint": {"executed_lines": [370, 371, 372, 373, 374, 375, 376], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_codes_endpoint": {"executed_lines": [381, 382, 385, 386, 387, 388, 389, 390, 391], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parent_seed_endpoint_removed": {"executed_lines": [400, 401, 404], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_endpoints": {"executed_lines": [409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_checksum_endpoints": {"executed_lines": [442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_via_path": {"executed_lines": [465, 466, 468, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_via_path.import_db": {"executed_lines": [469], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_via_upload": {"executed_lines": [493, 494, 496, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_via_upload.import_db": {"executed_lines": [497], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_sets_secure_temp_permissions": {"executed_lines": [519, 520, 521, 522, 524, 527, 528, 530, 531, 533, 537, 541, 542, 544, 545, 550, 551, 552, 553, 554], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_sets_secure_temp_permissions.import_db": {"executed_lines": [525], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_sets_secure_temp_permissions.tracking_chmod": {"executed_lines": [534, 535], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_sets_secure_temp_permissions.tracking_unlink": {"executed_lines": [538, 539], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_temp_file_removed_on_failure": {"executed_lines": [559, 560, 561, 563, 567, 568, 570, 572, 576, 578, 579, 580, 585, 586], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_temp_file_removed_on_failure.import_db": {"executed_lines": [564, 565], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_temp_file_removed_on_failure.tracking_unlink": {"executed_lines": [573, 574], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_upload_too_large": {"executed_lines": [591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_invalid_extension": {"executed_lines": [617, 618, 619, 620, 624, 625, 630], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_path_traversal_blocked": {"executed_lines": [635, 636, 637, 638, 639, 641, 642, 647], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_lock_endpoint": {"executed_lines": [652, 653, 655, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_lock_endpoint.lock": {"executed_lines": [656, 657], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_unlock_endpoint": {"executed_lines": [677, 678, 680, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_unlock_endpoint.unlock": {"executed_lines": [681, 682, 683, 684], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_unlock_rate_limited_after_failed_attempts": {"executed_lines": [701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_endpoints_blocked_when_vault_locked": {"executed_lines": [719, 720, 721, 723, 724, 725, 726], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_blocked_when_vault_locked": {"executed_lines": [731, 732, 733, 735, 736, 737, 738], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_endpoint_blocked_when_vault_locked": {"executed_lines": [743, 744, 745, 747, 748, 749, 750], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_config_denies_sensitive_keys": {"executed_lines": [755, 756, 757, 758, 759, 760], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_lock_unlock_cycle_restores_entry_access": {"executed_lines": [765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_secret_mode_endpoint": {"executed_lines": [798, 799, 801, 804, 807, 808, 810, 811, 816, 817, 818, 819], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_secret_mode_endpoint.set_secret": {"executed_lines": [802], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_secret_mode_endpoint.set_delay": {"executed_lines": [805], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint": {"executed_lines": [824, 825, 826, 828, 830, 834, 835, 836, 838, 841], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint_denied_for_agent_profile": {"executed_lines": [848, 849, 850, 851, 856, 861, 862, 863, 864], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint_policy_filtered_manifest": {"executed_lines": [871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint_requires_approval_when_configured": {"executed_lines": [905, 906, 907, 908, 919, 924, 925, 926], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint_blocked_when_high_risk_locked": {"executed_lines": [933, 934, 935, 936, 937, 948, 953, 954, 955], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_endpoint_approval_allows_full_export": {"executed_lines": [962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_export_endpoint_denied_for_agent_profile": {"executed_lines": [1002, 1003, 1004, 1008, 1013, 1014, 1015], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_check_endpoint_full_denied_default": {"executed_lines": [1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_check_endpoint_kind_allowed_default": {"executed_lines": [1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_check_endpoint_kind_requires_kind": {"executed_lines": [1052, 1053, 1054, 1055, 1056], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_manifest_verify_endpoint_ok": {"executed_lines": [1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_manifest_verify_endpoint_mismatch": {"executed_lines": [1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_manifest_verify_endpoint_detects_tamper": {"executed_lines": [1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_parent_seed_endpoint": {"executed_lines": [1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_high_risk_api_unlock_status_and_lock": {"executed_lines": [1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profiles_crud_endpoints": {"executed_lines": [1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_issues_lease": {"executed_lines": [1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_policy_mismatch_denied": {"executed_lines": [1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_template_endpoint": {"executed_lines": [1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_template_post_and_verify": {"executed_lines": [1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_split_recover_api": {"executed_lines": [1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_drill_and_verify_api": {"executed_lines": [1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_drill_verify_detects_tamper": {"executed_lines": [1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_parent_seed_blocked_when_high_risk_locked": {"executed_lines": [1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_parent_seed_requires_approval_when_agent_profile": {"executed_lines": [1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_parent_seed_allows_with_approval_when_agent_profile": {"executed_lines": [1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_parent_seed_path_traversal_blocked": {"executed_lines": [1594, 1595, 1596, 1597, 1598, 1602, 1607], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_relay_management_endpoints": {"executed_lines": [1612, 1613, 1614, 1616, 1619, 1621, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_relay_management_endpoints.load_config": {"executed_lines": [1617], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_relay_management_endpoints.set_relays": {"executed_lines": [1622], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_no_special_chars": {"executed_lines": [1662, 1664, 1665, 1668, 1669, 1674, 1677, 1679, 1680, 1685, 1686, 1687], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_no_special_chars.DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [1666], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_no_special_chars.DummyBIP85.derive_entropy": {"executed_lines": [1672], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_allowed_chars": {"executed_lines": [1692, 1694, 1695, 1698, 1699, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_allowed_chars.DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [1696], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_allowed_chars.DummyBIP85.derive_entropy": {"executed_lines": [1702], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints": {"executed_lines": [1724, 1726, 1727, 1733, 1741, 1744, 1747, 1752, 1756, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.__init__": {"executed_lines": [1728, 1729, 1730, 1731], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.status": {"executed_lines": [1734], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.build": {"executed_lines": [1742], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.rebuild": {"executed_lines": [1745], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.set_enabled": {"executed_lines": [1748, 1749, 1750], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.set_mode": {"executed_lines": [1753, 1754], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService.search": {"executed_lines": [1764, 1765], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_search_requires_query": {"executed_lines": [1805, 1806, 1807, 1808, 1809], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_config_requires_enabled_or_mode": {"executed_lines": [1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 76, 77, 112, 113, 159, 160, 198, 199, 260, 261, 274, 275, 315, 316, 348, 349, 368, 369, 379, 380, 398, 399, 407, 408, 440, 441, 463, 464, 491, 492, 517, 518, 557, 558, 589, 590, 615, 616, 633, 634, 650, 651, 675, 676, 699, 700, 717, 718, 729, 730, 741, 742, 753, 754, 763, 764, 796, 797, 822, 823, 844, 845, 867, 868, 901, 902, 929, 930, 958, 959, 998, 999, 1018, 1019, 1031, 1032, 1050, 1051, 1059, 1060, 1077, 1078, 1099, 1100, 1121, 1122, 1152, 1153, 1195, 1196, 1222, 1223, 1253, 1254, 1293, 1294, 1345, 1346, 1394, 1395, 1423, 1424, 1456, 1457, 1490, 1491, 1523, 1524, 1553, 1554, 1592, 1593, 1610, 1611, 1660, 1661, 1690, 1691, 1722, 1723, 1803, 1804, 1812, 1813], "summary": {"covered_lines": 144, "num_statements": 144, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_generate_password_no_special_chars.DummyEnc": {"executed_lines": [1666], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_no_special_chars.DummyBIP85": {"executed_lines": [1672], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_allowed_chars.DummyEnc": {"executed_lines": [1696], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_allowed_chars.DummyBIP85": {"executed_lines": [1702], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_endpoints.DummySemanticService": {"executed_lines": [1728, 1729, 1730, 1731, 1734, 1742, 1745, 1748, 1749, 1750, 1753, 1754, 1764, 1765], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 53, 54, 55, 65, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 98, 99, 100, 102, 107, 108, 109, 112, 113, 114, 115, 117, 118, 119, 121, 122, 124, 125, 127, 128, 140, 141, 142, 148, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 173, 175, 176, 181, 182, 183, 188, 193, 194, 195, 198, 199, 200, 201, 203, 204, 205, 213, 214, 215, 217, 218, 219, 229, 230, 231, 233, 234, 239, 240, 241, 243, 244, 245, 246, 247, 249, 255, 256, 257, 260, 261, 262, 264, 265, 267, 268, 269, 270, 271, 274, 275, 278, 279, 280, 281, 282, 286, 287, 292, 296, 297, 298, 300, 305, 308, 310, 311, 312, 315, 316, 317, 318, 319, 320, 325, 326, 327, 337, 341, 342, 343, 344, 345, 348, 349, 350, 351, 353, 354, 356, 357, 358, 363, 364, 365, 368, 369, 370, 371, 372, 373, 374, 375, 376, 379, 380, 381, 382, 385, 386, 387, 388, 389, 390, 391, 398, 399, 400, 401, 404, 407, 408, 409, 410, 412, 413, 416, 418, 420, 421, 422, 423, 425, 426, 427, 428, 430, 435, 436, 437, 440, 441, 442, 443, 445, 446, 450, 452, 453, 454, 455, 457, 458, 459, 460, 463, 464, 465, 466, 468, 469, 471, 472, 473, 476, 477, 479, 480, 485, 486, 487, 488, 491, 492, 493, 494, 496, 497, 499, 500, 501, 502, 504, 505, 506, 511, 512, 513, 514, 517, 518, 519, 520, 521, 522, 524, 525, 527, 528, 530, 531, 533, 534, 535, 537, 538, 539, 541, 542, 544, 545, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 563, 564, 565, 567, 568, 570, 572, 573, 574, 576, 578, 579, 580, 585, 586, 589, 590, 591, 592, 593, 596, 598, 599, 600, 601, 602, 608, 610, 611, 612, 615, 616, 617, 618, 619, 620, 624, 625, 630, 633, 634, 635, 636, 637, 638, 639, 641, 642, 647, 650, 651, 652, 653, 655, 656, 657, 659, 660, 662, 663, 664, 665, 666, 667, 668, 671, 672, 675, 676, 677, 678, 680, 681, 682, 683, 684, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 699, 700, 701, 702, 703, 705, 706, 708, 709, 710, 711, 712, 713, 714, 717, 718, 719, 720, 721, 723, 724, 725, 726, 729, 730, 731, 732, 733, 735, 736, 737, 738, 741, 742, 743, 744, 745, 747, 748, 749, 750, 753, 754, 755, 756, 757, 758, 759, 760, 763, 764, 765, 766, 767, 768, 769, 773, 779, 780, 781, 783, 784, 786, 790, 792, 793, 796, 797, 798, 799, 801, 802, 804, 805, 807, 808, 810, 811, 816, 817, 818, 819, 822, 823, 824, 825, 826, 828, 830, 834, 835, 836, 838, 841, 844, 845, 848, 849, 850, 851, 856, 861, 862, 863, 864, 867, 868, 871, 872, 873, 877, 887, 893, 894, 895, 896, 897, 898, 901, 902, 905, 906, 907, 908, 919, 924, 925, 926, 929, 930, 933, 934, 935, 936, 937, 948, 953, 954, 955, 958, 959, 962, 963, 964, 965, 967, 968, 969, 980, 987, 993, 994, 995, 998, 999, 1002, 1003, 1004, 1008, 1013, 1014, 1015, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1031, 1032, 1035, 1036, 1037, 1038, 1043, 1044, 1045, 1046, 1047, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1059, 1060, 1061, 1062, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1077, 1078, 1079, 1080, 1081, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1099, 1100, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1121, 1122, 1123, 1124, 1125, 1126, 1130, 1131, 1135, 1140, 1141, 1142, 1144, 1149, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1172, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1186, 1187, 1188, 1190, 1191, 1192, 1195, 1196, 1197, 1198, 1199, 1200, 1202, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233, 1238, 1240, 1245, 1246, 1247, 1248, 1249, 1250, 1253, 1254, 1257, 1258, 1259, 1260, 1261, 1262, 1265, 1266, 1271, 1272, 1276, 1281, 1282, 1284, 1289, 1290, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1309, 1311, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1332, 1333, 1334, 1335, 1336, 1340, 1341, 1342, 1345, 1346, 1349, 1350, 1351, 1352, 1353, 1358, 1360, 1365, 1366, 1367, 1368, 1369, 1371, 1376, 1377, 1378, 1379, 1381, 1382, 1383, 1388, 1389, 1390, 1391, 1394, 1395, 1396, 1397, 1398, 1399, 1401, 1406, 1407, 1408, 1409, 1410, 1412, 1417, 1418, 1419, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1450, 1451, 1452, 1453, 1456, 1457, 1460, 1461, 1462, 1463, 1465, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1484, 1485, 1486, 1487, 1490, 1491, 1494, 1495, 1496, 1497, 1501, 1502, 1503, 1504, 1510, 1514, 1519, 1520, 1523, 1524, 1527, 1528, 1529, 1533, 1534, 1535, 1539, 1544, 1549, 1550, 1553, 1554, 1557, 1558, 1559, 1560, 1564, 1565, 1566, 1570, 1576, 1582, 1587, 1588, 1589, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1602, 1607, 1610, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1621, 1622, 1624, 1625, 1626, 1631, 1634, 1635, 1637, 1639, 1640, 1641, 1643, 1644, 1645, 1647, 1650, 1651, 1652, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1665, 1668, 1669, 1674, 1677, 1679, 1680, 1685, 1686, 1687, 1690, 1691, 1692, 1694, 1695, 1698, 1699, 1704, 1707, 1709, 1710, 1711, 1716, 1717, 1718, 1719, 1722, 1723, 1724, 1726, 1727, 1733, 1741, 1744, 1747, 1752, 1756, 1767, 1768, 1769, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, 1781, 1783, 1788, 1789, 1790, 1791, 1793, 1798, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1812, 1813, 1814, 1815, 1816, 1817, 1818], "summary": {"covered_lines": 994, "num_statements": 994, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_api_notifications.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 16, 17, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 38, 41, 42, 43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_notifications_endpoint": {"executed_lines": [9, 10, 11, 12, 13, 16, 17, 21], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_notifications_endpoint_clears_queue": {"executed_lines": [26, 27, 28, 29, 32, 33, 34, 35, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_notifications_endpoint_does_not_clear_current": {"executed_lines": [43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 24, 25, 41, 42], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 16, 17, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 38, 41, 42, 43, 44, 45, 46, 47, 48, 52, 55, 56, 57, 58], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_api_profile_stats.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_stats_endpoint": {"executed_lines": [6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 4, 5], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 10, 11, 12, 13], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_api_rate_limit.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_rate_limit_exceeded": {"executed_lines": [15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 19, 21, 34, 35, 36, 37, 38, 40, 41, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_api_reload_relays.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_reload_relays_logs_errors": {"executed_lines": [8, 11, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_reload_relays_logs_errors.close": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_reload_relays_logs_errors.init": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 14, 21, 23, 24, 26, 27, 28, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_archive_from_retrieve.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_archive_entry_from_retrieve": {"executed_lines": [23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_restore_entry_from_retrieve": {"executed_lines": [55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 22, 53], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 18, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 46, 48, 50, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 83], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_archive_nonpassword.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_archive_nonpassword_list_search": {"executed_lines": [23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 40, 44, 45, 46, 47], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_archive_restore.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 179, "num_statements": 179, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [21, 22, 23, 24], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_archive_restore_affects_listing_and_search": {"executed_lines": [28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_view_archived_entries_cli": {"executed_lines": [57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_view_archived_entries_view_only": {"executed_lines": [89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_view_archived_entries_removed_after_restore": {"executed_lines": [123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_archived_entries_menu_hides_active": {"executed_lines": [161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_view_archived_entries_refreshes_after_view_action": {"executed_lines": [199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 27, 56, 88, 122, 160, 198], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 38, 39, 40, 41, 44, 48, 49, 50, 51, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 145, 146, 148, 149, 150, 151, 153, 154, 155, 156, 157, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 222, 227, 228, 229, 231, 233, 234, 235, 236], "summary": {"covered_lines": 179, "num_statements": 179, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_atomic_write.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 17, 18, 20, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 41, 44, 45, 46, 47, 49, 50, 53, 56, 59, 61, 62, 65, 67, 69, 70, 72, 73, 76, 77], "summary": {"covered_lines": 40, "num_statements": 42, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [10, 11], "excluded_lines": [], "functions": {"_writer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [10, 11], "excluded_lines": []}, "test_atomic_write_concurrent": {"executed_lines": [17, 18, 20, 24, 25, 26, 27, 29, 30, 31], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_atomic_write_cleanup_on_failure": {"executed_lines": [36, 39, 41, 49, 50, 53, 56], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_atomic_write_cleanup_on_failure.failing_writer": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_atomic_write_preserves_existing_on_failure": {"executed_lines": [61, 62, 65, 67, 72, 73, 76, 77], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_atomic_write_preserves_existing_on_failure.failing_writer": {"executed_lines": [69, 70], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 34, 59], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 14, 17, 18, 20, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 41, 44, 45, 46, 47, 49, 50, 53, 56, 59, 61, 62, 65, 67, 69, 70, 72, 73, 76, 77], "summary": {"covered_lines": 40, "num_statements": 42, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [10, 11], "excluded_lines": []}}}, "src/tests/test_audit_logger.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_audit_logger_records_events": {"executed_lines": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_verify_chain": {"executed_lines": [58, 59, 60, 61, 62, 63, 66, 67, 68, 69], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_audit_log_tamper_evident": {"executed_lines": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 57, 72], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_auto_sync.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 30, 32, 34, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_auto_sync_triggers_post": {"executed_lines": [14, 30, 32, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_auto_sync_triggers_post.fake_post": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 30, 32, 34, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_background_error_reporting.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 42, 43, 44, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [8, 9, 10, 11, 12, 15, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_error": {"executed_lines": [20, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_error.failing_sync": {"executed_lines": [23], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_relay_check_error": {"executed_lines": [40, 42, 43, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_relay_check_error.DummyClient.check_relay_health": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 19, 39], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_start_background_relay_check_error.DummyClient": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 42, 43, 46, 48, 49, 51, 52, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_background_relay_check.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 23, 24, 26, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_background_relay_check_runs_async": {"executed_lines": [14, 15, 16, 17, 18, 23, 24, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_background_relay_check_warns_when_unhealthy": {"executed_lines": [30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 29], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 23, 24, 26, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_background_sync_always.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 36, 38, 40, 41, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 61, 63, 65, 66], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_switch_fingerprint_triggers_bg_sync": {"executed_lines": [12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 38, 40, 41], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_switch_fingerprint_triggers_bg_sync.fake_bg": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_exit_managed_account_triggers_bg_sync": {"executed_lines": [45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 63, 65, 66], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_exit_managed_account_triggers_bg_sync.fake_bg": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 44], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 35, 36, 38, 40, 41, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 60, 61, 63, 65, 66], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_background_vault_sync_paths.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 14, 15, 17, 18, 22, 23, 24, 25, 27, 28, 30, 32, 34, 35, 38, 39, 40, 42, 44, 45, 47, 48, 52, 53, 54, 56, 58, 59, 62, 63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_start_background_vault_sync_thread_worker_path": {"executed_lines": [9, 10, 12, 14, 17, 18, 22, 23, 27, 30, 32, 34, 35], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_thread_worker_path.fake_sync_vault_async": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_thread_worker_path.ImmediateThread.__init__": {"executed_lines": [24, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_thread_worker_path.ImmediateThread.start": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_async_worker_path": {"executed_lines": [39, 40, 42, 44, 47, 48, 52, 56, 58, 59], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_async_worker_path.fake_sync_vault_async": {"executed_lines": [45], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_vault_sync_async_worker_path.runner": {"executed_lines": [53, 54], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_async_sets_offline_error": {"executed_lines": [63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 38, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_start_background_vault_sync_thread_worker_path.ImmediateThread": {"executed_lines": [24, 25, 28], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 14, 15, 17, 18, 22, 23, 27, 30, 32, 34, 35, 38, 39, 40, 42, 44, 45, 47, 48, 52, 53, 54, 56, 58, 59, 62, 63, 64, 65, 67, 69, 70], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_backup_interval.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_interval": {"executed_lines": [12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_backup_restore.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_restore_workflow": {"executed_lines": [16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_additional_backup_location": {"executed_lines": [89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 88], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 22, 24, 39, 40, 42, 43, 44, 45, 46, 47, 49, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 101, 102, 104, 105, 106, 107], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_backup_restore_startup.py": {"executed_lines": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_cli_flag_restores_before_init": {"executed_lines": [6, 7, 8, 10, 13, 14, 19, 20, 21, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_flag_restores_before_init.fake_restore": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_flag_restores_before_init.DummyPM.__init__": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_option_restores_before_init": {"executed_lines": [32, 33, 34, 36, 39, 40, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_option_restores_before_init.fake_restore": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_option_restores_before_init.DummyPM.__init__": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_cli_flag_restores_before_init.DummyPM": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_option_restores_before_init.DummyPM": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 40, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_bip85_compliance.py": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 29, 30, 31, 32, 35, 42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_bip85_symmetric_key_stability": {"executed_lines": [29, 30, 31, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_bip85_app_no_39_default_behavior": {"executed_lines": [42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 35], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 7, 8, 14, 17, 23, 29, 30, 31, 32, 35, 42, 43, 48, 49, 53, 56], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_bip85_derivation_path.py": {"executed_lines": [1, 3, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 21, 22, 23, 26, 27, 28, 29, 31, 37, 38, 44, 47, 48, 49, 50, 52, 54, 57, 58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DummyChild.PrivateKey": {"executed_lines": [8], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyChild.Raw": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyChild.ToBytes": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyCtx.__init__": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyCtx.DerivePath": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derivation_paths_for_entropy_lengths": {"executed_lines": [27, 28, 29, 31, 37, 38, 44], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_default_word_count_from_entropy_bytes": {"executed_lines": [48, 49, 50, 52, 54], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_entropy_logs_do_not_expose_key_material": {"executed_lines": [58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 13, 17, 18, 21, 26, 47, 57], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyChild": {"executed_lines": [8, 11, 14], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyCtx": {"executed_lines": [19, 22, 23], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 13, 17, 18, 21, 26, 27, 28, 29, 31, 37, 38, 44, 47, 48, 49, 50, 52, 54, 57, 58, 59, 60, 62, 63, 64, 66], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_bip85_init.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_init_with_seed_bytes": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_init_with_xprv": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initialize_bip85_works_while_locked": {"executed_lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 20, 25], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_bip85_vectors.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 56, 57, 58], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"bip85": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_bip85_mnemonic_12": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_bip85_mnemonic_24": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_bip85_symmetric_key": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_totp_secret": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_ssh_key": {"executed_lines": [47], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_phrase": {"executed_lines": [51], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_invalid_params": {"executed_lines": [55, 56, 57, 58], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 30, 34, 38, 42, 46, 50, 54], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 12, 14, 16, 18, 20, 21, 22, 25, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 56, 57, 58], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_check_critical_coverage.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 35, 38, 48, 49, 50, 53, 54, 60, 61, 64, 65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_load_module": {"executed_lines": [11, 12, 13, 16, 17, 18, 19, 20], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_default_thresholds_include_tui2_service_module": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_threshold_overrides_valid": {"executed_lines": [31, 34, 35], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_threshold_overrides_invalid": {"executed_lines": [49, 50], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_find_file_payload_accepts_absolute_path_suffix": {"executed_lines": [54, 60, 61], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_compute_function_coverage_reports_uncovered": {"executed_lines": [65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 23, 26, 30, 38, 48, 53, 64], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 35, 38, 48, 49, 50, 53, 54, 60, 61, 64, 65, 66, 82, 85, 86, 87, 88], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_check_determinism_suite.py": {"executed_lines": [1, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19, 22, 23, 29, 30, 36, 37, 41, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_load_module": {"executed_lines": [8, 9, 10, 13, 14, 15, 16], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_extract_nodeids_filters_noise": {"executed_lines": [23, 29, 30], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_extract_file_set_normalizes_windows_paths": {"executed_lines": [37, 41, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 19, 22, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19, 22, 23, 29, 30, 36, 37, 41, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_checksum_utils.py": {"executed_lines": [1, 2, 3, 5, 6, 9, 10, 11, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 56], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_json_checksum": {"executed_lines": [10, 11, 14], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_calculate_checksum": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_calculate_checksum_missing": {"executed_lines": [27, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_verify_and_update": {"executed_lines": [32, 33, 34, 35, 37, 38, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initialize_checksum": {"executed_lines": [43, 44, 45, 46, 47, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_verify_checksum_missing": {"executed_lines": [52, 53, 54, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 9, 17, 26, 31, 42, 51], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 9, 10, 11, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 56], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_agent_mode.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 43, 44, 45, 46, 47, 50, 51, 52, 53, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122, 125, 126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145, 148, 149, 150, 151, 160, 161, 162, 165, 166, 167, 169, 170, 171, 173, 174, 189, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 211, 212, 213, 215, 216, 218, 219, 221, 222, 224, 225, 231, 234, 235, 236, 237, 238, 239, 242, 243, 244, 252, 253, 254, 256, 257, 259, 260, 262, 263, 272, 273, 274, 275, 276, 279, 280, 281, 289, 290, 291, 293, 294, 299, 300, 306, 307, 308, 309, 310, 311, 314, 315, 316, 324, 325, 326, 328, 329, 331, 332, 334, 335, 341, 344, 345, 346, 347, 348, 351, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 376, 378, 379, 381, 382, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444, 447, 448, 449, 457, 458, 459, 461, 462, 464, 465, 467, 468, 470, 471, 484, 485, 486, 487, 488, 489, 492, 493, 494, 495, 503, 504, 505, 507, 508, 510, 511, 513, 514, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586, 589, 590, 591, 592, 600, 601, 602, 604, 605, 606, 607, 608, 609, 610, 612, 613, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699, 702, 703, 704, 705, 713, 714, 715, 717, 718, 720, 721, 722, 723, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799, 802, 803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836, 839, 840, 842, 843, 844, 845, 853, 854, 855, 857, 858, 860, 861, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927, 930, 931, 932, 933, 941, 942, 943, 945, 946, 948, 949, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997, 1000, 1001, 1013, 1014, 1015, 1016, 1017, 1020, 1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044, 1045, 1063, 1064, 1065, 1068, 1071, 1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1109, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131, 1134, 1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160, 1163, 1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1197, 1199, 1200, 1211, 1212, 1215, 1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242, 1245, 1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273, 1276, 1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316, 1319, 1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350, 1353, 1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1418, 1420, 1421, 1423, 1424, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511, 1514, 1515, 1517, 1518, 1519, 1520, 1528, 1529, 1530, 1532, 1533, 1535, 1536, 1538, 1539, 1549, 1550, 1551, 1552, 1553, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1576, 1577, 1578, 1583, 1591, 1592, 1593, 1595, 1596, 1598, 1599, 1601, 1602, 1604, 1605, 1618, 1633, 1634, 1635, 1638, 1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1686, 1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724, 1727, 1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1758, 1760, 1761, 1763, 1764, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839, 1842, 1843, 1844, 1846, 1853, 1858, 1870, 1871, 1872, 1874, 1875, 1881, 1882, 1894, 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927, 1930, 1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1962, 1963, 1964, 1965, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2025, 2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2061, 2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100, 2103, 2104, 2105, 2106, 2107, 2108, 2111, 2112, 2113, 2115, 2116, 2117, 2119, 2120, 2122, 2123, 2125, 2126, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2159, 2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2183, 2184, 2185, 2188, 2189, 2190, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2203, 2204, 2205, 2208, 2209, 2210, 2211, 2212, 2215, 2216, 2217, 2220, 2223, 2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251, 2254, 2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279, 2282, 2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 902, "num_statements": 904, "percent_covered": 99.77876106194691, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [864, 952], "excluded_lines": [], "functions": {"test_agent_policy_show_defaults": {"executed_lines": [19, 20, 21, 22, 23, 24], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_policy_set_persists": {"executed_lines": [28, 29, 43, 44, 45, 46, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_policy_lint_file": {"executed_lines": [51, 52, 53, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_policy_review_and_apply_risk_gate": {"executed_lines": [83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_init_creates_profile": {"executed_lines": [126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_init_requires_password_env": {"executed_lines": [149, 150, 151, 160, 161, 162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_init_keyring_broker": {"executed_lines": [166, 167, 169, 173, 174, 189, 190, 191, 192], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_init_keyring_broker.fake_resolve_password": {"executed_lines": [170, 171], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_requires_fingerprint": {"executed_lines": [196, 197, 198], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_password_json": {"executed_lines": [202, 203, 211, 212, 215, 218, 221, 224, 225, 231, 234, 235, 236, 237, 238, 239], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_password_json.DummyEntryService.__init__": {"executed_lines": [213], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_password_json.DummyEntryService.search_entries": {"executed_lines": [216], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_password_json.DummyEntryService.retrieve_entry": {"executed_lines": [219], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_password_json.DummyEntryService.generate_password": {"executed_lines": [222], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_by_policy": {"executed_lines": [243, 244, 252, 253, 256, 259, 262, 263, 272, 273, 274, 275, 276], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_by_policy.DummyEntryService.__init__": {"executed_lines": [254], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_by_policy.DummyEntryService.search_entries": {"executed_lines": [257], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_by_policy.DummyEntryService.retrieve_entry": {"executed_lines": [260], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_ambiguous_returns_error_payload": {"executed_lines": [280, 281, 289, 290, 293, 299, 300, 306, 307, 308, 309, 310, 311], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService.__init__": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService.search_entries": {"executed_lines": [294], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_key_value_json": {"executed_lines": [315, 316, 324, 325, 328, 331, 334, 335, 341, 344, 345, 346, 347, 348], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_key_value_json.DummyEntryService.__init__": {"executed_lines": [326], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_key_value_json.DummyEntryService.search_entries": {"executed_lines": [329], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_key_value_json.DummyEntryService.retrieve_entry": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_requires_approval": {"executed_lines": [352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 378, 381, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_requires_approval.DummyEntryService.__init__": {"executed_lines": [376], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_requires_approval.DummyEntryService.search_entries": {"executed_lines": [379], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_requires_approval.DummyEntryService.retrieve_entry": {"executed_lines": [382], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default": {"executed_lines": [448, 449, 457, 458, 461, 464, 467, 470, 471, 484, 485, 486, 487, 488, 489], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.__init__": {"executed_lines": [459], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.search_entries": {"executed_lines": [462], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.retrieve_entry": {"executed_lines": [465], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default.DummyEntryService.generate_password": {"executed_lines": [468], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit": {"executed_lines": [493, 494, 495, 503, 504, 507, 510, 513, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit.DummyEntryService.__init__": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit.DummyEntryService.search_entries": {"executed_lines": [508], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit.DummyEntryService.retrieve_entry": {"executed_lines": [511], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit.DummyEntryService.generate_password": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_import_with_token_scope": {"executed_lines": [590, 591, 592, 600, 601, 604, 612, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_import_with_token_scope.DummyEntryService.__init__": {"executed_lines": [602], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_import_with_token_scope.DummyEntryService.import_document_file": {"executed_lines": [605, 606, 607, 608, 609, 610], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_import_with_token_scope.DummyEntryService.retrieve_entry": {"executed_lines": [613], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_export_with_token_scope": {"executed_lines": [703, 704, 705, 713, 714, 717, 720, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_export_with_token_scope.DummyEntryService.__init__": {"executed_lines": [715], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_export_with_token_scope.DummyEntryService.retrieve_entry": {"executed_lines": [718], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_export_with_token_scope.DummyEntryService.export_document_file": {"executed_lines": [721, 722, 723], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_identity_create_list_revoke": {"executed_lines": [803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked": {"executed_lines": [840, 842, 843, 844, 845, 853, 854, 857, 860, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.__init__": {"executed_lines": [855], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.search_entries": {"executed_lines": [858], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.retrieve_entry": {"executed_lines": [861], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked.DummyEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [864], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing": {"executed_lines": [931, 932, 933, 941, 942, 945, 948, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing.DummyEntryService.__init__": {"executed_lines": [943], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing.DummyEntryService.search_entries": {"executed_lines": [946], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing.DummyEntryService.retrieve_entry": {"executed_lines": [949], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing.DummyEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [952], "excluded_lines": []}, "test_agent_job_run_rejects_env_broker_by_default": {"executed_lines": [1001, 1013, 1014, 1015, 1016, 1017], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_template_cron_json": {"executed_lines": [1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_template_systemd_text": {"executed_lines": [1045, 1063, 1064, 1065, 1068], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_lifecycle": {"executed_lines": [1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_lifecycle.fake_job_run": {"executed_lines": [1109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_fingerprint_mismatch": {"executed_lines": [1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_policy_mismatch": {"executed_lines": [1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1199, 1200, 1211, 1212], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_policy_mismatch.fake_job_run": {"executed_lines": [1197], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_run_host_mismatch": {"executed_lines": [1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_job_profile_check_detects_policy_drift": {"executed_lines": [1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_split_and_recover_roundtrip": {"executed_lines": [1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_recover_insufficient_shares": {"executed_lines": [1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_recovery_drill_records_and_strict_exit": {"executed_lines": [1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_unlock_required_for_private_kind": {"executed_lines": [1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1420, 1423, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.__init__": {"executed_lines": [1418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.search_entries": {"executed_lines": [1421], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService.retrieve_entry": {"executed_lines": [1424], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_without_approval_denied": {"executed_lines": [1515, 1517, 1518, 1519, 1520, 1528, 1529, 1532, 1535, 1538, 1539, 1549, 1550, 1551, 1552, 1553], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.__init__": {"executed_lines": [1530], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.search_entries": {"executed_lines": [1533], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService.retrieve_entry": {"executed_lines": [1536], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_policy_show_invalid_json": {"executed_lines": [1557, 1558, 1559, 1560, 1561, 1562], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_when_policy_invalid": {"executed_lines": [1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint": {"executed_lines": [1577, 1578, 1583, 1591, 1592, 1595, 1598, 1601, 1604, 1605, 1618, 1633, 1634, 1635], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.__init__": {"executed_lines": [1593], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.search_entries": {"executed_lines": [1596], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.retrieve_entry": {"executed_lines": [1599], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService.generate_password": {"executed_lines": [1602], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_bootstrap_context": {"executed_lines": [1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_bootstrap_context_invalid_policy": {"executed_lines": [1668, 1669, 1670, 1671, 1672, 1673], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_clean": {"executed_lines": [1677, 1678, 1679, 1680, 1681, 1682, 1683], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_approval_issue_list_and_revoke": {"executed_lines": [1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_secret_lease_issue_consume_and_exhaust": {"executed_lines": [1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1760, 1763, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.__init__": {"executed_lines": [1758], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.search_entries": {"executed_lines": [1761], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService.retrieve_entry": {"executed_lines": [1764], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_lease_consume_hydrates_partitioned_private_entry": {"executed_lines": [1843, 1844, 1846, 1853, 1858, 1870, 1871, 1874, 1881, 1882, 1894, 1896, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService.__init__": {"executed_lines": [1872], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService.retrieve_entry": {"executed_lines": [1875], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_lease_consume_hydrates_partitioned_private_entry.fake_hydrate": {"executed_lines": [1897, 1898, 1899, 1900], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_partition_migrate_command": {"executed_lines": [1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_high_risk_partition_migrate_command.fake_migrate": {"executed_lines": [1962, 1963, 1964, 1965], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_invalid_policy_fails": {"executed_lines": [1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_high_risk_policy": {"executed_lines": [2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_flags_policy_gate_and_rule_issues": {"executed_lines": [2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_flags_token_rotation_overdue": {"executed_lines": [2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_requires_fingerprint": {"executed_lines": [2104, 2105, 2106, 2107, 2108], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings": {"executed_lines": [2112, 2113, 2115, 2116, 2119, 2122, 2125, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_quick_unlock": {"executed_lines": [2117], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_kdf_mode": {"executed_lines": [2120], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_kdf_iterations": {"executed_lines": [2123], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings.DummyConfig.get_secret_class_partitions": {"executed_lines": [2126], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_remediate_emits_actions": {"executed_lines": [2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_remediate_runtime_requires_fingerprint": {"executed_lines": [2184, 2185, 2188, 2189, 2190], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_check_full_denied_by_default": {"executed_lines": [2194, 2195, 2196, 2197, 2198, 2199, 2200], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_check_kind_allowed_default": {"executed_lines": [2204, 2205, 2208, 2209, 2210, 2211, 2212], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_check_strict_exit": {"executed_lines": [2216, 2217, 2220], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_manifest_verify_ok": {"executed_lines": [2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_manifest_verify_detects_policy_mismatch": {"executed_lines": [2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_export_manifest_verify_detects_tampered_entries": {"executed_lines": [2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 27, 50, 82, 125, 148, 165, 195, 201, 242, 279, 314, 351, 447, 492, 589, 702, 802, 839, 930, 1000, 1020, 1044, 1071, 1134, 1163, 1215, 1245, 1276, 1319, 1353, 1394, 1514, 1556, 1565, 1576, 1638, 1667, 1676, 1686, 1727, 1842, 1930, 1992, 2003, 2025, 2061, 2103, 2111, 2159, 2183, 2193, 2203, 2215, 2223, 2254, 2282], "summary": {"covered_lines": 68, "num_statements": 68, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_agent_get_password_json.DummyEntryService": {"executed_lines": [213, 216, 219, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_denied_by_policy.DummyEntryService": {"executed_lines": [254, 257, 260], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_ambiguous_returns_error_payload.DummyEntryService": {"executed_lines": [291, 294], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_key_value_json.DummyEntryService": {"executed_lines": [326, 329, 332], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_requires_approval.DummyEntryService": {"executed_lines": [376, 379, 382], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_safe_output_masks_by_default.DummyEntryService": {"executed_lines": [459, 462, 465, 468], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_issue_and_use_limit.DummyEntryService": {"executed_lines": [505, 508, 511, 514], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_import_with_token_scope.DummyEntryService": {"executed_lines": [602, 605, 606, 607, 608, 609, 610, 613], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_document_export_with_token_scope.DummyEntryService": {"executed_lines": [715, 718, 721, 722, 723], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_token_denied_when_identity_revoked.DummyEntryService": {"executed_lines": [855, 858, 861], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [864], "excluded_lines": []}, "test_agent_token_denied_when_identity_missing.DummyEntryService": {"executed_lines": [943, 946, 949], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [952], "excluded_lines": []}, "test_agent_high_risk_unlock_required_for_private_kind.DummyEntryService": {"executed_lines": [1418, 1421, 1424], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_private_kind_without_approval_denied.DummyEntryService": {"executed_lines": [1530, 1533, 1536], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_get_keyring_defaults_account_to_fingerprint.DummyEntryService": {"executed_lines": [1593, 1596, 1599, 1602], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_secret_lease_issue_consume_and_exhaust.DummyEntryService": {"executed_lines": [1758, 1761, 1764], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_lease_consume_hydrates_partitioned_private_entry.DummyEntryService": {"executed_lines": [1872, 1875], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_agent_posture_check_runtime_config_findings.DummyConfig": {"executed_lines": [2117, 2120, 2123, 2126], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 43, 44, 45, 46, 47, 50, 51, 52, 53, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 114, 115, 116, 117, 119, 120, 121, 122, 125, 126, 127, 128, 137, 138, 139, 140, 141, 142, 143, 144, 145, 148, 149, 150, 151, 160, 161, 162, 165, 166, 167, 169, 170, 171, 173, 174, 189, 190, 191, 192, 195, 196, 197, 198, 201, 202, 203, 211, 212, 215, 218, 221, 224, 225, 231, 234, 235, 236, 237, 238, 239, 242, 243, 244, 252, 253, 256, 259, 262, 263, 272, 273, 274, 275, 276, 279, 280, 281, 289, 290, 293, 299, 300, 306, 307, 308, 309, 310, 311, 314, 315, 316, 324, 325, 328, 331, 334, 335, 341, 344, 345, 346, 347, 348, 351, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 378, 381, 384, 385, 412, 416, 417, 418, 419, 421, 427, 440, 441, 442, 443, 444, 447, 448, 449, 457, 458, 461, 464, 467, 470, 471, 484, 485, 486, 487, 488, 489, 492, 493, 494, 495, 503, 504, 507, 510, 513, 516, 517, 530, 547, 548, 549, 550, 552, 565, 566, 567, 568, 570, 583, 584, 585, 586, 589, 590, 591, 592, 600, 601, 604, 612, 619, 620, 651, 652, 654, 671, 672, 674, 693, 694, 695, 696, 697, 698, 699, 702, 703, 704, 705, 713, 714, 717, 720, 725, 726, 757, 774, 775, 777, 793, 794, 795, 796, 797, 798, 799, 802, 803, 805, 806, 807, 822, 823, 824, 825, 827, 828, 829, 830, 832, 833, 834, 835, 836, 839, 840, 842, 843, 844, 845, 853, 854, 857, 860, 863, 866, 867, 880, 884, 886, 905, 906, 908, 909, 911, 924, 925, 926, 927, 930, 931, 932, 933, 941, 942, 945, 948, 951, 954, 955, 968, 977, 981, 994, 995, 996, 997, 1000, 1001, 1013, 1014, 1015, 1016, 1017, 1020, 1021, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044, 1045, 1063, 1064, 1065, 1068, 1071, 1072, 1074, 1075, 1077, 1096, 1097, 1098, 1099, 1101, 1102, 1103, 1104, 1106, 1108, 1109, 1111, 1112, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1129, 1130, 1131, 1134, 1135, 1137, 1138, 1139, 1152, 1154, 1158, 1159, 1160, 1163, 1164, 1166, 1167, 1168, 1181, 1183, 1186, 1190, 1191, 1192, 1194, 1196, 1197, 1199, 1200, 1211, 1212, 1215, 1216, 1218, 1219, 1220, 1235, 1236, 1240, 1241, 1242, 1245, 1246, 1248, 1249, 1250, 1263, 1264, 1267, 1270, 1271, 1272, 1273, 1276, 1277, 1278, 1293, 1294, 1295, 1296, 1297, 1299, 1313, 1314, 1315, 1316, 1319, 1320, 1333, 1334, 1335, 1347, 1348, 1349, 1350, 1353, 1354, 1356, 1357, 1358, 1359, 1370, 1371, 1372, 1374, 1386, 1388, 1389, 1390, 1391, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1405, 1416, 1417, 1420, 1423, 1426, 1427, 1458, 1462, 1463, 1464, 1465, 1467, 1471, 1473, 1486, 1487, 1488, 1490, 1494, 1495, 1496, 1497, 1499, 1503, 1505, 1509, 1510, 1511, 1514, 1515, 1517, 1518, 1519, 1520, 1528, 1529, 1532, 1535, 1538, 1539, 1549, 1550, 1551, 1552, 1553, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1576, 1577, 1578, 1583, 1591, 1592, 1595, 1598, 1601, 1604, 1605, 1618, 1633, 1634, 1635, 1638, 1639, 1640, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1686, 1687, 1689, 1690, 1692, 1709, 1710, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1720, 1721, 1722, 1723, 1724, 1727, 1728, 1730, 1731, 1732, 1734, 1750, 1756, 1757, 1760, 1763, 1771, 1772, 1785, 1800, 1801, 1802, 1803, 1804, 1806, 1818, 1819, 1820, 1821, 1822, 1824, 1836, 1837, 1838, 1839, 1842, 1843, 1844, 1846, 1853, 1858, 1870, 1871, 1874, 1881, 1882, 1894, 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1911, 1923, 1924, 1925, 1926, 1927, 1930, 1931, 1932, 1933, 1934, 1935, 1939, 1946, 1957, 1959, 1962, 1963, 1964, 1965, 1973, 1975, 1984, 1985, 1986, 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2025, 2026, 2027, 2028, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2061, 2062, 2064, 2065, 2067, 2073, 2074, 2075, 2096, 2097, 2098, 2099, 2100, 2103, 2104, 2105, 2106, 2107, 2108, 2111, 2112, 2113, 2115, 2116, 2119, 2122, 2125, 2133, 2138, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2159, 2160, 2161, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2183, 2184, 2185, 2188, 2189, 2190, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2203, 2204, 2205, 2208, 2209, 2210, 2211, 2212, 2215, 2216, 2217, 2220, 2223, 2224, 2225, 2227, 2228, 2230, 2231, 2241, 2242, 2244, 2247, 2248, 2249, 2250, 2251, 2254, 2255, 2256, 2258, 2259, 2261, 2265, 2266, 2269, 2273, 2276, 2277, 2278, 2279, 2282, 2283, 2284, 2286, 2287, 2289, 2294, 2295, 2296, 2298, 2301, 2302, 2303, 2304, 2305], "summary": {"covered_lines": 841, "num_statements": 841, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_clipboard_flag.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 23, 26, 27, 30, 31, 32, 35, 36, 39, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_stub_service": {"executed_lines": [11, 12, 15, 18, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_stub_service.Service.search_entries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_stub_service.Service.retrieve_entry": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_stub_service.Service.generate_password": {"executed_lines": [19, 20, 21], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_get_handles_missing_clipboard": {"executed_lines": [27, 30, 31, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_get_no_clipboard_flag": {"executed_lines": [36, 39, 42, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 26, 35], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_stub_service.Service": {"executed_lines": [13, 16, 19, 20, 21], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 15, 18, 23, 26, 27, 30, 31, 32, 35, 36, 39, 42, 43], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_config_set_extra.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31, 32, 34, 35, 36, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_config_set_variants": {"executed_lines": [32, 34, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_set_variants.func": {"executed_lines": [35, 36], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 31, 32, 34, 35, 36, 38, 42, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_core_services.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 40, 41, 45, 52, 53, 54, 55, 58, 59, 61, 62, 63, 65, 66, 67, 69, 70, 71, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_cli_vault_unlock": {"executed_lines": [15, 17, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_vault_unlock.unlock_vault": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_vault_unlock_with_env_broker": {"executed_lines": [32, 33, 35, 39, 40, 41, 45, 52, 53, 54, 55], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_vault_unlock_with_env_broker.unlock_vault": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_entry_add_search_sync": {"executed_lines": [59, 61, 65, 69, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_entry_add_search_sync.add_entry": {"executed_lines": [62, 63], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_entry_add_search_sync.search_entries": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_entry_add_search_sync.start_background_vault_sync": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 31, 58], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 40, 41, 45, 52, 53, 54, 55, 58, 59, 61, 62, 63, 65, 66, 67, 69, 70, 71, 73, 81, 84, 85, 86, 87, 88, 91, 94, 95, 96, 99, 100, 101, 102], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_doc_examples.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 88, 89, 90, 92, 106, 109, 119, 122], "summary": {"covered_lines": 22, "num_statements": 60, "percent_covered": 36.666666666666664, "percent_covered_display": "37", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84, 96, 97, 98, 99, 100, 101, 102, 103, 110, 111, 112, 113, 116, 123, 124, 125, 126], "excluded_lines": [], "functions": {"DummyPM.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84], "excluded_lines": []}, "load_doc_commands": {"executed_lines": [88, 89, 90, 92], "summary": {"covered_lines": 4, "num_statements": 12, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103], "excluded_lines": []}, "_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [110, 111, 112, 113, 116], "excluded_lines": []}, "test_doc_cli_examples": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [124, 125, 126], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 106, 109, 119, 122], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [123], "excluded_lines": []}}, "classes": {"DummyPM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [18, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 66, 82, 83, 84], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 87, 88, 89, 90, 92, 106, 109, 119, 122], "summary": {"covered_lines": 22, "num_statements": 39, "percent_covered": 56.41025641025641, "percent_covered_display": "56", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 110, 111, 112, 113, 116, 123, 124, 125, 126], "excluded_lines": []}}}, "src/tests/test_cli_entry_add_commands.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 150, 152, 153, 154, 155, 157, 158, 160, 166, 167, 168, 169, 170, 171, 172, 175, 176, 178, 179, 180, 181, 183, 184, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218, 221, 222, 224, 225, 226, 227, 229, 235, 237, 249, 250, 251, 252, 255, 256, 258, 259, 260, 268, 269, 270, 272, 273, 274, 284, 285, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entry_add_commands": {"executed_lines": [150, 152, 157, 160, 166, 167, 168, 169, 170, 171, 172], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_add_commands.func": {"executed_lines": [153, 154, 155], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_add_commands.start_background_vault_sync": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_import_document_command": {"executed_lines": [176, 178, 183, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_import_document_command.import_document_file": {"executed_lines": [179, 180, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_import_document_command.start_background_vault_sync": {"executed_lines": [184], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_export_document_command": {"executed_lines": [222, 224, 229, 235, 237, 249, 250, 251, 252], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_export_document_command.export_document_file": {"executed_lines": [225, 226, 227], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_link_commands": {"executed_lines": [256, 258, 268, 272, 284, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_link_commands.add_link": {"executed_lines": [259, 260], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_link_commands.remove_link": {"executed_lines": [269, 270], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_link_commands.get_links": {"executed_lines": [273, 274], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_link_commands.start_background_vault_sync": {"executed_lines": [285], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 175, 221, 255], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 13, 147, 150, 152, 153, 154, 155, 157, 158, 160, 166, 167, 168, 169, 170, 171, 172, 175, 176, 178, 179, 180, 181, 183, 184, 186, 192, 193, 194, 196, 209, 210, 211, 212, 218, 221, 222, 224, 225, 226, 227, 229, 235, 237, 249, 250, 251, 252, 255, 256, 258, 259, 260, 268, 269, 270, 272, 273, 274, 284, 285, 287, 297, 299, 314, 315, 317, 318, 319, 320, 322, 335, 336], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_export_import.py": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 28, 31, 32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93, 96, 97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 142, 143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 78, "num_statements": 78, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_pm": {"executed_lines": [16, 17, 18, 19, 28], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_export_creates_file": {"executed_lines": [32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_import_round_trip": {"executed_lines": [60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_export_import_unencrypted": {"executed_lines": [97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_export_requires_file": {"executed_lines": [130, 131, 132, 133, 134, 136, 137, 138, 139], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_import_handler_exception_returns_error": {"executed_lines": [143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 31, 59, 96, 129, 142], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 28, 31, 32, 33, 46, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 74, 76, 77, 84, 86, 87, 88, 89, 91, 92, 93, 96, 97, 98, 111, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 142, 143, 144, 151, 152, 153, 154, 156, 157, 158, 159], "summary": {"covered_lines": 78, "num_statements": 78, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_integration.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 40, "num_statements": 41, "percent_covered": 97.5609756097561, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [52], "excluded_lines": [], "functions": {"test_cli_integration": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_integration.auto_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [52], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 37, 42, 47, 51, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 71], "summary": {"covered_lines": 40, "num_statements": 41, "percent_covered": 97.5609756097561, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [52], "excluded_lines": []}}}, "src/tests/test_cli_invalid_input.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 19, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 115, 116, 117, 118, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133, 136, 137, 138, 140, 141, 143, 144, 145, 147, 148, 150, 151, 154, 155, 156, 158, 159, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 110, "num_statements": 113, "percent_covered": 97.34513274336283, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 23, 26], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [16, 17, 19, 22, 25, 28, 31, 34, 38, 55], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm.add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "_make_pm.retrieve": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_make_pm.modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [26], "excluded_lines": []}, "_make_pm.update": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm.lock": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm.unlock": {"executed_lines": [35, 36], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_empty_and_non_numeric_choice": {"executed_lines": [59, 60, 61, 62, 63, 64, 65, 66, 67], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_out_of_range_menu": {"executed_lines": [71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_invalid_add_entry_submenu": {"executed_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_timeout_loop": {"executed_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_timeout_unlock_cancelled_stays_in_menu": {"executed_lines": [111, 112, 113, 115, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_timeout_unlock_cancelled_stays_in_menu.unlock_fail": {"executed_lines": [116, 117, 118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_action_seedpass_error_does_not_crash": {"executed_lines": [137, 138, 140, 143, 144, 145, 147, 148, 150, 151], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_action_seedpass_error_does_not_crash.fail_retrieve": {"executed_lines": [141], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_action_password_prompt_error_does_not_crash": {"executed_lines": [155, 156, 158, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_action_password_prompt_error_does_not_crash.fail_retrieve": {"executed_lines": [159], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 58, 70, 82, 95, 110, 136, 154], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 19, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 115, 116, 117, 118, 120, 123, 124, 125, 127, 128, 130, 131, 132, 133, 136, 137, 138, 140, 141, 143, 144, 145, 147, 148, 150, 151, 154, 155, 156, 158, 159, 161, 162, 163, 165, 166, 168, 169], "summary": {"covered_lines": 110, "num_statements": 113, "percent_covered": 97.34513274336283, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 23, 26], "excluded_lines": []}}}, "src/tests/test_cli_relays.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 15, 16, 18, 19, 21, 23, 24, 26, 28, 31, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 33, "num_statements": 37, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [13, 20, 25, 27], "excluded_lines": [], "functions": {"DummyService.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "DummyService.list_relays": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyService.add_relay": {"executed_lines": [19, 21], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "DummyService.remove_relay": {"executed_lines": [24, 26, 28], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 27], "excluded_lines": []}, "test_cli_relay_crud": {"executed_lines": [35, 37, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_relay_crud.pm_factory": {"executed_lines": [38], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 15, 18, 23, 31, 34], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyService": {"executed_lines": [10, 16, 19, 21, 24, 26, 28], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [13, 20, 25, 27], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 15, 18, 23, 31, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_semantic.py": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 23, 25, 26, 28, 29, 31, 39, 41, 52, 53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 50, "num_statements": 51, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": [], "functions": {"_DummySemanticService.__init__": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.status": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.set_enabled": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.set_mode": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.build": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.rebuild": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummySemanticService.search": {"executed_lines": [39, 41], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "test_semantic_cli_commands": {"executed_lines": [53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 25, 28, 31, 52], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_DummySemanticService": {"executed_lines": [13, 16, 19, 22, 23, 26, 29, 39, 41], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 25, 28, 31, 52, 53, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 100, 101, 103, 107, 108], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_subcommands.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 17, 18, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 119, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 143, 145, 147, 148, 149, 151, 152, 153, 154, 156, 157, 158, 161, 162, 164, 165, 166, 167, 168, 174, 175, 176, 179, 180, 182, 183, 184, 185, 186, 192, 193, 194], "summary": {"covered_lines": 133, "num_statements": 133, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"make_pm": {"executed_lines": [12, 17, 18, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_command": {"executed_lines": [30, 31, 32, 33, 34, 35, 36, 37, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_command": {"executed_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_command": {"executed_lines": [55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_command_no_results": {"executed_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_command_multiple_matches": {"executed_lines": [86, 90, 91, 92, 93, 94, 95, 96, 97, 98], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_command_wrong_type": {"executed_lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_command_multiple_matches": {"executed_lines": [115, 119, 120, 121, 122, 123, 124, 125, 126, 127], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_command_wrong_type": {"executed_lines": [131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_main_fingerprint_option": {"executed_lines": [145, 147, 151, 152, 153, 154, 156, 157, 158], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_main_fingerprint_option.fake_pm": {"executed_lines": [148, 149], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_compatibility": {"executed_lines": [162, 164, 165, 166, 167, 168, 174, 175, 176], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_flag_compatibility": {"executed_lines": [180, 182, 183, 184, 185, 186, 192, 193, 194], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 29, 41, 54, 73, 85, 101, 114, 130, 143, 161, 179], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 17, 18, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 119, 120, 121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 143, 145, 147, 148, 149, 151, 152, 153, 154, 156, 157, 158, 161, 162, 164, 165, 166, 167, 168, 174, 175, 176, 179, 180, 182, 183, 184, 185, 186, 192, 193, 194], "summary": {"covered_lines": 133, "num_statements": 133, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_toggle_offline_mode.py": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [11, 15, 20], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_toggle_offline_updates": {"executed_lines": [24, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_toggle_offline_keep": {"executed_lines": [34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 10, 23, 33], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 15, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_toggle_secret_mode.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 18, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [12, 18, 24], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_toggle_secret_mode_updates": {"executed_lines": [28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_toggle_secret_mode_keep": {"executed_lines": [38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 27, 37], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 18, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cli_vault_stats.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_vault_stats_command": {"executed_lines": [12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 11], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 11, 12, 16, 19, 20, 21, 22, 24, 25], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_clipboard_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 16, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 52, 53, 55, 57, 58, 59, 61, 62, 64, 65, 66, 68, 69, 70, 71, 74, 75, 76, 78, 79, 80, 82, 83], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_copy_to_clipboard_clears": {"executed_lines": [16, 18, 21, 24, 26, 27, 31, 34, 35, 36, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_clears.fake_copy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_clears.fake_paste": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_clears.DummyTimer.__init__": {"executed_lines": [28, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_clears.DummyTimer.start": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed": {"executed_lines": [47, 49, 52, 55, 57, 58, 61, 64, 65, 66, 68, 69, 70, 71], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed.fake_copy": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed.fake_paste": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer.__init__": {"executed_lines": [59], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer.start": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_missing_dependency": {"executed_lines": [75, 78, 79, 80, 82, 83], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_missing_dependency.fail_copy": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 46, 74], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_copy_to_clipboard_clears.DummyTimer": {"executed_lines": [28, 29, 32], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_copy_to_clipboard_does_not_clear_if_changed.DummyTimer": {"executed_lines": [59, 62], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 15, 16, 18, 19, 21, 22, 24, 26, 27, 31, 34, 35, 36, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 52, 53, 55, 57, 58, 61, 64, 65, 66, 68, 69, 70, 71, 74, 75, 76, 78, 79, 80, 82, 83], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_concurrency_stress.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 35, "num_statements": 55, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 20, "excluded_lines": 6}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 77], "excluded_lines": [25, 26, 35, 36, 47, 48], "functions": {"_writer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [18, 19, 20, 21, 22, 23, 24], "excluded_lines": [25, 26]}, "_reader": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [30, 31, 32, 33, 34], "excluded_lines": [35, 36]}, "_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [40, 41, 42, 43, 44, 45, 46], "excluded_lines": [47, 48]}, "test_concurrency_stress": {"executed_lines": [54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [77], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 29, 39, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 70, 71, 72, 73, 75, 76, 79, 81, 82], "summary": {"covered_lines": 35, "num_statements": 55, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 20, "excluded_lines": 6}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 77], "excluded_lines": [25, 26, 35, 36, 47, 48]}}}, "src/tests/test_config_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 87, 88, 89, 90, 92, 93, 95, 96, 97, 100, 101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116, 119, 120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150, 153, 154, 155, 156, 158, 160, 161, 164, 165, 166, 167, 169, 171, 172, 175, 176, 177, 178, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 198, 201, 202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 171, "num_statements": 171, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_config_defaults_and_round_trip": {"executed_lines": [17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pin_verification_and_change": {"executed_lines": [38, 39, 40, 42, 43, 44, 45, 46], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_file_encrypted_after_save": {"executed_lines": [53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_set_relays_persists_changes": {"executed_lines": [71, 72, 73, 74, 75, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_set_relays_requires_at_least_one": {"executed_lines": [80, 81, 82, 83, 84], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_timeout_round_trip": {"executed_lines": [88, 89, 90, 92, 93, 95, 96, 97], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_hash_migrates_from_file": {"executed_lines": [101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_additional_backup_path_round_trip": {"executed_lines": [120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_secret_mode_round_trip": {"executed_lines": [138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_kdf_iterations_round_trip": {"executed_lines": [154, 155, 156, 158, 160, 161], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_interval_round_trip": {"executed_lines": [165, 166, 167, 169, 171, 172], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_quick_unlock_round_trip": {"executed_lines": [176, 177, 178, 180, 182, 183], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_retry_settings_round_trip": {"executed_lines": [187, 188, 189, 191, 192, 193, 195, 196, 197, 198], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_special_char_settings_round_trip": {"executed_lines": [202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_policy_extended_fields": {"executed_lines": [225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 37, 49, 52, 70, 79, 87, 100, 119, 137, 153, 164, 175, 186, 201, 224], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 87, 88, 89, 90, 92, 93, 95, 96, 97, 100, 101, 102, 105, 106, 108, 109, 111, 112, 114, 115, 116, 119, 120, 121, 122, 125, 127, 128, 129, 130, 132, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 147, 148, 149, 150, 153, 154, 155, 156, 158, 160, 161, 164, 165, 166, 167, 169, 171, 172, 175, 176, 177, 178, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 198, 201, 202, 203, 204, 206, 207, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 171, "num_statements": 171, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_core_api_services.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 77, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 96, 97, 100, 103, 105, 106, 107, 108, 112, 114, 117, 120, 122, 123, 124, 126, 128, 129, 130, 131, 133, 134, 136, 137, 138, 140, 141, 142, 144, 148, 149, 150, 152, 154, 155, 158, 159, 160, 161, 163, 164, 165, 167, 168, 170, 171, 172, 174, 175, 177, 178, 179, 181, 185, 186, 187, 189, 192, 193, 194, 195, 197, 198, 199, 201, 203, 206, 207, 209, 210, 212, 214, 217, 219, 220, 221, 223, 224, 225, 228, 229, 230, 231, 233, 234, 235, 237, 240, 242, 243, 244, 246, 249, 251, 252, 256, 257, 259, 260, 264, 265, 267, 268, 272, 273, 275, 276, 277, 278, 280, 281, 283, 285, 286, 287, 289, 291, 292, 294, 296, 297, 299, 301, 302, 304, 305, 306, 308, 310, 311, 313, 314, 315, 316, 319, 321, 322, 325, 326, 329, 331, 332, 333, 334, 337, 339, 340, 341, 342, 345, 347, 348, 349, 350, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 372, 374, 375, 376, 378, 379, 381, 383, 384, 385, 387, 388, 390, 392, 393, 394, 396, 397, 399, 401, 402, 403, 405, 406, 408, 410, 411, 412, 414, 415, 417, 419, 420, 421, 423, 424, 426, 428, 429, 430, 432, 433, 435, 437, 438, 439, 441, 442, 444, 461, 463, 464, 466, 467, 469, 470, 472, 473, 475, 476, 478, 480, 481, 483, 484, 485, 487, 488, 489, 491, 492, 493, 496, 497, 498, 499, 501, 502, 503, 505, 508, 510, 511, 512, 514, 515, 516, 520, 527, 528, 532, 533, 534, 536, 537, 538, 540, 541, 542, 544, 545, 547, 550, 553, 554, 556, 557, 558, 560, 561, 563, 564, 567, 568, 569, 570, 572, 573, 576, 577, 579, 583, 584, 587, 589, 590, 591, 593, 594, 595, 598, 599, 600, 601, 603, 604, 605, 607, 608, 609, 611, 612, 613, 615, 616, 618, 619, 620, 622, 623, 625, 626, 627, 629, 632, 633, 634, 635, 636, 638, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 385, "num_statements": 385, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"mock_manager": {"executed_lines": [43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mock_bus": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.service": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_vault": {"executed_lines": [76, 77, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_vault": {"executed_lines": [83, 84, 86, 87], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_profile": {"executed_lines": [90, 91, 92, 94, 96, 97, 100, 103], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_profile": {"executed_lines": [106, 107, 108, 112, 114, 117, 120], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_change_password": {"executed_lines": [123, 124, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_unlock": {"executed_lines": [129, 130, 131, 133, 134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_lock": {"executed_lines": [137, 138], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_backup_parent_seed": {"executed_lines": [141, 142, 144], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_stats": {"executed_lines": [149, 150, 152, 154, 155], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.service": {"executed_lines": [161], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_list_profiles": {"executed_lines": [164, 165, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_add_profile": {"executed_lines": [171, 172, 174, 175], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_remove_profile": {"executed_lines": [178, 179, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_switch_profile": {"executed_lines": [186, 187, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.service": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync": {"executed_lines": [198, 199, 201, 203, 206, 207], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync_none": {"executed_lines": [210, 212, 214, 217], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_sync": {"executed_lines": [220, 221], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_vault_sync": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.service": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_list_entries": {"executed_lines": [234, 235, 237, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries": {"executed_lines": [243, 244, 246, 249], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_default_excludes_archived": {"executed_lines": [252, 256, 257], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_include_archived": {"executed_lines": [260, 264, 265], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_archived_only": {"executed_lines": [268, 272, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_retrieve_entry": {"executed_lines": [276, 277, 278, 280, 281], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_default": {"executed_lines": [285, 286, 287, 289, 291, 292], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_custom": {"executed_lines": [296, 297, 299, 301, 302], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_totp_code": {"executed_lines": [305, 306, 308, 310, 311], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_seed_phrase": {"executed_lines": [314, 315, 316, 319], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_managed_account_seed": {"executed_lines": [322, 325, 326, 329], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_ssh_key_pair": {"executed_lines": [332, 333, 334, 337], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_pgp_key": {"executed_lines": [340, 341, 342, 345], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_nostr_key_pair": {"executed_lines": [348, 349, 350, 353], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_secret_mode_enabled": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_clipboard_clear_delay": {"executed_lines": [360, 361], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_copy_to_clipboard": {"executed_lines": [364, 365, 366, 367], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_entry": {"executed_lines": [370, 372, 374, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_totp": {"executed_lines": [379, 381, 383, 384, 385], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_ssh_key": {"executed_lines": [388, 390, 392, 393, 394], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_pgp_key": {"executed_lines": [397, 399, 401, 402, 403], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_nostr_key": {"executed_lines": [406, 408, 410, 411, 412], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_seed": {"executed_lines": [415, 417, 419, 420, 421], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_key_value": {"executed_lines": [424, 426, 428, 429, 430], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_managed_account": {"executed_lines": [433, 435, 437, 438, 439], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_modify_entry": {"executed_lines": [442, 444, 461], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_archive_entry": {"executed_lines": [464, 466, 467], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_restore_entry": {"executed_lines": [470, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_export_totp_entries": {"executed_lines": [476, 478, 480, 481], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_display_totp_codes": {"executed_lines": [484, 485], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_load_managed_account": {"executed_lines": [488, 489], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_exit_managed_account": {"executed_lines": [492, 493], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.service": {"executed_lines": [499], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get": {"executed_lines": [502, 503, 505, 508], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_simple": {"executed_lines": [511, 512], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_bool": {"executed_lines": [515, 516], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_relays": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_invalid_key": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_secret_mode_enabled": {"executed_lines": [537, 538], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_clipboard_clear_delay": {"executed_lines": [541, 542], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_secret_mode": {"executed_lines": [545, 547, 550, 553, 554], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_offline_mode": {"executed_lines": [557, 558], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_offline_mode": {"executed_lines": [561, 563, 564], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.service": {"executed_lines": [570], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_generate_password": {"executed_lines": [573, 576, 577, 579, 583, 584, 587], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_verify_checksum": {"executed_lines": [590, 591], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_update_checksum": {"executed_lines": [594, 595], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.service": {"executed_lines": [601], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_get_pubkey": {"executed_lines": [604, 605], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_list_relays": {"executed_lines": [608, 609], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_add_relay": {"executed_lines": [612, 613, 615, 616], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_remove_relay": {"executed_lines": [619, 620, 622, 623], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_reset_sync_state": {"executed_lines": [626, 627, 629, 632, 633, 634, 635, 636], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_start_fresh_namespace": {"executed_lines": [639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 63, 64, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MockPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService": {"executed_lines": [73, 76, 77, 79, 80, 83, 84, 86, 87, 90, 91, 92, 94, 96, 97, 100, 103, 106, 107, 108, 112, 114, 117, 120, 123, 124, 126, 129, 130, 131, 133, 134, 137, 138, 141, 142, 144, 149, 150, 152, 154, 155], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService": {"executed_lines": [161, 164, 165, 167, 168, 171, 172, 174, 175, 178, 179, 181, 186, 187, 189], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService": {"executed_lines": [195, 198, 199, 201, 203, 206, 207, 210, 212, 214, 217, 220, 221, 224, 225], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService": {"executed_lines": [231, 234, 235, 237, 240, 243, 244, 246, 249, 252, 256, 257, 260, 264, 265, 268, 272, 273, 276, 277, 278, 280, 281, 285, 286, 287, 289, 291, 292, 296, 297, 299, 301, 302, 305, 306, 308, 310, 311, 314, 315, 316, 319, 322, 325, 326, 329, 332, 333, 334, 337, 340, 341, 342, 345, 348, 349, 350, 353, 356, 357, 360, 361, 364, 365, 366, 367, 370, 372, 374, 375, 376, 379, 381, 383, 384, 385, 388, 390, 392, 393, 394, 397, 399, 401, 402, 403, 406, 408, 410, 411, 412, 415, 417, 419, 420, 421, 424, 426, 428, 429, 430, 433, 435, 437, 438, 439, 442, 444, 461, 464, 466, 467, 470, 472, 473, 476, 478, 480, 481, 484, 485, 488, 489, 492, 493], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService": {"executed_lines": [499, 502, 503, 505, 508, 511, 512, 515, 516, 527, 528, 533, 534, 537, 538, 541, 542, 545, 547, 550, 553, 554, 557, 558, 561, 563, 564], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService": {"executed_lines": [570, 573, 576, 577, 579, 583, 584, 587, 590, 591, 594, 595], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService": {"executed_lines": [601, 604, 605, 608, 609, 612, 613, 615, 616, 619, 620, 622, 623, 626, 627, 629, 632, 633, 634, 635, 636, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 121, "num_statements": 121, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_core_services.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52, 55, 56, 58, 59, 60, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_vault_service_unlock": {"executed_lines": [9, 11, 15, 16, 17, 18, 19], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_service_unlock.unlock_vault": {"executed_lines": [12, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_add_entry_and_search": {"executed_lines": [23, 25, 29, 33, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_add_entry_and_search.add_entry": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_add_entry_and_search.search_entries": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_add_entry_and_search.start_background_vault_sync": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_service_sync": {"executed_lines": [56, 58, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_service_sync.sync_vault": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 22, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38, 44, 45, 46, 47, 48, 50, 51, 52, 55, 56, 58, 59, 60, 66, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_cross_process_determinism.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 20, 21, 22, 23, 24, 26, 67, 75, 78, 79, 80, 81, 82], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_run_derivation_subprocess": {"executed_lines": [20, 21, 22, 23, 24, 26, 67, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_artifacts_are_identical_across_processes": {"executed_lines": [80, 81, 82], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 78, 79], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 13, 19, 20, 21, 22, 23, 24, 26, 67, 75, 78, 79, 80, 81, 82], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_custom_fields_display.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_retrieve_entry_shows_custom_fields": {"executed_lines": [9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 13, 22, 23, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_decrypt_messages.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_wrong_password_message": {"executed_lines": [17, 18, 19, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_file_requires_migration_message": {"executed_lines": [31, 36, 40, 41, 42, 44, 45, 46, 47], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_file_requires_migration_message._fast_legacy_key": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_corrupted_data_message": {"executed_lines": [51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 30, 50], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 58], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_default_encryption_mode.py": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13, 14, 26, 28, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_default_encryption_mode": {"executed_lines": [14, 26, 28, 29], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 9, 10, 13, 14, 26, 28, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_delta_merge.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90, 93, 94, 105, 116, 128, 133, 138, 139, 140, 143, 144, 157, 171, 172, 173, 174, 175, 176, 179, 180, 193, 206, 219, 222, 225, 226, 227, 228, 231, 232, 244, 256, 257, 258, 259, 265, 266, 277, 290, 291, 292, 295, 296, 300, 313, 324, 327, 330, 331, 334, 335, 346, 358, 359, 360, 363, 364, 376, 388, 389, 390, 393, 394, 402, 414, 415, 416, 419, 420, 428, 440, 441, 442, 443, 446, 447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 146, "num_statements": 146, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_mgr": {"executed_lines": [14, 15, 16, 17], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_modified_ts": {"executed_lines": [21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_replay_idempotent_through_vault_boundary": {"executed_lines": [64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_conflict_equal_timestamp_order_independent": {"executed_lines": [94, 105, 116, 128, 133, 138, 139, 140], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_conflict_equal_timestamp_field_level_union": {"executed_lines": [144, 157, 171, 172, 173, 174, 175, 176], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_conflict_equal_timestamp_field_union_order_independent": {"executed_lines": [180, 193, 206, 219, 222, 225, 226, 227, 228], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_equal_timestamp_tags_and_custom_fields_union": {"executed_lines": [232, 244, 256, 257, 258, 259], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_tombstone_removes_older_entry": {"executed_lines": [266, 277, 290, 291, 292], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_tombstone_order_independent": {"executed_lines": [296, 300, 313, 324, 327, 330, 331], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_replay_same_payload_is_idempotent": {"executed_lines": [335, 346, 358, 359, 360], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_replay_older_payload_does_not_override_newer": {"executed_lines": [364, 376, 388, 389, 390], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_tombstone_replay_keeps_older_readd_deleted": {"executed_lines": [394, 402, 414, 415, 416], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_tombstone_allows_newer_recreate": {"executed_lines": [420, 428, 440, 441, 442, 443], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_merge_last_merge_ts_order_independent": {"executed_lines": [447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 20, 63, 93, 143, 179, 231, 265, 295, 334, 363, 393, 419, 446], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 81, 82, 83, 84, 87, 88, 89, 90, 93, 94, 105, 116, 128, 133, 138, 139, 140, 143, 144, 157, 171, 172, 173, 174, 175, 176, 179, 180, 193, 206, 219, 222, 225, 226, 227, 228, 231, 232, 244, 256, 257, 258, 259, 265, 266, 277, 290, 291, 292, 295, 296, 300, 313, 324, 327, 330, 331, 334, 335, 346, 358, 359, 360, 363, 364, 376, 388, 389, 390, 393, 394, 402, 414, 415, 416, 419, 420, 428, 440, 441, 442, 443, 446, 447, 454, 461, 469, 472, 475], "summary": {"covered_lines": 146, "num_statements": 146, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_deterministic_artifact_regression.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 104, 106, 107, 108, 111, 114, 115, 116, 119, 121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163, 169, 171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 200, 202, 203, 204, 207, 255, 262, 263, 264], "summary": {"covered_lines": 81, "num_statements": 81, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_MnemonicSeedEncoder.derive_seed_from_mnemonic": {"executed_lines": [108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_password_generator": {"executed_lines": [114, 115, 116], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_deterministic_vectors_index_352_regression": {"executed_lines": [121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_repeatability_for_same_seed_and_index": {"executed_lines": [171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_entropy_stream_hash_regression": {"executed_lines": [202, 203, 204], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_policy_vector_regression": {"executed_lines": [262, 263, 264], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 104, 106, 107, 111, 119, 169, 188, 200, 207, 255], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DeterministicVector": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_MnemonicSeedEncoder": {"executed_lines": [108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 16, 18, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 103, 104, 106, 107, 111, 114, 115, 116, 119, 121, 122, 123, 125, 126, 127, 128, 129, 130, 134, 135, 136, 137, 139, 140, 141, 142, 143, 144, 145, 149, 153, 154, 155, 161, 162, 163, 169, 171, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 200, 202, 203, 204, 207, 255, 262, 263, 264], "summary": {"covered_lines": 80, "num_statements": 80, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_document_file_io.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 31, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 96, 97, 100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_managers": {"executed_lines": [23, 24, 25, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_deterministic_text_bytes": {"executed_lines": [31, 35, 36, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_import_document_file_roundtrip": {"executed_lines": [41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_document_file_writes_expected_content": {"executed_lines": [59, 60, 61, 62, 64, 65, 66, 67, 68], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_import_export_large_document_roundtrip_is_byte_stable": {"executed_lines": [73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_portable_backup_restore_preserves_document_content_and_extension": {"executed_lines": [100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_manager_restore_latest_preserves_large_document_content": {"executed_lines": [145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 22, 29, 40, 58, 71, 72, 96, 97, 144], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 31, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 96, 97, 100, 101, 102, 103, 105, 112, 113, 115, 116, 124, 133, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_duplicate_seed_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 26, 27, 29, 30, 31, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_pm": {"executed_lines": [13, 14, 15, 16, 17, 18, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_setup_pm.DummyEnc.__init__": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_setup_pm.DummyEnc.encrypt_parent_seed": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_duplicate_seed_profile_creation": {"executed_lines": [43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_setup_pm.DummyEnc": {"executed_lines": [24, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 47, 48, 49, 51, 52, 53], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_edit_tags_from_retrieve.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 13, 14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_edit_tags_from_retrieve": {"executed_lines": [14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 15, 16, 18, 20, 21, 23, 25, 26], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_encryption_checksum.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 39, 40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_encryption_checksum_workflow": {"executed_lines": [17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_checksum_removes_legacy": {"executed_lines": [40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 39], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 39, 40, 41, 43, 45, 46, 48, 50, 51, 53, 54, 56, 57], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_encryption_files.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_json_save_and_load_round_trip": {"executed_lines": [16, 17, 18, 20, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_encrypt_and_decrypt_file_binary_round_trip": {"executed_lines": [31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_encrypt_file_rejects_traversal": {"executed_lines": [47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 30, 46], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_encryption_fuzz.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 17, 18, 19, 20, 23, 24, 29, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_encrypt_decrypt_roundtrip": {"executed_lines": [17, 18, 19, 20], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_corrupted_ciphertext_fails": {"executed_lines": [31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 23, 24, 29], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 15, 17, 18, 19, 20, 23, 24, 29, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_encryption_validate_seed.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"make_manager": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_seed_valid_mnemonic": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_seed_invalid_mnemonic": {"executed_lines": [26, 27, 28, 29, 30], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 17, 25], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_entries_empty.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_list_entries_empty": {"executed_lines": [15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_entry_add.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52, 55, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117, 120, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 84, "num_statements": 85, "percent_covered": 98.82352941176471, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": [], "functions": {"test_add_and_retrieve_entry": {"executed_lines": [18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_round_trip_entry_types": {"executed_lines": [68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "test_legacy_entry_defaults_to_password": {"executed_lines": [104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_default_archived_false": {"executed_lines": [135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 55, 67, 103, 120, 134], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 24, 29, 30, 32, 44, 45, 46, 48, 49, 50, 51, 52, 55, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 114, 116, 117, 120, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 147, 148], "summary": {"covered_lines": 84, "num_statements": 85, "percent_covered": 98.82352941176471, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}}}, "src/tests/test_entry_links_graph.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 43, "num_statements": 45, "percent_covered": 95.55555555555556, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [55, 61], "excluded_lines": [], "functions": {"_entry_manager": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_links_add_list_remove_and_search": {"executed_lines": [22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_links_reject_invalid_targets_and_self_link": {"executed_lines": [49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [55, 61], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21, 48], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 27, 28, 32, 33, 34, 35, 36, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63], "summary": {"covered_lines": 43, "num_statements": 45, "percent_covered": 95.55555555555556, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [55, 61], "excluded_lines": []}}}, "src/tests/test_entry_management_checksum_path.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_update_checksum_writes_to_expected_path": {"executed_lines": [15, 16, 17, 18, 19, 20, 23, 24, 26, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_index_file_creates_backup_in_directory": {"executed_lines": [31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 30], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_entry_policy_override.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 28, 29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 46, "num_statements": 47, "percent_covered": 97.87234042553192, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_manager": {"executed_lines": [29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_policy_override_changes_password": {"executed_lines": [55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 28, 54], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 28, 29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 64, 65, 66, 67], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_entry_types_roundtrip.py": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.9795918367347, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [79], "excluded_lines": [], "functions": {"_make_entry_manager": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_add_entry_for_type": {"executed_lines": [22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [79], "excluded_lines": []}, "test_all_entry_type_values_are_enum_backed": {"executed_lines": [83], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_each_entry_type_roundtrip_retrieve_and_filter": {"executed_lines": [88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_each_entry_type_sets_and_updates_dates": {"executed_lines": [148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 21, 82, 86, 87, 144, 145], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 31, 32, 41, 42, 43, 44, 45, 48, 49, 57, 58, 59, 60, 67, 68, 71, 72, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 103, 104, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.9795918367347, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [79], "excluded_lines": []}}}, "src/tests/test_export_plaintext_policy.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_plaintext_export_requires_second_confirmation": {"executed_lines": [21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 26, 27, 31, 32, 38, 39, 40], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_export_totp_codes.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 39, "num_statements": 40, "percent_covered": 97.5, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": [], "functions": {"FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "test_handle_export_totp_codes": {"executed_lines": [24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 47, 49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_file_lock.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27, 28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [12, 13, 14, 18, 19, 20, 36], "excluded_lines": [], "functions": {"_hold_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [12, 13, 14], "excluded_lines": []}, "_try_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [18, 19, 20], "excluded_lines": []}, "test_exclusive_lock_blocks_until_released": {"executed_lines": [28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 17, 23, 27, 28, 33, 34, 38, 39, 41, 42, 44, 45, 46, 47, 49, 50, 56], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [12, 13, 14, 18, 19, 20, 36], "excluded_lines": []}}}, "src/tests/test_file_locking.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 16, 17, 18, 19, 24, 27, 28, 29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [12, 13, 20, 21], "functions": {"_writer": {"executed_lines": [9, 10, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [12, 13]}, "_reader": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [20, 21]}, "test_concurrent_shared_and_exclusive_lock": {"executed_lines": [29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8, 16, 24, 27, 28], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 8, 9, 10, 11, 16, 17, 18, 19, 24, 27, 28, 29, 30, 32, 33, 34, 35, 38, 40, 41, 42, 43, 45, 46, 47], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [12, 13, 20, 21]}}}, "src/tests/test_fingerprint.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 41, 44, 46, 47, 50, 53, 56, 58, 60, 62, 63, 64], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_generate_fingerprint_valid": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_fingerprint_custom_length": {"executed_lines": [27, 28, 29, 30, 31], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_fingerprint_normalization": {"executed_lines": [36, 37, 38], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_fingerprint_error_handling": {"executed_lines": [44, 46, 47, 50, 53], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_fingerprint_invalid_input": {"executed_lines": [58, 60, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 25, 34, 41, 56], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 41, 44, 46, 47, 50, 53, 56, 58, 60, 62, 63, 64], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_fingerprint_encryption.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_generate_fingerprint_deterministic": {"executed_lines": [17, 18, 21, 22, 23, 24], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_fingerprint_does_not_log_seed_phrase": {"executed_lines": [28, 29, 30, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_encryption_round_trip": {"executed_lines": [35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 27, 34], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_fingerprint_manager_utils.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_remove_fingerprint": {"executed_lines": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_remove_nonexistent_fingerprint": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 4, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_full_sync_roundtrip.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_deterministic_text_bytes": {"executed_lines": [37, 41, 42], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_full_sync_roundtrip": {"executed_lines": [46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_large_document_sync_roundtrip": {"executed_lines": [84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 36, 45, 82, 83], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 73, 76, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 105, 107, 108, 109, 110, 111, 112, 113], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_full_sync_roundtrip_new.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_full_sync_roundtrip": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 32], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 51, 52, 53, 56, 57, 58, 59, 60, 63, 64, 65, 66], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_fuzz_key_derivation.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37, 39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_fuzz_key_round_trip": {"executed_lines": [39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 10, 16, 17, 19, 26, 32, 37, 39, 40, 41, 42, 48, 50, 51, 59, 62, 63, 66, 67, 68, 71, 72, 73, 76, 77, 78, 79], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_generate_test_profile.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_initialize_profile_creates_directories": {"executed_lines": [8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 11, 14, 15, 17, 20, 23, 24, 25, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_generate_test_profile_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 48, 50, 53, 54, 55, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 43, "num_statements": 44, "percent_covered": 97.72727272727273, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [51], "excluded_lines": [], "functions": {"load_script": {"executed_lines": [10, 13, 14, 15, 16, 17], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_test_profile_sync": {"executed_lines": [21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 50, 53, 54, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_test_profile_sync.DummyKeys.private_key_hex": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_test_profile_sync.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [51], "excluded_lines": []}, "test_generate_test_profile_sync.DummyKeyManager.__init__": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 20], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_generate_test_profile_sync.DummyKeys": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [51], "excluded_lines": []}, "test_generate_test_profile_sync.DummyKeyManager": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 35, 36, 42, 44, 46, 47, 50, 53, 54, 57, 58, 64, 66, 67, 68, 69, 70], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_get_entry_summaries_archived_view.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_get_entry_summaries_excludes_archived_and_view_handler": {"executed_lines": [15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_get_entry_summaries_updates.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_create_entry_manager": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_entry_summaries_updates_label": {"executed_lines": [19, 20, 21, 22, 24, 25, 27, 28, 29], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_entry_summaries_updates_archive_restore": {"executed_lines": [33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 18, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 48], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_gui_features.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 85, "percent_covered": 30.58823529411765, "percent_covered_display": "31", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [16, 19, 22, 25, 30, 31, 34, 35, 36, 39, 42, 45, 50, 51, 52, 53, 54, 59, 60, 62, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": [], "functions": {"DummyNostr.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "DummyNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "DummyNostr.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "DummyNostr.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "DummyEntries.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [30, 31], "excluded_lines": []}, "DummyEntries.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "DummyEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [39], "excluded_lines": []}, "DummyEntries.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "DummyEntries.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [45], "excluded_lines": []}, "DummyController.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54], "excluded_lines": []}, "set_backend": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [59, 60, 62], "excluded_lines": []}, "test_relay_manager_add_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": []}, "test_status_bar_updates_and_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "test_totp_viewer_refresh_on_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyNostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [16, 19, 22, 25], "excluded_lines": []}, "DummyEntries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [30, 31, 34, 35, 36, 39, 42, 45], "excluded_lines": []}, "DummyController": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 18, 21, 24, 28, 29, 33, 38, 41, 44, 48, 49, 57, 58, 65, 78, 94], "summary": {"covered_lines": 26, "num_statements": 68, "percent_covered": 38.23529411764706, "percent_covered_display": "38", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [59, 60, 62, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 104, 108, 109, 111, 113, 114, 115, 116, 119], "excluded_lines": []}}}, "src/tests/test_gui_headless.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 15, 17, 18, 21, 22, 23, 24, 26, 27, 29, 32, 33, 34, 36, 39, 40, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 66, 69, 72, 73, 74, 76, 79, 80, 83, 86, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 104, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138, 141, 149, 150, 151, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 105, "num_statements": 109, "percent_covered": 96.3302752293578, "percent_covered_display": "96", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [30, 81, 84, 87], "excluded_lines": [], "functions": {"FakeVault.__init__": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVault.unlock": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.__init__": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.list_entries": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [30], "excluded_lines": []}, "FakeEntries.add_entry": {"executed_lines": [33, 34], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_totp": {"executed_lines": [39, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_ssh_key": {"executed_lines": [43, 44], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_seed": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_pgp_key": {"executed_lines": [51, 52], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_nostr_key": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_key_value": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.add_managed_account": {"executed_lines": [63, 64], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries.modify_entry": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "setup_module": {"executed_lines": [73, 74, 76], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [81], "excluded_lines": []}, "FakeNostr.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [84], "excluded_lines": []}, "FakeNostr.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [87], "excluded_lines": []}, "test_unlock_creates_main_window": {"executed_lines": [91, 92, 93, 94, 95, 96, 97, 99, 100, 101], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entrydialog_add_calls_service": {"executed_lines": [118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entrydialog_edit_calls_service": {"executed_lines": [150, 151, 153, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entrydialog_edit_calls_service.retrieve": {"executed_lines": [154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 17, 21, 22, 26, 29, 32, 36, 42, 46, 50, 54, 58, 62, 66, 72, 79, 80, 83, 86, 90, 104, 117, 141, 149], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeVault": {"executed_lines": [15, 18], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntries": {"executed_lines": [23, 24, 27, 33, 34, 39, 40, 43, 44, 47, 48, 51, 52, 55, 56, 59, 60, 63, 64, 69], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [30], "excluded_lines": []}, "FakeNostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [81, 84, 87], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 10, 13, 14, 17, 21, 22, 26, 29, 32, 36, 42, 46, 50, 54, 58, 62, 66, 72, 73, 74, 76, 79, 80, 83, 86, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 104, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 137, 138, 141, 149, 150, 151, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170], "summary": {"covered_lines": 83, "num_statements": 83, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_gui_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 15, 19, 20, 21, 23, 24, 26, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 46, 47, 49, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 54, "num_statements": 56, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [16, 27], "excluded_lines": [], "functions": {"DummyEntries.list_entries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEntries.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "DummyNostr.__init__": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyNostr.start_background_vault_sync": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyNostr.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [27], "excluded_lines": []}, "DummyController.__init__": {"executed_lines": [32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "set_backend": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_vault_sync_schedules_task": {"executed_lines": [47, 49, 51, 54, 55, 56, 57, 59, 60, 61, 62, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_vault_sync_schedules_task.create_task": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_status_updates_on_bus_events": {"executed_lines": [67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 15, 19, 20, 23, 26, 30, 31, 40, 41, 46, 66], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEntries": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "DummyNostr": {"executed_lines": [21, 24], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [27], "excluded_lines": []}, "DummyController": {"executed_lines": [32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 11, 12, 15, 19, 20, 23, 26, 30, 31, 40, 41, 42, 43, 46, 47, 49, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_handle_switch_fingerprint.py": {"executed_lines": [1, 4, 5, 6, 7, 9, 10, 12, 13, 15, 16, 17, 18, 19, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": [], "functions": {"test_handle_switch_fingerprint_active_profile": {"executed_lines": [5, 6, 9, 12, 15, 16, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.__init__": {"executed_lines": [7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.list_fingerprints": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyFingerprintManager.display_name": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyPM.__init__": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyPM.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 4], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_handle_switch_fingerprint_active_profile.DummyFingerprintManager": {"executed_lines": [7, 10, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_switch_fingerprint_active_profile.DummyPM": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 4, 5, 6, 9, 12, 15, 16, 21, 25, 26, 28, 30, 31, 32], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_imghdr_stub.py": {"executed_lines": [1, 2, 3, 5, 10, 13, 16, 17, 18, 21, 24, 25, 26, 29, 31, 32, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 53, 54, 57, 59, 60, 61, 64, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 83, 84, 85, 88, 91, 92, 93, 95, 96, 97, 100, 102, 103, 104, 107, 109, 110, 111, 114, 116, 117, 118, 121, 124, 125, 126, 129, 131, 132, 133, 136, 138, 139, 142, 144, 145, 146, 149, 151, 152, 153, 156, 158, 159, 162, 164, 165, 166, 167, 169, 171, 172, 175, 178, 179, 180, 183, 185, 186, 187, 190, 192, 193, 196, 198, 199], "summary": {"covered_lines": 110, "num_statements": 110, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_what_with_bytes_io_jpeg": {"executed_lines": [16, 17, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_png": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_gif87a": {"executed_lines": [31, 32, 33], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_gif89a": {"executed_lines": [38, 39, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_tiff_intel": {"executed_lines": [45, 46, 47], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_tiff_motorola": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_rgb": {"executed_lines": [59, 60, 61], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_pbm": {"executed_lines": [67, 68, 69, 71, 72, 73], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_pgm": {"executed_lines": [79, 80, 81, 83, 84, 85], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_ppm": {"executed_lines": [91, 92, 93, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_rast": {"executed_lines": [102, 103, 104], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_xbm": {"executed_lines": [109, 110, 111], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_bmp": {"executed_lines": [116, 117, 118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_webp": {"executed_lines": [124, 125, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_exr": {"executed_lines": [131, 132, 133], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_returns_none_for_unknown": {"executed_lines": [138, 139], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_file_path_str": {"executed_lines": [144, 145, 146], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_path_object": {"executed_lines": [151, 152, 153], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_explicit_header": {"executed_lines": [158, 159], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_preserves_file_position": {"executed_lines": [164, 165, 166, 167, 169, 171, 172], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_bytes_io_jpeg_exif": {"executed_lines": [178, 179, 180], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_empty_file": {"executed_lines": [185, 186, 187], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_empty_bytes_io": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_what_with_short_file_bmp": {"executed_lines": [198, 199], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 10, 13, 21, 29, 36, 43, 50, 57, 64, 76, 88, 100, 107, 114, 121, 129, 136, 142, 149, 156, 162, 175, 183, 190, 196], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 10, 13, 16, 17, 18, 21, 24, 25, 26, 29, 31, 32, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 53, 54, 57, 59, 60, 61, 64, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 83, 84, 85, 88, 91, 92, 93, 95, 96, 97, 100, 102, 103, 104, 107, 109, 110, 111, 114, 116, 117, 118, 121, 124, 125, 126, 129, 131, 132, 133, 136, 138, 139, 142, 144, 145, 146, 149, 151, 152, 153, 156, 158, 159, 162, 164, 165, 166, 167, 169, 171, 172, 175, 178, 179, 180, 183, 185, 186, 187, 190, 192, 193, 196, 198, 199], "summary": {"covered_lines": 110, "num_statements": 110, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_import.py": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [7, 8, 9, 10], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [7, 8, 9, 10], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 6], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [7, 8, 9, 10], "excluded_lines": []}}}, "src/tests/test_inactivity_lock.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 16, 17, 19, 20, 22, 23, 24, 26, 41, 43, 44, 46, 47, 50, 52, 54, 55, 57, 58, 60, 61, 62, 64, 79, 81, 82, 83, 84, 85, 87, 89, 90, 92, 93, 96, 98, 100, 101, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_inactivity_triggers_lock": {"executed_lines": [14, 16, 19, 22, 26, 41, 43, 44, 46, 47], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_triggers_lock.update_activity": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_triggers_lock.lock_vault": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inactivity_triggers_lock.unlock_vault": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_input_timeout_triggers_lock": {"executed_lines": [52, 54, 57, 60, 64, 79, 81, 87, 89, 90, 92, 93], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_input_timeout_triggers_lock.update_activity": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_input_timeout_triggers_lock.lock_vault": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_input_timeout_triggers_lock.unlock_vault": {"executed_lines": [61, 62], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_input_timeout_triggers_lock.fake_input": {"executed_lines": [82, 83, 84, 85], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_activity_checks_timeout": {"executed_lines": [98, 100, 101, 103, 104, 105, 106, 107, 109, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_activity_checks_timeout.lock": {"executed_lines": [110, 111], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 50, 96], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 16, 17, 19, 20, 22, 23, 24, 26, 41, 43, 44, 46, 47, 50, 52, 54, 55, 57, 58, 60, 61, 62, 64, 79, 81, 82, 83, 84, 85, 87, 89, 90, 92, 93, 96, 98, 100, 101, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 116, 117, 118, 120, 121, 122], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_index_cache.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_index_caching": {"executed_lines": [12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_index_import_export.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71, 74, 75, 76], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_vault": {"executed_lines": [20, 21, 22, 23, 25, 26, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_index_export_import_round_trip": {"executed_lines": [31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_encrypted_index_missing_file": {"executed_lines": [75, 76], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 30, 74], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 48, 50, 51, 53, 68, 70, 71, 74, 75, 76], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_input_utils.py": {"executed_lines": [1, 3, 5, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 26, 29, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 47, 50, 51, 52, 53, 55, 56, 57, 60, 61, 64, 65, 66, 67, 70, 71, 72, 73, 75, 76, 78, 79, 81, 82, 83, 85, 88, 89, 90, 91, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 63, "num_statements": 64, "percent_covered": 98.4375, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": [], "functions": {"test_timed_input_no_timeout_reads_stdin": {"executed_lines": [9, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_dispatches_windows": {"executed_lines": [14, 15, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_dispatches_posix": {"executed_lines": [22, 23, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_fileno_fallback": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_returns_line_when_ready": {"executed_lines": [35, 36, 39, 42, 43, 44, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_returns_line_when_ready.DummyStdin.fileno": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_returns_line_when_ready.DummyStdin.readline": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_raises_timeout": {"executed_lines": [51, 52, 55, 56, 57, 60, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_raises_timeout.DummyStdin.fileno": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_fallback_when_msvcrt_missing": {"executed_lines": [65, 66, 67], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_handles_backspace_and_enter": {"executed_lines": [71, 72, 75, 78, 81, 82, 83, 85], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.__init__": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.kbhit": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT.getwche": {"executed_lines": [79], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_raises_timeout": {"executed_lines": [89, 90, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_raises_timeout.DummyMSVCRT.kbhit": {"executed_lines": [91], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_raises_timeout.DummyMSVCRT.getwche": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 8, 13, 21, 29, 34, 50, 64, 70, 88], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_timed_input_posix_returns_line_when_ready.DummyStdin": {"executed_lines": [37, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_posix_raises_timeout.DummyStdin": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_handles_backspace_and_enter.DummyMSVCRT": {"executed_lines": [73, 76, 79], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_timed_input_windows_raises_timeout.DummyMSVCRT": {"executed_lines": [91], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 26, 29, 30, 31, 34, 35, 36, 39, 42, 43, 44, 47, 50, 51, 52, 55, 56, 57, 60, 61, 64, 65, 66, 67, 70, 71, 72, 75, 78, 81, 82, 83, 85, 88, 89, 90, 93, 96, 97, 98, 99, 101, 102], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_invalid_password_message.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_invalid_password_shows_friendly_message_once": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_kb_scale_stress.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 43, 56, 57, 60, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108, 113, 120, 121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 72, "num_statements": 72, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_entry_manager": {"executed_lines": [17, 18, 19, 20], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_seed_bulk_entries": {"executed_lines": [24, 25, 26, 27, 28, 29, 30, 43, 56, 57], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_kb_sort_tag_search_scale": {"executed_lines": [68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_kb_graph_high_degree_links_scale": {"executed_lines": [121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 23, 60, 67, 113, 120], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 43, 56, 57, 60, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 87, 88, 89, 108, 113, 120, 121, 122, 123, 124, 137, 138, 149, 157, 158, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174], "summary": {"covered_lines": 72, "num_statements": 72, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_kdf_iteration_fallback.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kdf_iteration_fallback": {"executed_lines": [15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 45, 49, 50, 51], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_kdf_modes.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99, 102, 103, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 125, 126, 127, 133, 135, 136, 137, 138, 140, 143, 145, 146, 147, 148, 149, 150, 151, 154, 155, 156, 162, 164, 165, 166, 167, 168, 170, 171, 173, 174, 177, 178, 179, 185, 187, 188, 189, 190, 191, 193, 194, 196, 197, 200, 201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218, 221, 222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 154, "num_statements": 154, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_profile": {"executed_lines": [28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm": {"executed_lines": [65, 66, 67, 68, 69, 70, 71], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_encryption_manager_kdf_modes": {"executed_lines": [75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_kdf_param_round_trip": {"executed_lines": [103, 107, 108, 109, 110, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_kdf_migration": {"executed_lines": [115, 116, 117, 118, 119, 120, 121, 122], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_argon2_uses_configured_time_cost": {"executed_lines": [126, 127, 133, 135, 140, 143, 145, 146, 147, 148, 149, 150, 151], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_argon2_uses_configured_time_cost.fake_argon2": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_pbkdf2_respects_iteration_override": {"executed_lines": [155, 156, 162, 164, 170, 171, 173, 174], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_pbkdf2_respects_iteration_override.fake_pbkdf2": {"executed_lines": [165, 166, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_pbkdf2_enforces_policy_floor": {"executed_lines": [178, 179, 185, 187, 193, 194, 196, 197], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_seed_key_pbkdf2_enforces_policy_floor.fake_pbkdf2": {"executed_lines": [188, 189, 190, 191], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tampered_kdf_wrapper_payload_is_rejected": {"executed_lines": [201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_encryption_manager_rejects_wrong_argon2_params": {"executed_lines": [222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 64, 74, 102, 114, 125, 154, 177, 200, 221], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 37, 38, 40, 41, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 87, 88, 94, 95, 98, 99, 102, 103, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 125, 126, 127, 133, 135, 136, 137, 138, 140, 143, 145, 146, 147, 148, 149, 150, 151, 154, 155, 156, 162, 164, 165, 166, 167, 168, 170, 171, 173, 174, 177, 178, 179, 185, 187, 188, 189, 190, 191, 193, 194, 196, 197, 200, 201, 202, 207, 208, 209, 211, 212, 213, 214, 216, 217, 218, 221, 222, 223, 224, 225, 235, 236, 238, 239, 240, 241, 242, 243, 246, 247, 248, 250, 251, 255, 256, 258], "summary": {"covered_lines": 154, "num_statements": 154, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_kdf_strength_slider.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kdf_strength_slider_persists": {"executed_lines": [11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 10], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_derivation.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 47, 50, 51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pbkdf2_fingerprint_affects_key": {"executed_lines": [17, 18, 19, 21, 22, 23, 25, 26, 27, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_key_empty_password_error": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_seed_only_key_deterministic": {"executed_lines": [38, 39, 40, 41, 42], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_index_key_seed_only": {"executed_lines": [46, 47], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_argon2_fingerprint_affects_key": {"executed_lines": [51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 31, 37, 45, 50], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 47, 50, 51, 52, 53, 55, 59, 63, 64, 65, 67, 68, 69], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_hierarchy.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_kd_distinct_infos": {"executed_lines": [8, 9, 10, 11], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_index_key_matches_hierarchy": {"executed_lines": [15, 16, 17, 18, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_manager_helpers.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_key_manager_getters": {"executed_lines": [8, 9, 11, 12, 15, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_key_manager_getters.DummyKeys.public_key_hex": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_key_manager_getters.DummyKeys.private_key_hex": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_key_manager_getters.DummyKeys": {"executed_lines": [13, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9, 11, 12, 15, 18, 19, 21, 23, 24, 26, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_validation_failures.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 38, 39, 42, 43, 44, 47, 48, 51, 52, 53, 56, 57, 60, 61, 62, 65, 66], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_totp_invalid_secret": {"executed_lines": [19, 20, 21], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_ssh_key_validation_failure": {"executed_lines": [25, 26, 29, 30], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_pgp_key_validation_failure": {"executed_lines": [34, 35, 38, 39], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_nostr_key_validation_failure": {"executed_lines": [43, 44, 47, 48], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_seed_validation_failure": {"executed_lines": [52, 53, 56, 57], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_managed_account_validation_failure": {"executed_lines": [61, 62, 65, 66], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 18, 24, 33, 42, 51, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 38, 39, 42, 43, 44, 47, 48, 51, 52, 53, 56, 57, 60, 61, 62, 65, 66], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_validation_utils.py": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 20, 23, 26, 28, 32, 35, 37, 41, 44, 47, 51, 54, 57, 58, 59, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_validate_totp_secret_exception": {"executed_lines": [20, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_ssh_key_pair_exception": {"executed_lines": [28, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_pgp_private_key_exception": {"executed_lines": [37, 41], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_nostr_keys_exception": {"executed_lines": [47, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_seed_phrase_exception": {"executed_lines": [57, 58, 59, 62], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 26, 35, 44, 54], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 9, 18, 20, 23, 26, 28, 32, 35, 37, 41, 44, 47, 51, 54, 57, 58, 59, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_key_value_entry.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_mgr": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_and_modify_key_value": {"executed_lines": [22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 50, 51, 52, 53, 54, 59, 60, 61, 62, 65, 66], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_last_used_fingerprint.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 30, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_last_used_fingerprint": {"executed_lines": [14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_last_used_fingerprint.init_fm": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 29, 30, 32, 35, 40, 43, 46, 51, 54, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_legacy_format_exception.py": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_decrypt_data_raises_legacy_exception": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_handles_legacy_exception": {"executed_lines": [23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 41, 42, 43], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_legacy_migration.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106, 109, 110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138, 141, 142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220, 223, 224, 226, 227, 228, 229, 231, 232, 233, 234, 235, 237, 238, 240, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 260, 261, 263, 264, 266, 267, 268, 269, 272, 273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310, 313, 314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359, 362, 363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393, 396, 397, 399, 400, 401, 402, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 271, "num_statements": 279, "percent_covered": 97.1326164874552, "percent_covered_display": "97", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [73, 245, 351, 352, 385, 386, 424, 425], "excluded_lines": [], "functions": {"test_legacy_index_migrates": {"executed_lines": [21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_failed_migration_restores_legacy": {"executed_lines": [60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_failed_migration_restores_legacy.bad_load_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "test_migrated_index_has_v3_prefix": {"executed_lines": [88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_index_migration_removes_strays": {"executed_lines": [110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migration_syncs_when_confirmed": {"executed_lines": [142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migration_declines_sync": {"executed_lines": [187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_nostr_payload_syncs_when_confirmed": {"executed_lines": [224, 226, 227, 228, 229, 231, 232, 237, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 263, 264, 266, 267, 268, 269], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.__init__": {"executed_lines": [233, 234, 235], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.fetch_latest_snapshot": {"executed_lines": [238, 240], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_nostr_payload_syncs_when_confirmed.DummyClient.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [245], "excluded_lines": []}, "test_legacy_nostr_payload_syncs_when_confirmed.fake_sync_vault_async": {"executed_lines": [260, 261], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_index_reinit_syncs_once_when_confirmed": {"executed_lines": [273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_schema_migration_no_sync_prompt": {"executed_lines": [314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_schema_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [351, 352], "excluded_lines": []}, "test_declined_migration_no_sync_prompt": {"executed_lines": [363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_declined_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [385, 386], "excluded_lines": []}, "test_failed_migration_no_sync_prompt": {"executed_lines": [397, 399, 400, 401, 402, 403, 405, 407, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_failed_migration_no_sync_prompt.fail": {"executed_lines": [408], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_failed_migration_no_sync_prompt.fake_confirm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [424, 425], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 59, 87, 109, 141, 186, 223, 272, 313, 362, 396], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_legacy_nostr_payload_syncs_when_confirmed.DummyClient": {"executed_lines": [233, 234, 235, 238, 240], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [245], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 20, 21, 23, 24, 39, 40, 41, 42, 46, 48, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 68, 70, 72, 75, 77, 78, 81, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 99, 101, 103, 104, 105, 106, 109, 110, 112, 113, 114, 116, 117, 118, 122, 123, 125, 128, 129, 130, 133, 134, 136, 137, 138, 141, 142, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 176, 179, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 213, 216, 218, 219, 220, 223, 224, 226, 227, 228, 229, 231, 232, 237, 244, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 259, 260, 261, 263, 264, 266, 267, 268, 269, 272, 273, 275, 276, 277, 278, 279, 281, 283, 284, 285, 286, 287, 288, 289, 290, 291, 293, 297, 298, 304, 306, 307, 309, 310, 313, 314, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 340, 346, 350, 354, 356, 357, 358, 359, 362, 363, 365, 366, 367, 368, 369, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 384, 388, 390, 391, 393, 396, 397, 399, 400, 401, 402, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 427, 429, 430, 432], "summary": {"covered_lines": 266, "num_statements": 273, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [73, 351, 352, 385, 386, 424, 425], "excluded_lines": []}}}, "src/tests/test_legacy_migration_iterations.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 45, 46, 47, 49, 50, 52, 55, 56, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_legacy_file": {"executed_lines": [23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_iterations": {"executed_lines": [33, 35, 36, 37, 39, 41, 45, 46, 47, 49, 50, 52, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_iterations.fake_prompt": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_iterations.tracking_derive": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 31, 32], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 45, 46, 47, 49, 50, 52, 55, 56, 58, 60, 62, 64, 65, 70, 72, 73, 75, 76], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_legacy_migration_prompt.py": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_legacy_file": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_open_legacy_without_migrating": {"executed_lines": [26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_legacy_sets_flag": {"executed_lines": [42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 25, 41], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_legacy_migration_second_session.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 63, 64, 65], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [55, 56], "functions": {"test_legacy_migration_second_session": {"executed_lines": [18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 63, 64, 65], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [55]}, "test_legacy_migration_second_session.fail_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [56]}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 63, 64, 65], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [55, 56]}}}, "src/tests/test_legacy_salt_fix.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44, 47, 49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_decrypt_legacy_with_new_salt": {"executed_lines": [18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_decrypt_legacy_with_empty_salt_fallback": {"executed_lines": [49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 47], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 13, 16, 18, 19, 20, 22, 23, 24, 28, 29, 30, 31, 34, 35, 38, 39, 41, 44, 47, 49, 50, 51, 53, 54, 55, 59, 60, 61, 62, 65, 66, 69, 70, 72, 75], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_list_entries_all_types.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 54, 55, 63, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_setup_manager": {"executed_lines": [19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_create_all_entries": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_list_all_types": {"executed_lines": [49, 50, 51, 52, 54, 63, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_cli_list_all_types.fake_get_entry_service": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_list_all_types": {"executed_lines": [74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 37, 48, 73], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 54, 55, 63, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_list_entries_sort_filter.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sort_by_label": {"executed_lines": [23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sort_by_updated": {"executed_lines": [36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_filter_by_type": {"executed_lines": [55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 35, 54], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_load_global_config.py": {"executed_lines": [1, 3, 4, 6, 8, 11, 13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_load_global_config_invalid_toml": {"executed_lines": [13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 11], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 11, 13, 14, 15, 16, 18, 20, 21, 23, 24], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_managed_account.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [18, 19, 20, 21], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_managed_account_fields_and_dir": {"executed_lines": [25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_load_and_exit_managed_account": {"executed_lines": [47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 24, 46], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 83, 85, 86, 87], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_managed_account_entry.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 90, "num_statements": 90, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [21, 22, 23, 24], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_and_get_managed_account_seed": {"executed_lines": [28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_load_and_exit_managed_account": {"executed_lines": [76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 27, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 112, 114, 115, 116], "summary": {"covered_lines": 90, "num_statements": 90, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_add_password.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 213, 216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261, 264, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308, 311, 312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 217, "num_statements": 217, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password": {"executed_lines": [25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password_secret_mode": {"executed_lines": [94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password_quick_mode": {"executed_lines": [155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password_quick_mode_reprompts_invalid_length": {"executed_lines": [216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password_reprompts_invalid_mode": {"executed_lines": [267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_password_empty_mode_cancels": {"executed_lines": [312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 24, 93, 154, 213, 264, 311], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 66, 67, 68, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 136, 137, 138, 140, 141, 146, 147, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 186, 187, 188, 190, 191, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 213, 216, 217, 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 249, 250, 251, 253, 254, 256, 257, 258, 259, 260, 261, 264, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 288, 299, 300, 301, 303, 304, 306, 307, 308, 311, 312, 313, 314, 315, 316, 317, 318, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 333, 334, 335, 337, 338], "summary": {"covered_lines": 216, "num_statements": 216, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_add_totp.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_add_totp": {"executed_lines": [26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 20, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [18, 21, 22], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_checksum_backup.py": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 12, 14, 15, 17, 18, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakeBackupManager.__init__": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBackupManager.create_backup": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBackupManager.restore_latest_backup": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm": {"executed_lines": [22, 23, 24, 25], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_verify_checksum_success": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_verify_checksum_failure": {"executed_lines": [40, 41, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_verify_checksum_missing": {"executed_lines": [51, 52, 53, 54, 56, 59, 60, 61, 62, 63], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_verify_checksum_missing.raise_missing": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_backup_and_restore_database": {"executed_lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 14, 17, 21, 28, 39, 50, 66], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeBackupManager": {"executed_lines": [12, 15, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 10, 11, 14, 17, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_current_notification.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13, 14, 15, 16, 17], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_notify_sets_current": {"executed_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_get_current_notification_ttl": {"executed_lines": [33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 20, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_display_totp_codes.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 11, 13, 18, 19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 33, "num_statements": 35, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [14, 15], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [14, 15], "excluded_lines": []}, "test_handle_display_totp_codes": {"executed_lines": [19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_display_totp_codes_excludes_archived": {"executed_lines": [44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 13, 18, 43], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [14, 15], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 13, 18, 19, 20, 22, 24, 28, 31, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 51, 55, 57, 62, 63, 64, 65], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_edit_totp.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 41, "num_statements": 43, "percent_covered": 95.34883720930233, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": []}, "test_edit_totp_period_from_retrieve": {"executed_lines": [25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_import_database.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 28, 31, 32, 36, 37, 38, 39, 42, 43, 45, 46, 48, 49, 53, 54, 55], "summary": {"covered_lines": 36, "num_statements": 37, "percent_covered": 97.29729729729729, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_import_non_backup_file": {"executed_lines": [25, 26, 28, 31, 32, 36, 37, 38, 39], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_import_non_backup_file.fake_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": []}, "test_import_missing_file": {"executed_lines": [43, 45, 48, 49, 53, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_import_missing_file.raise_missing": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 24, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 28, 31, 32, 36, 37, 38, 39, 42, 43, 45, 46, 48, 49, 53, 54, 55], "summary": {"covered_lines": 36, "num_statements": 37, "percent_covered": 97.29729729729729, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": []}}}, "src/tests/test_manager_list_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 169, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 245, 246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258, 261, 262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277, 280, 293, 295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368, 371, 374, 376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 282, "num_statements": 282, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_handle_list_entries": {"executed_lines": [21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_list_entries_show_details": {"executed_lines": [56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_entry_details_by_index": {"executed_lines": [101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_setup_manager": {"executed_lines": [151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_detail_common": {"executed_lines": [170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_seed_entry_details": {"executed_lines": [187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_ssh_entry_details": {"executed_lines": [204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_pgp_entry_details": {"executed_lines": [226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_nostr_entry_details": {"executed_lines": [246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_managed_account_entry_details": {"executed_lines": [262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_entry_details_sensitive": {"executed_lines": [295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_entry_details_with_enum_type": {"executed_lines": [376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 55, 99, 150, 169, 186, 203, 225, 245, 261, 280, 293, 371, 374], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 79, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 126, 127, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 169, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 245, 246, 247, 248, 249, 251, 253, 254, 255, 256, 257, 258, 261, 262, 263, 264, 265, 266, 268, 270, 271, 272, 273, 274, 275, 276, 277, 280, 293, 295, 296, 297, 298, 300, 303, 306, 307, 308, 311, 315, 317, 318, 320, 321, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 352, 355, 356, 357, 358, 360, 361, 363, 364, 365, 366, 367, 368, 371, 374, 376, 377, 378, 380, 381, 382, 383, 384, 385, 386, 390, 393, 395, 396, 398, 399, 400, 402, 403, 404, 405, 406], "summary": {"covered_lines": 282, "num_statements": 282, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_retrieve_totp.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": []}, "test_handle_retrieve_totp_entry": {"executed_lines": [25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [20, 21], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 19, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 52, 55, 56, 61, 62, 63, 64], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_search_display.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_search_entries_prompt_for_details": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 47, 48, 49, 50, 51], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_seed_setup.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 55, 56, 62, 63, 65, 66, 67, 70, 71, 72, 74, 76, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_validate_bip85_seed_invalid_word": {"executed_lines": [8, 9, 10], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_validate_bip85_seed_checksum_failure": {"executed_lines": [14, 16, 19, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_existing_seed_words": {"executed_lines": [26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_existing_seed_paste": {"executed_lines": [46, 47, 49, 51, 55, 56, 62, 63, 65, 66, 67], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_existing_seed_paste.fake_masked_input": {"executed_lines": [52, 53], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_existing_seed_with_args": {"executed_lines": [71, 72, 74, 76, 81, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_setup_existing_seed_with_args.finalize": {"executed_lines": [82, 83, 84], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 13, 25, 45, 70], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 35, 36, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 55, 56, 62, 63, 65, 66, 67, 70, 71, 72, 74, 76, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_warning_notifications.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_search_entries_no_query": {"executed_lines": [35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 34], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manager_workflow.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.__init__": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_manager_workflow": {"executed_lines": [30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 20, 21, 24, 29], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient": {"executed_lines": [22, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 15, 16, 20, 21, 24, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 81, 83, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manifest_id_privacy.py": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_published_events_no_fingerprint": {"executed_lines": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 4], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_manifest_state_restore.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_manifest_state_restored": {"executed_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 37], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_memory_protection.py": {"executed_lines": [1, 2, 4, 6, 8, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_inmemory_secret_round_trip_bytes_and_str": {"executed_lines": [12, 13, 14, 15], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inmemory_secret_invalid_type": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_inmemory_secret_wipe_clears_attributes": {"executed_lines": [24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_access_after_wipe_raises_error": {"executed_lines": [33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 8, 11, 18, 23, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 11, 12, 13, 14, 15, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_menu_navigation.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_navigate_all_main_menu_options": {"executed_lines": [39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 38], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_menu_notifications.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 42, 43, 44, 45, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [14, 15, 16, 17], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_display_menu_prints_notifications": {"executed_lines": [43, 44, 45, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_display_menu_reuses_notification_line": {"executed_lines": [62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 42, 61], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 42, 43, 44, 45, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_menu_options.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_totp_option": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_settings_option": {"executed_lines": [44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 32, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_menu_search.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_search_option": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 32], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_migrations.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 31, 34, 35, 36, 37, 38, 39, 40, 49, 52, 53, 54, 60, 61, 62, 63, 72, 75, 76, 77, 78, 79, 80, 83, 84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup": {"executed_lines": [12, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_v0_to_v4": {"executed_lines": [17, 18, 19, 20, 21, 22, 31], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_v1_to_v4": {"executed_lines": [35, 36, 37, 38, 39, 40, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_migrate_v2_to_v4": {"executed_lines": [53, 54, 60, 61, 62, 63, 72], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_error_on_future_version": {"executed_lines": [76, 77, 78, 79, 80], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_schema_migration_persisted_once": {"executed_lines": [84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 16, 34, 52, 75, 83], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 31, 34, 35, 36, 37, 38, 39, 40, 49, 52, 53, 54, 60, 61, 62, 63, 72, 75, 76, 77, 78, 79, 80, 83, 84, 85, 98, 99, 100, 101, 102, 104, 105, 106], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_modify_entry_validation.py": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 19, 20, 21, 22, 23, 26, 85, 92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"entry_manager": {"executed_lines": [19, 20, 21, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_modify_entry_invalid_fields": {"executed_lines": [92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 26, 85], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 7, 9, 10, 11, 12, 13, 16, 17, 19, 20, 21, 22, 23, 26, 85, 92, 93, 96, 97, 99, 100, 103, 104, 106], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_modify_ssh_managed_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33, 36, 37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_mgr": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_modify_ssh_entry": {"executed_lines": [22, 23, 24, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_modify_managed_account_entry": {"executed_lines": [37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 21, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 33, 36, 37, 38, 39, 41, 42, 50, 52, 53, 54, 55, 56], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_modify_totp_entry.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_modify_totp_entry_period_digits_and_archive": {"executed_lines": [10, 11, 12, 13, 15, 16, 18, 19, 20, 21], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_modify_totp_entry_invalid_field": {"executed_lines": [25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 24], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_multiple_deltas_sync.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 71, "num_statements": 71, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_applies_multiple_deltas": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initial_sync_applies_multiple_deltas": {"executed_lines": [69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 32, 68], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 50, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 71, "num_statements": 71, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_multiple_fingerprint_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 31, 34, 39, 42, 45, 50, 54, 56, 57, 58, 60, 62, 63, 64], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_when_multiple_fingerprints": {"executed_lines": [17, 18, 19, 21, 22, 24, 25, 26, 28, 31, 34, 39, 42, 45, 50, 54, 56, 60, 62, 63, 64], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_when_multiple_fingerprints.init_fm": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_when_multiple_fingerprints.fake_input": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 11, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 31, 34, 39, 42, 45, 50, 54, 56, 57, 58, 60, 62, 63, 64], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_new_seed_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 28, 29, 31, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 33, 36, 37, 38, 39, 40], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "setup_pm.DummyEnc.__init__": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "setup_pm.DummyEnc.encrypt_parent_seed": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_new_seed_creates_profile": {"executed_lines": [44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"setup_pm.DummyEnc": {"executed_lines": [26, 29], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nonce_uniqueness.py": {"executed_lines": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_nonce_uniqueness": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_noninteractive_init_unlock.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 39, 42, 46, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 73, 75, 78, 81, 83, 84], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_init_with_password": {"executed_lines": [14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 36, 39, 42, 46, 47], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_init_with_password.fake_setup": {"executed_lines": [33, 34], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unlock_with_password": {"executed_lines": [51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 75, 78, 81, 83, 84], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unlock_with_password.fake_setup": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 50], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 39, 42, 46, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 72, 73, 75, 78, 81, 83, 84], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_backup_and_publish_to_nostr": {"executed_lines": [18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 40, 41, 42, 44, 45], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 58, 59, 60, 62, 63, 65, 66, 68, 69, 71, 72, 73, 77, 78, 79, 81, 84, 85, 86, 87, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 103, 106, 107, 109, 111, 112, 113, 115, 116, 118, 119, 122, 123, 125, 127, 128, 130, 132, 134, 137, 138, 140, 142, 144, 145, 147, 149, 150, 152, 153, 154, 157, 158, 160, 161, 162, 163, 164, 165, 167, 169, 170, 172, 174, 175, 177, 179, 181, 182, 185, 186, 188, 189, 191, 192, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 207], "summary": {"covered_lines": 136, "num_statements": 137, "percent_covered": 99.27007299270073, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": [], "functions": {"test_nostr_client_uses_custom_relays": {"executed_lines": [19, 20, 21, 22, 24, 27, 28, 29, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelaysClient.__init__": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelaysClient.add_relays": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelaysClient.connect": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelayClient.__init__": {"executed_lines": [48, 49], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelayClient.add_relay": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelayClient.connect": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket.__init__": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket.__aenter__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket.__aexit__": {"executed_lines": [66], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket.send": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket.recv": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "_setup_client": {"executed_lines": [78, 79, 81, 84, 85, 86, 87], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initialize_client_pool_add_relays_used": {"executed_lines": [91, 92, 93, 94, 95], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initialize_client_pool_add_relay_fallback": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_check_relay_health_runs_async": {"executed_lines": [107, 109, 111, 115, 116, 118, 119], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_check_relay_health_runs_async.fake_check": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_ping_relay_accepts_eose": {"executed_lines": [123, 125, 127, 130, 132, 134], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_ping_relay_accepts_eose.fake_connect": {"executed_lines": [128], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_relays_reinitializes_pool": {"executed_lines": [138, 140, 142, 144, 147, 149, 150, 152, 153, 154], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_relays_reinitializes_pool.fake_init": {"executed_lines": [145], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_retrieve_json_sync_backoff": {"executed_lines": [158, 160, 161, 162, 163, 164, 165, 167, 169, 172, 174, 177, 179, 181, 182], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_retrieve_json_sync_backoff.fake_sleep": {"executed_lines": [170], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_retrieve_json_sync_backoff.fake_async": {"executed_lines": [175], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_client_methods_run_in_event_loop": {"executed_lines": [186, 188, 191, 194, 197, 198, 199, 201, 207], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_client_methods_run_in_event_loop.fake_init": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_client_methods_run_in_event_loop.fake_send_event": {"executed_lines": [192], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_client_methods_run_in_event_loop.fake_retrieve": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_client_methods_run_in_event_loop.run_all": {"executed_lines": [202, 203, 204, 205], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 34, 35, 39, 42, 46, 47, 51, 54, 58, 59, 62, 65, 68, 71, 77, 90, 98, 106, 122, 137, 157, 185], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeAddRelaysClient": {"executed_lines": [36, 37, 40, 43], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeAddRelayClient": {"executed_lines": [48, 49, 52, 55], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeWebSocket": {"executed_lines": [60, 63, 66, 69, 72, 73], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 21, 22, 24, 27, 28, 29, 31, 34, 35, 39, 42, 46, 47, 51, 54, 58, 59, 62, 65, 68, 71, 77, 78, 79, 81, 84, 85, 86, 87, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 103, 106, 107, 109, 111, 112, 113, 115, 116, 118, 119, 122, 123, 125, 127, 128, 130, 132, 134, 137, 138, 140, 142, 144, 145, 147, 149, 150, 152, 153, 154, 157, 158, 160, 161, 162, 163, 164, 165, 167, 169, 170, 172, 174, 175, 177, 179, 181, 182, 185, 186, 188, 189, 191, 192, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 207], "summary": {"covered_lines": 122, "num_statements": 122, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_contract.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 20, 21, 22, 23, 25, 26, 28, 31, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 48, 50, 51, 52, 54, 55, 56, 58, 59, 61, 64, 65, 66, 68, 71, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 57, "num_statements": 59, "percent_covered": 96.61016949152543, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [29, 35], "excluded_lines": [], "functions": {"MockNostrServer.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.__init__": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.add_relays": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": []}, "MockClient.connect": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "MockClient.send_event": {"executed_lines": [38, 40, 41, 44, 45, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.send_event.FakeId.to_hex": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.send_event.FakeOutput.__init__": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.fetch_events": {"executed_lines": [51, 52, 54, 55, 58, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.fetch_events.FakeEvents.__init__": {"executed_lines": [56], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.fetch_events.FakeEvents.to_vec": {"executed_lines": [59], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "setup_client": {"executed_lines": [65, 66, 68, 71, 72, 73, 74, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_and_retrieve": {"executed_lines": [79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 20, 21, 25, 28, 31, 34, 37, 50, 64, 78], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MockNostrServer": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient": {"executed_lines": [22, 23, 26, 32, 38, 40, 41, 44, 45, 48, 51, 52, 54, 55, 58, 61], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [29, 35], "excluded_lines": []}, "MockClient.send_event.FakeId": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.send_event.FakeOutput": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MockClient.fetch_events.FakeEvents": {"executed_lines": [56, 59], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 20, 21, 25, 28, 31, 34, 37, 50, 64, 65, 66, 68, 71, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_dummy_client.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117, 120, 121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144, 147, 148, 150, 151, 152, 154, 156, 157, 158, 160, 163, 164, 165, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 128, "num_statements": 129, "percent_covered": 99.2248062015504, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [161], "excluded_lines": [], "functions": {"test_manifest_generation": {"executed_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_retrieve_multi_chunk_snapshot": {"executed_lines": [35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_and_fetch_deltas": {"executed_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_fallback_on_missing_chunk": {"executed_lines": [73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_fallback_on_missing_chunk.fake_sleep": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_uses_event_ids": {"executed_lines": [121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_delta_aborts_if_outdated": {"executed_lines": [148, 150, 151, 152, 154, 156, 157, 160, 163, 164, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_delta_aborts_if_outdated.DummyKeys.private_key_hex": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_delta_aborts_if_outdated.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [161], "excluded_lines": []}, "test_publish_delta_aborts_if_outdated.DummyKeyManager.__init__": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 34, 55, 72, 120, 147], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_publish_delta_aborts_if_outdated.DummyKeys": {"executed_lines": [158], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [161], "excluded_lines": []}, "test_publish_delta_aborts_if_outdated.DummyKeyManager": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 97, 98, 99, 101, 103, 105, 107, 116, 117, 120, 121, 122, 124, 126, 127, 130, 131, 133, 135, 137, 139, 144, 147, 148, 150, 151, 152, 154, 156, 157, 160, 163, 164, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 180, 182, 184, 185], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_nostr_key_determinism": {"executed_lines": [21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 17, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_index_size.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 94, "percent_covered": 24.46808510638298, "percent_covered_display": "24", "missing_lines": 71, "excluded_lines": 0}, "missing_lines": [26, 27, 28, 39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 91, 92, 93, 94, 97, 98, 99, 100, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": [], "functions": {"_relays_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [26, 27, 28], "excluded_lines": []}, "test_nostr_index_size_limits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0}, "missing_lines": [39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": []}, "test_nostr_index_size_limits.fetch_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [91, 92, 93, 94, 97, 98, 99, 100], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 18, 19, 20, 21, 22, 25, 31, 32, 33, 37], "summary": {"covered_lines": 23, "num_statements": 94, "percent_covered": 24.46808510638298, "percent_covered_display": "24", "missing_lines": 71, "excluded_lines": 0}, "missing_lines": [26, 27, 28, 39, 43, 44, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88, 91, 92, 93, 94, 97, 98, 99, 100, 102, 106, 107, 108, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 143], "excluded_lines": []}}}, "src/tests/test_nostr_legacy_decrypt_fallback.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 15, 18, 19, 20, 21, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_legacy_password_only_fallback": {"executed_lines": [13, 15, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_password_only_fallback._fast_legacy_key": {"executed_lines": [18, 19, 20, 21], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 15, 18, 19, 20, 21, 24, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_legacy_key_fallback.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11, 12, 15, 17, 18, 19, 21, 24, 25, 26, 28, 32, 34, 35, 36, 37, 39, 41, 42, 43, 57, 58, 64, 66, 67, 68, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": [], "functions": {"test_fetch_snapshot_legacy_key_fallback": {"executed_lines": [12, 15, 17, 18, 21, 24, 28, 32, 34, 35, 39, 41, 42, 43, 57, 58, 64, 66, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.LegacyKeys.private_key_hex": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.LegacyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.fake_generate": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.RecordingFilter.author": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.fake_fetch_events": {"executed_lines": [67, 68, 69, 70, 71, 72, 74], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_fetch_snapshot_legacy_key_fallback.LegacyKeys": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "test_fetch_snapshot_legacy_key_fallback.RecordingFilter": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 11, 12, 15, 17, 18, 21, 24, 25, 26, 28, 32, 34, 35, 39, 41, 42, 43, 57, 58, 64, 66, 67, 68, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_qr.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95, 98, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 99, "num_statements": 101, "percent_covered": 98.01980198019803, "percent_covered_display": "98", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": [], "functions": {"FakeNostrClient.__init__": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrClient.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "test_show_qr_for_nostr_keys": {"executed_lines": [26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_show_private_key_qr": {"executed_lines": [62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_qr_menu_case_insensitive": {"executed_lines": [100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 20, 25, 60, 98], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeNostrClient": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 3, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 20, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 56, 57, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 92, 93, 94, 95, 98, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 123, 124, 125, 126, 127, 129, 130, 131, 132, 137, 138], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_real.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 156, "percent_covered": 19.871794871794872, "percent_covered_display": "20", "missing_lines": 125, "excluded_lines": 0}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": [], "functions": {"test_nostr_publish_and_retrieve": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49], "excluded_lines": []}, "_relays_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [53, 54, 55], "excluded_lines": []}, "_init_pm_for_real_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "test_account_roundtrip_sync_delete_restore_real_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161], "excluded_lines": []}, "test_real_relays_with_portable_export_import_roundtrip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 52, 58, 83, 84, 85, 164, 165, 166], "summary": {"covered_lines": 31, "num_statements": 156, "percent_covered": 19.871794871794872, "percent_covered_display": "20", "missing_lines": 125, "excluded_lines": 0}, "missing_lines": [29, 33, 34, 37, 38, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 89, 90, 91, 93, 94, 95, 96, 97, 98, 100, 101, 108, 109, 112, 119, 121, 122, 124, 125, 126, 127, 129, 130, 137, 139, 140, 141, 142, 143, 144, 145, 147, 148, 151, 153, 154, 155, 156, 157, 158, 160, 161, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 181, 182, 189, 191, 194, 201, 203, 204, 206, 207, 214, 216, 217, 224, 225, 231, 233, 236, 242, 243, 245, 246, 253, 255, 256, 257, 258, 259, 260, 261, 263, 264, 268, 270, 271, 272], "excluded_lines": []}}}, "src/tests/test_nostr_resilience_failure_modes.py": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 61, 64, 67, 69, 70, 72, 73, 74, 79, 81, 83, 88, 89, 91, 92, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_sync_vault_async_sets_last_error_when_no_encrypted_data": {"executed_lines": [10, 11, 12, 13, 15, 17, 18], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_async_preserves_existing_error_when_publish_returns_none": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 33, 34, 36, 38, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_async_preserves_existing_error_when_publish_returns_none._publish_snapshot": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_async_sets_default_error_when_publish_returns_none": {"executed_lines": [44, 45, 46, 47, 48, 49, 55, 57, 58, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_index_from_nostr_async_notifies_last_error_when_snapshot_missing": {"executed_lines": [67, 69, 72, 73, 74, 79, 81, 83], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_index_from_nostr_async_notifies_last_error_when_snapshot_missing._no_snapshot": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_index_from_nostr_async_notifies_exception_when_fetch_raises": {"executed_lines": [89, 91, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_index_from_nostr_async_notifies_exception_when_fetch_raises._boom": {"executed_lines": [92], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 9, 21, 43, 64, 88], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 61, 64, 67, 69, 70, 72, 73, 74, 79, 81, 83, 88, 89, 91, 92, 94, 95, 96, 101, 103, 105], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_restore_flow.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_restore_flow_from_snapshot": {"executed_lines": [32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 48, 49], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_nostr_sdk_workflow.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 35, 38, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 56, "num_statements": 59, "percent_covered": 94.91525423728814, "percent_covered_display": "95", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [53, 54, 57], "excluded_lines": [], "functions": {"FakeRelay.__init__": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeRelay.handler": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "run_relay": {"executed_lines": [31, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "run_relay.main": {"executed_lines": [32, 33], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_sdk_send_receive": {"executed_lines": [39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 27, "num_statements": 30, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [53, 54, 57], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 16, 30, 38], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeRelay": {"executed_lines": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 16, 30, 31, 32, 33, 35, 38, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51, 52, 56, 59, 60, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79], "summary": {"covered_lines": 44, "num_statements": 47, "percent_covered": 93.61702127659575, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [53, 54, 57], "excluded_lines": []}}}, "src/tests/test_nostr_snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 46, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 78, 81, 82, 84, 87, 90, 91, 92, 94, 95, 96, 98, 99, 101, 104, 105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 83, "num_statements": 86, "percent_covered": 96.51162790697674, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [79, 85, 88], "excluded_lines": [], "functions": {"_deterministic_bytes": {"executed_lines": [22, 23, 24], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prepare_snapshot_roundtrip": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prepare_snapshot_chunk_hash_integrity_by_size_tier": {"executed_lines": [49, 50, 51, 52, 54, 55, 56, 58, 59], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.__init__": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.add_relays": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [79], "excluded_lines": []}, "DummyClient.connect": {"executed_lines": [82], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [85], "excluded_lines": []}, "DummyClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [88], "excluded_lines": []}, "DummyClient.fetch_events": {"executed_lines": [91, 92, 94, 95, 98, 101], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.fetch_events.E.__init__": {"executed_lines": [96], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient.fetch_events.E.to_vec": {"executed_lines": [99], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fetch_latest_snapshot": {"executed_lines": [105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 27, 38, 46, 62, 63, 66, 70, 71, 75, 78, 81, 84, 87, 90, 104], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [64, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyClient": {"executed_lines": [72, 73, 76, 82, 91, 92, 94, 95, 98, 101], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [79, 85, 88], "excluded_lines": []}, "DummyClient.fetch_events.E": {"executed_lines": [96, 99], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 46, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 66, 70, 71, 75, 78, 81, 84, 87, 90, 104, 105, 106, 107, 108, 109, 117, 121, 122, 123, 126, 131, 132, 133, 134, 135, 137, 138, 139], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_offline_mode_behavior.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 44, 45, 46], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_sync_vault_skips_network": {"executed_lines": [8, 9, 10, 11, 12, 15, 16, 17], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_offline": {"executed_lines": [21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_sets_last_error_on_exception": {"executed_lines": [30, 31, 32, 33, 35, 38, 44, 45, 46], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_vault_sets_last_error_on_exception.boom": {"executed_lines": [36], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 20, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 44, 45, 46], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_offline_mode_default_enabled.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_offline_mode_default_disabled": {"executed_lines": [9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_offline_mode_profile_creation.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_toggle_offline_mode_after_profile_creation": {"executed_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_online_mode_first_login_notice.py": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 60, 61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_DummyConfigManager.__init__": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfigManager.load_config": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfigManager.save_config": {"executed_lines": [20, 21, 22], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyNostrClient.__init__": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_make_pm": {"executed_lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_first_online_login_emits_notice_and_persists_seen": {"executed_lines": [47, 48, 49, 51, 53, 54, 55, 56, 57], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_online_notice_not_repeated_when_seen": {"executed_lines": [61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 16, 19, 25, 26, 32, 46, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_DummyConfigManager": {"executed_lines": [13, 14, 17, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyNostrClient": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 11, 12, 16, 19, 25, 26, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 60, 61, 68, 69, 71, 73, 74], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_parent_seed_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 31, 33, 34, 36, 37, 39, 40, 42, 43, 44, 47, 48, 50, 51, 52, 56, 57, 59, 60, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 21], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_backup_reveal_parent_seed_confirm": {"executed_lines": [25, 27, 28, 31, 33, 36, 37, 39, 40, 42, 43, 44], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_backup_reveal_parent_seed_confirm.fake_save": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_backup_reveal_parent_seed_cancel": {"executed_lines": [48, 50, 51, 52, 56, 57, 59, 60], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_is_valid_filename": {"executed_lines": [64, 65, 66, 67, 68], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 24, 47, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 31, 33, 34, 36, 37, 39, 40, 42, 43, 44, 47, 48, 50, 51, 52, 56, 57, 59, 60, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_change.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_change_password_triggers_nostr_backup": {"executed_lines": [19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_generation_policy.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 20, 23, 24, 25, 26, 27, 28, 31, 32, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 65, 68, 69, 70, 71], "summary": {"covered_lines": 44, "num_statements": 45, "percent_covered": 97.77777777777777, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [24, 25, 26, 27, 28], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "count_types": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_zero_policy_preserves_length": {"executed_lines": [41, 42, 43, 44, 45, 46], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_custom_policy_applied": {"executed_lines": [50, 53, 54, 55, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_respects_policy": {"executed_lines": [65, 68, 69, 70, 71], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 23, 31, 40, 49, 64], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 13, 14, 18, 19, 23, 24, 25, 26, 27, 28, 31, 32, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 65, 68, 69, 70, 71], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_helpers.py": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 43, "num_statements": 44, "percent_covered": 97.72727272727273, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [19, 20, 21, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_derive_password_entropy_length": {"executed_lines": [27, 28, 29, 30, 31, 32], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_map_entropy_to_chars_only_uses_alphabet": {"executed_lines": [36, 37, 38, 39, 40], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_enforce_complexity_minimum_counts": {"executed_lines": [44, 45, 46, 47, 48, 49, 50, 51], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_shuffle_deterministically_repeatable": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 18, 26, 35, 43, 54], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [15], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_length_constraints.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [13, 18], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [18], "excluded_lines": []}, "make_generator": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password_too_short_raises": {"executed_lines": [30, 31, 32], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 29], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [18], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_notes_display.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_password_notes_shown": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_prompt.py": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_new_password": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_new_password_retry": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_existing_password": {"executed_lines": [27, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_confirm_action_yes_no": {"executed_lines": [32, 33, 34, 35], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 10, 17, 26, 31], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 35], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_properties.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 33, "num_statements": 34, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [23, 24, 25, 26, 27], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_properties": {"executed_lines": [36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 22, 30, 34, 35], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 12, 13, 17, 18, 22, 23, 24, 25, 26, 27, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 47, 48, 49], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_shuffle_consistency.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [20, 21, 22, 23, 24], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_generation_consistent_output": {"executed_lines": [28, 29, 30, 32], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 19, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_special_chars.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 19, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [23, 24, 25, 26, 27], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_no_special_chars": {"executed_lines": [31, 32, 33, 34], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_allowed_special_chars_only": {"executed_lines": [38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_exclude_ambiguous_chars": {"executed_lines": [47, 48, 49, 50, 51], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_safe_special_chars_mode": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 22, 30, 37, 46, 54], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [14], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 12, 13, 17, 18, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_special_modes.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 18, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": [], "functions": {"DummyEnc.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "DummyBIP85.derive_entropy": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "make_generator": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_include_special_chars_false": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_safe_mode_uses_safe_chars": {"executed_lines": [37, 38, 39, 40, 41], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_allowed_chars_override_special_mode": {"executed_lines": [45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_enforce_complexity_min_special_zero": {"executed_lines": [54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 29, 36, 44, 53], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEnc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "DummyBIP85": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_password_unlock_after_change.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_password_change_and_unlock": {"executed_lines": [23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 70, 71, 78, 79, 81, 84, 85, 86, 88, 90, 91, 92], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_pgp_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pgp_key_determinism": {"executed_lines": [18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pgp_rsa_key_determinism": {"executed_lines": [50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 47], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 35, 37, 38, 41, 42, 43, 44, 47, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_portable_backup.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102, 105, 106, 107, 108, 109, 111, 113, 114, 115, 116, 119, 120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 142, 144, 145, 146, 147, 149, 150, 151, 152, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 131, "num_statements": 132, "percent_covered": 99.24242424242425, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [92], "excluded_lines": [], "functions": {"setup_vault": {"executed_lines": [27, 28, 29, 30, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_round_trip": {"executed_lines": [41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_round_trip_unencrypted": {"executed_lines": [58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_corruption_detection": {"executed_lines": [78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_corruption_detection._fast_legacy_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [92], "excluded_lines": []}, "test_import_over_existing": {"executed_lines": [106, 107, 108, 109, 111, 113, 114, 115, 116], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_checksum_mismatch_detection": {"executed_lines": [120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_import_seed_encrypted_with_different_key": {"executed_lines": [144, 145, 146, 147, 149, 150, 151, 152], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_export_creates_additional_backup_and_import": {"executed_lines": [156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 40, 57, 73, 76, 77, 105, 119, 142, 155], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 91, 94, 97, 101, 102, 105, 106, 107, 108, 109, 111, 113, 114, 115, 116, 119, 120, 121, 122, 123, 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 142, 144, 145, 146, 147, 149, 150, 151, 152, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 171, 173, 174, 176, 177, 179, 180, 181], "summary": {"covered_lines": 131, "num_statements": 132, "percent_covered": 99.24242424242425, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [92], "excluded_lines": []}}}, "src/tests/test_post_sync_messages.py": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 18, 19, 20, 21, 22, 25, 26, 29, 30, 31, 34, 35, 39, 40, 41, 44, 45, 49, 50, 51, 54, 55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_handle_post_success": {"executed_lines": [11, 18, 19, 20, 21, 22], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_post_failure": {"executed_lines": [26, 29, 30, 31], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_post_failure_shows_nostr_error": {"executed_lines": [35, 39, 40, 41], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_post_failure_offline_mode_message": {"executed_lines": [45, 49, 50, 51], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_post_prints_all_ids": {"executed_lines": [55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 25, 34, 44, 54], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 18, 19, 20, 21, 22, 25, 26, 29, 30, 31, 34, 35, 39, 40, 41, 44, 45, 49, 50, 51, 54, 55, 62, 63, 64, 71, 72], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_cleanup.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [13, 14, 16, 17, 19, 20, 21, 22, 23, 24], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_seed_cleanup_on_failure": {"executed_lines": [28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 27], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 34, 35, 40, 41, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_deletion_sync.py": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_deletion_stops_sync": {"executed_lines": [15, 16, 18, 20, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_deletion_stops_sync.fake_post": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 45, 46, 48, 49, 51, 52, 53, 54, 55], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_export_import.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_profile_export_import_round_trip": {"executed_lines": [9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 28, 29, 30, 32, 33], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_export_import_round_trip.sync": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_init_integration.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"load_script": {"executed_lines": [10, 13, 14, 15, 16, 17], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_initialize_profile_and_manager": {"executed_lines": [21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 20], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 35, 39, 40, 42, 43, 45, 46, 47, 48], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_management.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_delete_entry": {"executed_lines": [25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 39, 40, 43, 44, 45, 46, 47, 48, 50, 51, 55, 56, 61, 62, 63, 72, 73, 75, 79, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 95, 97, 98, 100, 101, 108, 109, 110, 116, 118, 119], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profile_recovery_flow.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 16, 17, 19, 24, 26, 28, 29, 30, 31, 33, 37, 39, 40, 43, 44, 45, 46, 47, 49, 54, 60, 63, 66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_switch_existing_selects_profile": {"executed_lines": [10, 11, 12, 16, 17, 19, 24, 26, 28, 33, 37, 39, 40], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_switch_existing_selects_profile.fake_select": {"executed_lines": [29, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_select_fingerprint_returns_false_on_unlock_failure": {"executed_lines": [44, 45, 46, 47, 49, 54, 60], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_recover_profile_with_blank_index_rejects_mismatched_seed": {"executed_lines": [66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 43, 63], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 16, 17, 19, 24, 26, 28, 29, 30, 31, 33, 37, 39, 40, 43, 44, 45, 46, 47, 49, 54, 60, 63, 66, 67, 68, 69, 72, 73, 75, 81, 83, 84, 85, 86, 88], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_profiles.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_switch_fingerprint": {"executed_lines": [17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_index_missing_bad_data": {"executed_lines": [56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_attempt_initial_sync_incomplete_data": {"executed_lines": [87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 55, 86], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 39, 40, 41, 42, 45, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 73, 78, 80, 81, 82, 83, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 101, 102, 103, 104], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_publish_json_result.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 32, 33, 34, 35, 37, 40, 44, 45, 46, 48, 49, 52, 53, 54, 56, 57, 59, 60, 63, 64, 65, 68, 69, 70, 73, 74, 77, 79, 80, 82, 85, 86, 87, 88, 89, 90, 93, 94, 97, 99, 100, 102, 103, 104], "summary": {"covered_lines": 64, "num_statements": 66, "percent_covered": 96.96969696969697, "percent_covered_display": "97", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 41], "excluded_lines": [], "functions": {"setup_client": {"executed_lines": [17, 18, 20, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEvent.__init__": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEvent.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "FakeEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "FakeUnsignedEvent.__init__": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUnsignedEvent.sign_with_keys": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBuilder.__init__": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBuilder.tags": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBuilder.build": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEventId.to_hex": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSendEventOutput.__init__": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_snapshot_success": {"executed_lines": [74, 77, 79, 82, 85, 86, 87, 88, 89, 90], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_snapshot_success.fake_send": {"executed_lines": [80], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_snapshot_failure": {"executed_lines": [94, 97, 99, 102, 103, 104], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_snapshot_failure.boom": {"executed_lines": [100], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 32, 33, 37, 40, 44, 45, 48, 52, 53, 56, 59, 63, 64, 68, 69, 73, 93], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEvent": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 41], "excluded_lines": []}, "FakeUnsignedEvent": {"executed_lines": [46, 49], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeBuilder": {"executed_lines": [54, 57, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEventId": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSendEventOutput": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 20, 25, 26, 27, 28, 29, 32, 33, 37, 40, 44, 45, 48, 52, 53, 56, 59, 63, 64, 68, 69, 73, 74, 77, 79, 80, 82, 85, 86, 87, 88, 89, 90, 93, 94, 97, 99, 100, 102, 103, 104], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_pubsub.py": {"executed_lines": [1, 4, 5, 6, 8, 9, 11, 12, 14, 17, 18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": [], "functions": {"test_subscribe_and_publish": {"executed_lines": [5, 6, 8, 11, 12, 14], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_subscribe_and_publish.handler": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unsubscribe": {"executed_lines": [18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unsubscribe.handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "": {"executed_lines": [1, 4, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 4, 5, 6, 8, 9, 11, 12, 14, 17, 18, 19, 21, 24, 25, 26, 28], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/tests/test_quick_unlock_default.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_quick_unlock_default_off": {"executed_lines": [16, 17, 18], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_quick_unlock_logs_event": {"executed_lines": [22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 21], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_quick_unlock_profile_creation.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_toggle_quick_unlock_after_profile_creation": {"executed_lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_release_integrity_utils.py": {"executed_lines": [1, 3, 10, 11, 12, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 35, "num_statements": 36, "percent_covered": 97.22222222222223, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [28], "excluded_lines": [], "functions": {"test_generate_checksums_sorts_entries": {"executed_lines": [11, 12, 14, 16, 17, 18], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_checksum_line_rejects_invalid_digest": {"executed_lines": [22, 23, 24, 25, 26], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [28], "excluded_lines": []}, "test_verify_checksums_success": {"executed_lines": [32, 33, 34, 35, 36, 38, 40, 41], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_verify_checksums_detects_mismatch": {"executed_lines": [45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 21, 31, 44], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 10, 11, 12, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 35, "num_statements": 36, "percent_covered": 97.22222222222223, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [28], "excluded_lines": []}}}, "src/tests/test_restore_from_nostr_setup.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 100, 101, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 134, 135, 138, 141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154, 157, 160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 132, "num_statements": 133, "percent_covered": 99.24812030075188, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [171], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_new_seed_setup_restore_from_nostr": {"executed_lines": [34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 66, 67, 69, 70, 72, 73, 74, 75, 76], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_new_seed_setup_restore_from_nostr.finalize": {"executed_lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_new_seed_setup_restore_from_local_backup": {"executed_lines": [80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 103, 105, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_new_seed_setup_restore_from_local_backup.init_fp_mgr": {"executed_lines": [100, 101], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_handle_new_seed_setup_restore_from_local_backup.finalize": {"executed_lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_no_snapshot": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_restore_from_nostr_warns": {"executed_lines": [141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_restore_from_nostr_abort": {"executed_lines": [160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_restore_from_nostr_abort.finalize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [171], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 31, 79, 134, 138, 157], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 93, 94, 95, 97, 99, 100, 101, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 134, 135, 138, 141, 142, 144, 145, 146, 148, 149, 150, 152, 153, 154, 157, 160, 161, 163, 164, 165, 166, 168, 170, 173, 174, 176, 177, 178, 179, 180], "summary": {"covered_lines": 132, "num_statements": 133, "percent_covered": 99.24812030075188, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [171], "excluded_lines": []}}}, "src/tests/test_retrieve_pause_sensitive_entries.py": {"executed_lines": [1, 2, 4, 6, 8, 11, 20, 23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_pause_before_entry_actions": {"executed_lines": [23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 8, 11, 20], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 11, 20, 23, 25, 27, 28, 31, 32, 33, 34, 38, 39], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_search_entries.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 60, 61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75, 78, 79, 80, 81, 83, 87, 89, 90, 93, 94, 95, 96, 98, 100, 101, 104, 105, 106, 107, 109, 110, 111, 114, 115, 116, 117, 119, 121, 122, 125, 126, 127, 128, 130, 131, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_website": {"executed_lines": [23, 24, 25, 27, 28, 30, 31], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_username": {"executed_lines": [35, 36, 37, 39, 40, 42, 43], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_url": {"executed_lines": [47, 48, 49, 51, 52, 54, 55], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_notes_and_totp": {"executed_lines": [61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_custom_field": {"executed_lines": [79, 80, 81, 83, 87, 89, 90], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_key_value_value": {"executed_lines": [94, 95, 96, 98, 100, 101], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_no_results": {"executed_lines": [105, 106, 107, 109, 110, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_tag_password": {"executed_lines": [115, 116, 117, 119, 121, 122], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_by_tag_totp": {"executed_lines": [126, 127, 128, 130, 131, 133, 134], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_search_with_kind_filter": {"executed_lines": [138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 34, 46, 60, 78, 93, 104, 114, 125, 137], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 28, 30, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55, 60, 61, 62, 63, 65, 66, 67, 68, 71, 72, 74, 75, 78, 79, 80, 81, 83, 87, 89, 90, 93, 94, 95, 96, 98, 100, 101, 104, 105, 106, 107, 109, 110, 111, 114, 115, 116, 117, 119, 121, 122, 125, 126, 127, 128, 130, 131, 133, 134, 137, 138, 139, 140, 142, 143, 144, 146, 149, 151, 152], "summary": {"covered_lines": 98, "num_statements": 98, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_secret_mode.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_retrieve_secret_mode": {"executed_lines": [39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_display_secret_mode": {"executed_lines": [60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_password_retrieve_no_secret_mode": {"executed_lines": [90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_display_no_secret_mode": {"executed_lines": [112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 38, 59, 89, 111], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 69, 72, 76, 77, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 122, 125, 129, 130, 135, 136, 137, 138, 139], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_secret_mode_profile_creation.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_new_fingerprint_initializes_managers": {"executed_lines": [14, 15, 16, 17, 19, 26, 27, 30, 31, 32, 33], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_initializes_managers.fake_setup_existing_seed": {"executed_lines": [20, 21, 22, 23, 24], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_toggle_secret_mode_after_profile_creation": {"executed_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 36], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seed_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seed_phrase_determinism": {"executed_lines": [22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seed_generation.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_password_manager": {"executed_lines": [12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_bip85_and_new_seed": {"executed_lines": [29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 28], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 12, 13, 16, 17, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seed_import.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seed_encryption_round_trip": {"executed_lines": [16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seed_migration.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parent_seed_migrates_from_fernet": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seed_prompt.py": {"executed_lines": [1, 2, 3, 6, 7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68, 71, 72, 73, 74, 75, 77, 78, 81, 82, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 68, "num_statements": 72, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [12, 17, 23, 24], "excluded_lines": [], "functions": {"test_masked_input_posix_backspace": {"executed_lines": [7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34], "summary": {"covered_lines": 14, "num_statements": 18, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [12, 17, 23, 24], "excluded_lines": []}, "test_masked_input_windows_space": {"executed_lines": [38, 39, 40, 41, 43, 44, 45, 46, 47], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_masked_input_posix_ctrl_c": {"executed_lines": [51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_masked_input_windows_ctrl_c": {"executed_lines": [72, 73, 74, 75, 77, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_seed_words_valid": {"executed_lines": [82, 84, 85, 86, 88, 89, 90, 92, 93], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_seed_words_invalid_word": {"executed_lines": [97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 6, 37, 50, 71, 81, 96], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 6, 7, 8, 9, 11, 19, 20, 22, 26, 28, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 52, 53, 55, 56, 61, 62, 63, 64, 66, 67, 68, 71, 72, 73, 74, 75, 77, 78, 81, 82, 84, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 107, 108], "summary": {"covered_lines": 68, "num_statements": 72, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [12, 17, 23, 24], "excluded_lines": []}}}, "src/tests/test_seed_word_by_word_flow.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 60, 61, 62, 64, 68, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_prompt_seed_words_confirmation_loop": {"executed_lines": [13, 14, 15, 16, 18, 19, 20, 21, 23, 24], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_prompt_seed_words_invalid_word": {"executed_lines": [28, 29, 30, 31, 33, 34, 35, 36, 38, 39], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_words_flow_success": {"executed_lines": [43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 64, 68, 70, 71, 72, 73], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_words_flow_success.finalize": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_new_fingerprint_words_flow_invalid_phrase": {"executed_lines": [77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 27, 42, 76], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 60, 61, 62, 64, 68, 70, 71, 72, 73, 76, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 90, 91, 93, 94], "summary": {"covered_lines": 67, "num_statements": 67, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_seedqr_encoding.py": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_seedqr_standard_example": {"executed_lines": [10, 14, 15], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 9], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 9, 10, 14, 15], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_semantic_index.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46, 49, 50, 51, 52, 54, 55, 57, 58, 60, 61, 63, 64, 67, 68, 69, 85, 86, 91, 92, 95, 96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_semantic_index_build_and_search": {"executed_lines": [11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfig.__init__": {"executed_lines": [51, 52], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfig.set_semantic_index_enabled": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfig.get_semantic_index_enabled": {"executed_lines": [58], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfig.set_semantic_search_mode": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyConfig.get_semantic_search_mode": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyEntryManager.__init__": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyEntryManager.search_entries": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyEntryManager.retrieve_entry": {"executed_lines": [92], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_index_service_build_and_status": {"executed_lines": [96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 49, 50, 54, 57, 60, 63, 67, 68, 85, 91, 95], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_DummyConfig": {"executed_lines": [51, 52, 55, 58, 61, 64], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_DummyEntryManager": {"executed_lines": [69, 86, 92], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 11, 12, 14, 15, 39, 40, 41, 43, 44, 45, 46, 49, 50, 54, 57, 60, 63, 67, 68, 85, 91, 95, 96, 101, 102, 103, 104, 106, 107, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 122, 123, 125, 126], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_service_classes.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 102, "num_statements": 102, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FakePasswordGenerator.generate_password": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_setup_pm": {"executed_lines": [23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_add_password": {"executed_lines": [44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_handler_list_entries": {"executed_lines": [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_menu_handler_list_entries_shows_empty_message": {"executed_lines": [97, 98, 100, 101, 102, 103, 104, 105, 106], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch": {"executed_lines": [110, 111, 115, 118, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch.DummyFingerprintManager.__init__": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch.DummyFingerprintManager.list_fingerprints": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch.DummyFingerprintManager.display_name": {"executed_lines": [119], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch.DummyFingerprintManager.get_current_fingerprint_dir": {"executed_lines": [122], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 43, 79, 96, 109], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakePasswordGenerator": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profile_service_switch.DummyFingerprintManager": {"executed_lines": [112, 113, 116, 119, 122], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 68, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 115, 118, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 143, 147, 148], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_settings_menu.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53, 56, 57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96, 99, 100, 101, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126, 129, 130, 131, 132, 134, 135, 137, 138, 139, 140, 141, 143, 144, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175, 178, 179, 180, 181, 183, 186, 187, 188, 189, 191, 192, 195, 196, 197, 198, 199, 201, 202, 204, 205, 206, 208, 209, 210, 211, 213, 214, 217, 218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232, 235, 236, 237, 238, 239, 243, 244, 245, 246, 248, 249, 252, 253, 254, 255, 256, 260, 261, 262, 263, 265, 266, 269, 270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 375, 376, 377, 378, 380, 381, 383, 384, 386, 387, 389, 392, 393, 394, 396, 397, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 289, "num_statements": 291, "percent_covered": 99.3127147766323, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [184, 390], "excluded_lines": [], "functions": {"setup_pm": {"executed_lines": [28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_relay_and_profile_actions": {"executed_lines": [57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_additional_backup": {"executed_lines": [100, 101, 102, 104, 105, 106, 107, 108], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_change_password": {"executed_lines": [112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_change_password_incorrect": {"executed_lines": [130, 131, 132, 134, 137, 138, 139, 140, 141, 143, 144, 146, 147], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_change_password_incorrect.fail_change": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_without_nostr_client": {"executed_lines": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_missing_handler_is_graceful": {"executed_lines": [179, 180, 181, 183, 186, 187, 188, 189, 191, 192], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "test_settings_lock_unlock_cancelled_is_graceful": {"executed_lines": [196, 197, 198, 199, 201, 204, 205, 206, 208, 209, 210, 211, 213, 214], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_lock_unlock_cancelled_is_graceful.unlock_fail": {"executed_lines": [202], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_profiles_submenu_action_error_is_graceful": {"executed_lines": [218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_export_failure_message": {"executed_lines": [236, 237, 238, 239, 243, 244, 245, 246, 248, 249], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_import_missing_path_message": {"executed_lines": [253, 254, 255, 256, 260, 261, 262, 263, 265, 266], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_reset_nostr_sync_state": {"executed_lines": [270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_fresh_nostr_namespace": {"executed_lines": [304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_menu_dispatches_reset_sync_state": {"executed_lines": [340, 341, 342, 343, 344, 345, 346, 347, 348], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_menu_dispatches_fresh_namespace": {"executed_lines": [352, 353, 354, 355, 356, 357, 358, 359, 360], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_settings_menu_dispatches_semantic_submenu": {"executed_lines": [364, 365, 366, 367, 368, 369, 370, 371], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow": {"executed_lines": [375, 376, 380, 383, 386, 389, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.__init__": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.status": {"executed_lines": [381], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.set_enabled": {"executed_lines": [384], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.build": {"executed_lines": [387], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [390], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.set_mode": {"executed_lines": [393, 394], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_semantic_submenu_search_flow.DummySemanticService.search": {"executed_lines": [397, 398], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 56, 99, 111, 129, 150, 178, 195, 217, 235, 252, 269, 303, 339, 351, 363, 374], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_semantic_submenu_search_flow.DummySemanticService": {"executed_lines": [377, 378, 381, 384, 387, 393, 394, 397, 398], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [390], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 48, 53, 56, 57, 58, 59, 62, 65, 70, 73, 74, 75, 78, 79, 82, 83, 84, 87, 88, 89, 90, 93, 94, 95, 96, 99, 100, 101, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 123, 124, 126, 129, 130, 131, 132, 134, 135, 137, 138, 139, 140, 141, 143, 144, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 175, 178, 179, 180, 181, 183, 186, 187, 188, 189, 191, 192, 195, 196, 197, 198, 199, 201, 202, 204, 205, 206, 208, 209, 210, 211, 213, 214, 217, 218, 219, 220, 221, 222, 226, 227, 228, 229, 231, 232, 235, 236, 237, 238, 239, 243, 244, 245, 246, 248, 249, 252, 253, 254, 255, 256, 260, 261, 262, 263, 265, 266, 269, 270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 285, 286, 288, 289, 290, 292, 293, 294, 295, 296, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 309, 315, 316, 317, 318, 319, 320, 321, 322, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 375, 376, 380, 383, 386, 389, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414], "summary": {"covered_lines": 280, "num_statements": 281, "percent_covered": 99.644128113879, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}}}, "src/tests/test_ssh_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_and_retrieve_ssh_key_pair": {"executed_lines": [19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_ssh_entry_valid.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_ssh_private_key_corresponds_to_public": {"executed_lines": [17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 31, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_state_manager.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_state_manager_round_trip": {"executed_lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_stats_manager.py": {"executed_lines": [1, 2, 3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_stats_manager_reset": {"executed_lines": [8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 6], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 24, 25], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_stats_screen.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 20, 21, 22, 23, 28, 29, 30, 33, 34, 35, 36, 41, 42, 43, 46, 47, 49, 50, 52, 53, 59, 61, 64, 65, 66, 68, 70, 73, 74, 75, 76, 79, 80, 81, 82, 87, 88, 89, 90, 93, 94, 96, 97, 98, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 59, "num_statements": 60, "percent_covered": 98.33333333333333, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [71], "excluded_lines": [], "functions": {"_make_pm": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_live_stats_shows_message": {"executed_lines": [21, 22, 23, 28, 29, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_live_stats_shows_notification": {"executed_lines": [34, 35, 36, 41, 42, 43], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_live_stats_triggers_background_sync": {"executed_lines": [47, 49, 50, 52, 53, 59, 61], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_stats_display_only_once": {"executed_lines": [65, 66, 68, 70, 73, 74, 75, 76], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_stats_display_only_once.fake_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [71], "excluded_lines": []}, "test_stats_display_resets_after_exit": {"executed_lines": [80, 81, 82, 87, 88, 89, 90], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_stats_screen_breaks_on_enter": {"executed_lines": [94, 96, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_stats_screen_breaks_on_enter.display": {"executed_lines": [97, 98], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 20, 33, 46, 64, 79, 93], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 9, 12, 13, 20, 21, 22, 23, 28, 29, 30, 33, 34, 35, 36, 41, 42, 43, 46, 47, 49, 50, 52, 53, 59, 61, 64, 65, 66, 68, 70, 73, 74, 75, 76, 79, 80, 81, 82, 87, 88, 89, 90, 93, 94, 96, 97, 98, 100, 101, 103, 104, 106, 108], "summary": {"covered_lines": 59, "num_statements": 60, "percent_covered": 98.33333333333333, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [71], "excluded_lines": []}}}, "src/tests/test_sync_race_conditions.py": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 42, 44, 45, 46, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 69, "num_statements": 76, "percent_covered": 90.78947368421052, "percent_covered_display": "91", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [49, 79, 80, 81, 82, 83, 84], "excluded_lines": [], "functions": {"_init_pm": {"executed_lines": [15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_race_conditions": {"executed_lines": [35, 37, 38, 39, 40, 42, 44, 45, 48, 51, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_race_conditions.DummyKeys.private_key_hex": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_race_conditions.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "test_sync_race_conditions.DummyKeyManager.__init__": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_sync_race_conditions.publish": {"executed_lines": [75, 76, 77, 78], "summary": {"covered_lines": 4, "num_statements": 10, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 84], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 34], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_sync_race_conditions.DummyKeys": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "test_sync_race_conditions.DummyKeyManager": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 40, 42, 44, 45, 48, 51, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 86, 87, 88, 89, 90, 91, 93, 95, 96, 97, 98], "summary": {"covered_lines": 67, "num_statements": 73, "percent_covered": 91.78082191780823, "percent_covered_display": "92", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 84], "excluded_lines": []}}}, "src/tests/test_tag_persistence.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 30, 32, 33, 36, 37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"setup_entry_manager": {"executed_lines": [16, 17, 18, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tags_persist_on_new_entry": {"executed_lines": [23, 24, 25, 27, 30, 32, 33], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tags_persist_after_modify": {"executed_lines": [37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 22, 36], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 27, 30, 32, 33, 36, 37, 38, 39, 41, 42, 45, 50, 51, 52], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_terminal_utils_display.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 27, 34, 35, 39, 42, 43, 44, 45, 47, 51, 52, 56, 59, 62, 68, 69, 70, 76, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94, 97, 98, 103, 104, 109, 110, 113, 114, 119, 123], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_NamedFingerprintManager.get_name": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_format_profile_returns_custom_name": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_format_profile_returns_raw_when_name_missing": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_clear_and_print_fingerprint_parent_child_breadcrumb": {"executed_lines": [23, 24, 25, 27, 34, 35, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_clear_and_print_profile_chain_with_breadcrumb": {"executed_lines": [43, 44, 45, 47, 51, 52, 56], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_clear_header_with_notification_invalid_level_falls_back_to_info": {"executed_lines": [62, 68, 69, 70, 76, 78, 79, 80], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_clear_header_with_notification_handles_queue_empty": {"executed_lines": [84, 88, 89, 91, 93, 94], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pause_returns_early_when_not_tty": {"executed_lines": [98, 103, 104, 109, 110], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pause_swallows_eoferror": {"executed_lines": [114, 119, 123], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 12, 17, 22, 42, 59, 83, 97, 113], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"_NamedFingerprintManager": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 12, 13, 14, 17, 18, 19, 22, 23, 24, 25, 27, 34, 35, 39, 42, 43, 44, 45, 47, 51, 52, 56, 59, 62, 68, 69, 70, 76, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94, 97, 98, 103, 104, 109, 110, 113, 114, 119, 123], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_terminal_utils_failure_handling.py": {"executed_lines": [1, 3, 4, 6, 12, 13, 14, 17, 18, 20, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [13, 14, 20, 21], "functions": {"ErrorFingerprintManager.get_name": {"executed_lines": [14], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [14]}, "ErrorPM.get_current_notification": {"executed_lines": [21], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [21]}, "test_format_profile_reraises": {"executed_lines": [25, 26, 27, 28, 29], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_clear_header_with_notification_reraises": {"executed_lines": [33, 34, 35, 36, 37], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 12, 13, 17, 18, 20, 24, 32], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [13, 20]}}, "classes": {"ErrorFingerprintManager": {"executed_lines": [14], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [14]}, "ErrorPM": {"executed_lines": [21], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [21]}, "": {"executed_lines": [1, 3, 4, 6, 12, 13, 17, 18, 20, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [13, 20]}}}, "src/tests/test_totp.py": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_current_code_matches_pyotp": {"executed_lines": [15, 16, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_time_remaining": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_print_progress_bar_terminates": {"executed_lines": [26, 27, 28, 29, 30], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 20, 21, 25], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_totp_entry.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_add_totp_and_get_code": {"executed_lines": [21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_totp_time_remaining": {"executed_lines": [46, 47, 48, 49, 50, 52, 54, 55, 56], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_totp_imported": {"executed_lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_totp_with_notes": {"executed_lines": [74, 75, 76, 77, 79, 80, 81], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_deterministic_entry": {"executed_lines": [85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 45, 59, 73, 84], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_totp_uri.py": {"executed_lines": [1, 2, 4, 6, 8, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 33, 34, 35, 36, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_otpauth_normal": {"executed_lines": [14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_otpauth_missing_prefix": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_otpauth_missing_secret": {"executed_lines": [34, 35, 36], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_make_otpauth_uri_roundtrip": {"executed_lines": [43, 44, 45, 46, 47], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 6, 8, 13, 25, 33, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 8, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 33, 34, 35, 36, 42, 43, 44, 45, 46, 47], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_action_matrix.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 85, 86, 88, 90, 97, 98, 107, 109, 119, 120, 121, 130, 132, 135, 136, 137, 145, 147, 157, 158, 159, 168, 170, 173, 174, 175, 183, 185, 194, 195, 196, 204, 206, 209, 210, 211, 219, 221, 229, 230, 231, 232, 233, 240, 242, 245, 246, 247, 254, 256, 282, 283, 284, 285, 286, 287, 288, 290, 291, 293, 297, 306, 310, 311, 312, 314, 321, 328, 335, 336, 338, 339, 341, 342, 343, 345, 346, 347, 348, 350, 351, 353, 355, 356, 357, 358, 360, 368, 369, 374, 377, 378, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775, 778, 779, 780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "summary": {"covered_lines": 464, "num_statements": 517, "percent_covered": 89.74854932301741, "percent_covered_display": "90", "missing_lines": 53, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398, 729, 731], "excluded_lines": [], "functions": {"MatrixEntryService.__init__": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService._next_id": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.search_entries": {"executed_lines": [56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 69], "excluded_lines": []}, "MatrixEntryService.retrieve_entry": {"executed_lines": [86, 88], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [87], "excluded_lines": []}, "MatrixEntryService.add_entry": {"executed_lines": [97, 98, 107], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_totp": {"executed_lines": [119, 120, 121, 130], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_key_value": {"executed_lines": [135, 136, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_document": {"executed_lines": [157, 158, 159, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_ssh_key": {"executed_lines": [173, 174, 175, 183], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_pgp_key": {"executed_lines": [194, 195, 196, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_nostr_key": {"executed_lines": [209, 210, 211, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_seed": {"executed_lines": [229, 230, 231, 232, 233, 240], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_managed_account": {"executed_lines": [245, 246, 247, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280], "excluded_lines": []}, "MatrixEntryService.modify_entry": {"executed_lines": [283, 284, 285, 286, 287, 288], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.generate_password": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [294, 295], "excluded_lines": []}, "MatrixEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [298, 299], "excluded_lines": []}, "MatrixEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [307, 308], "excluded_lines": []}, "MatrixEntryService.get_totp_code": {"executed_lines": [311, 312], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [315, 316], "excluded_lines": []}, "MatrixEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [322, 323], "excluded_lines": []}, "MatrixEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [329, 330], "excluded_lines": []}, "MatrixEntryService.get_secret_mode_enabled": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_clipboard_clear_delay": {"executed_lines": [339], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.copy_to_clipboard": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.archive_entry": {"executed_lines": [346, 347, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.restore_entry": {"executed_lines": [351, 353], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [352], "excluded_lines": []}, "MatrixEntryService.get_links": {"executed_lines": [356, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_link": {"executed_lines": [368, 369], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [370, 371, 372], "excluded_lines": []}, "MatrixEntryService.remove_link": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 12, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "excluded_lines": []}, "MatrixEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [391, 392, 393, 394, 395], "excluded_lines": []}, "MatrixEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [398], "excluded_lines": []}, "_build_app": {"executed_lines": [402, 404, 407, 411, 412, 413, 414], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [405], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status": {"executed_lines": [418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success": {"executed_lines": [423, 424, 426, 432, 433, 434, 435, 436, 437, 438, 442, 443], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success._factory": {"executed_lines": [427, 428, 429, 430], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_service_unavailable_and_no_retry": {"executed_lines": [448, 449, 450, 451, 454, 455, 456], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_actions_palette_events_and_guards": {"executed_lines": [461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775], "summary": {"covered_lines": 260, "num_statements": 262, "percent_covered": 99.23664122137404, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [729, 731], "excluded_lines": []}, "test_tui2_matrix_failure_paths_and_retry": {"executed_lines": [780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 417, 421, 422, 446, 447, 459, 460, 778, 779], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MatrixEntryService": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 86, 88, 97, 98, 107, 119, 120, 121, 130, 135, 136, 137, 145, 157, 158, 159, 168, 173, 174, 175, 183, 194, 195, 196, 204, 209, 210, 211, 219, 229, 230, 231, 232, 233, 240, 245, 246, 247, 254, 283, 284, 285, 286, 287, 288, 291, 311, 312, 336, 339, 342, 343, 346, 347, 348, 351, 353, 356, 357, 358, 368, 369, 377, 378], "summary": {"covered_lines": 96, "num_statements": 147, "percent_covered": 65.3061224489796, "percent_covered_display": "65", "missing_lines": 51, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 263, 264, 265, 266, 267, 268, 269, 270, 271, 273, 274, 275, 277, 278, 279, 280, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 659, 661, 662, 663, 666, 667, 668, 669, 670, 671, 673, 674, 675, 676, 677, 678, 680, 681, 682, 683, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 705, 706, 707, 708, 709, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 733, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, 747, 748, 750, 753, 756, 759, 762, 765, 767, 768, 769, 770, 771, 772, 774, 775, 778, 779, 780, 791, 792, 793, 794, 795, 796, 798, 799, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 814, 815, 816, 817, 818, 819], "summary": {"covered_lines": 368, "num_statements": 370, "percent_covered": 99.45945945945945, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [729, 731], "excluded_lines": []}}}, "src/tests/test_tui_v2_exploratory_walkthrough.py": {"executed_lines": [1, 9, 11, 12, 13, 15, 17, 18, 20, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 70, 72, 73, 74, 79, 81, 82, 83, 87, 89, 90, 91, 95, 97, 98, 99, 104, 106, 107, 108, 113, 115, 116, 117, 121, 123, 124, 125, 126, 127, 131, 133, 134, 135, 140, 142, 153, 154, 155, 156, 157, 159, 162, 165, 168, 171, 174, 182, 186, 190, 194, 197, 200, 204, 205, 207, 208, 210, 211, 213, 214, 215, 216, 218, 224, 225, 227, 229, 230, 233, 234, 235, 236, 237, 238, 239, 241, 242, 244, 250, 256, 261, 265, 266, 267, 268, 269, 270, 271, 272, 273, 275, 279, 282, 295, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 308, 309, 310, 311, 312, 313, 315, 316, 318, 320, 326, 329, 338, 339, 340, 341, 342, 343, 345, 346, 348, 352, 357, 360, 364, 368, 369, 370, 372, 380, 384, 385, 386, 387, 389, 392, 396, 397, 398, 399, 401, 404, 407, 410, 413, 417, 420, 426, 427, 428, 430, 431, 433, 444, 445, 448, 449, 452, 453, 456, 457, 460, 464, 465, 466, 472, 473, 475, 477, 479, 480, 483, 484, 485, 487, 489, 490, 494, 495, 496, 498, 500, 504, 505, 506, 510, 511, 512, 516, 517, 518, 522, 523, 524, 528, 529, 530, 534, 535, 536, 540, 541, 542, 546, 547, 550, 553, 554, 556, 558, 560, 561, 564, 565, 566, 569, 570, 571, 575, 576, 577, 578, 580, 584, 585, 586, 590, 591, 592, 594, 596, 602, 603, 604, 607, 610, 611, 613, 615, 617, 618, 620, 621, 622, 623, 626, 627, 628, 632, 633, 634, 638, 639, 640, 644, 647, 648, 649, 650, 653, 656, 657, 659, 661, 663, 664, 667, 668, 669, 670, 671, 675, 676, 677, 684, 688, 689, 692, 695, 696, 698, 701, 702, 704, 706, 707, 710, 711, 715, 716, 717, 719, 720, 724, 725, 726, 730, 731, 732, 736, 737, 738, 740, 741, 744, 747, 748, 750, 753, 755, 757, 758, 759, 762, 763, 764, 767, 768, 772, 773, 774, 776, 777, 780, 783, 784, 786, 792, 794, 796, 797, 799, 800, 804, 805, 806, 810, 811, 812, 816, 817, 818, 821, 824, 825, 827, 831, 833, 835, 836, 837, 840, 841, 842, 848, 849, 850, 854, 857, 858, 860, 870, 871, 873, 875, 876, 878, 879, 880, 881, 882, 885, 889, 890, 893, 894, 895, 899, 903, 904, 908, 911, 912, 914, 916, 918, 919, 922, 923, 924, 928, 929, 933, 934, 935, 939, 940, 941, 945, 946, 947, 951, 952, 953, 958, 959, 960, 964, 965, 966, 967, 971, 972, 973, 976, 979, 980, 982, 986, 988, 990, 991, 993, 994, 998, 999, 1000, 1004, 1005, 1006, 1009, 1012, 1013, 1015, 1017, 1019, 1020, 1023, 1024, 1028, 1029, 1030, 1032, 1036, 1037, 1038, 1042, 1043, 1044, 1045, 1049, 1052, 1053, 1054, 1058, 1062, 1063, 1067, 1068, 1069, 1072], "summary": {"covered_lines": 509, "num_statements": 678, "percent_covered": 75.07374631268436, "percent_covered_display": "75", "missing_lines": 169, "excluded_lines": 0}, "missing_lines": [143, 144, 145, 146, 147, 148, 149, 150, 151, 160, 163, 166, 169, 172, 175, 176, 177, 178, 179, 180, 183, 184, 187, 188, 191, 192, 195, 198, 201, 202, 219, 220, 221, 222, 226, 245, 246, 247, 248, 251, 252, 253, 254, 257, 258, 259, 262, 276, 277, 280, 283, 284, 285, 286, 287, 288, 289, 290, 292, 321, 322, 323, 324, 327, 330, 331, 332, 333, 334, 335, 349, 350, 353, 354, 355, 358, 361, 362, 365, 373, 375, 376, 378, 381, 390, 393, 402, 405, 408, 411, 414, 415, 418, 421, 461, 486, 488, 491, 497, 499, 501, 507, 513, 519, 525, 531, 537, 543, 548, 572, 579, 581, 587, 597, 598, 605, 629, 635, 641, 651, 672, 679, 680, 681, 685, 690, 712, 718, 721, 727, 733, 739, 742, 765, 769, 775, 778, 801, 807, 813, 819, 844, 845, 851, 886, 896, 900, 905, 906, 925, 936, 942, 948, 955, 961, 968, 974, 995, 1001, 1007, 1025, 1031, 1033, 1039, 1046, 1055, 1059, 1064, 1070], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [28, 29, 30, 33, 34, 35, 36, 37], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService._next_id": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_entry": {"executed_lines": [65, 66, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_totp": {"executed_lines": [73, 74, 79], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_key_value": {"executed_lines": [82, 83, 87], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_document": {"executed_lines": [90, 91, 95], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_ssh_key": {"executed_lines": [98, 99, 104], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_pgp_key": {"executed_lines": [107, 108, 113], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_nostr_key": {"executed_lines": [116, 117, 121], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_seed": {"executed_lines": [124, 125, 126, 127, 131], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_managed_account": {"executed_lines": [134, 135, 140], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [143, 144, 145, 146, 147, 148, 149, 150, 151], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [154, 155, 156, 157], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [160], "excluded_lines": []}, "FakeEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [163], "excluded_lines": []}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [166], "excluded_lines": []}, "FakeEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [169], "excluded_lines": []}, "FakeEntryService.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [172], "excluded_lines": []}, "FakeEntryService.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [175, 176, 177, 178, 179, 180], "excluded_lines": []}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [183, 184], "excluded_lines": []}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [187, 188], "excluded_lines": []}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [191, 192], "excluded_lines": []}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [195], "excluded_lines": []}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [198], "excluded_lines": []}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [201, 202], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [205], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [208], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [211], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [214, 215, 216], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [219, 220, 221, 222], "excluded_lines": []}, "FakeEntryService.load_managed_account": {"executed_lines": [225, 227], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [226], "excluded_lines": []}, "FakeEntryService.exit_managed_account": {"executed_lines": [230], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.__init__": {"executed_lines": [235, 236, 237, 238, 239], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.list_profiles": {"executed_lines": [242], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.switch_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [245, 246, 247, 248], "excluded_lines": []}, "FakeProfileService.add_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [251, 252, 253, 254], "excluded_lines": []}, "FakeProfileService.remove_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [257, 258, 259], "excluded_lines": []}, "FakeProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [262], "excluded_lines": []}, "FakeConfigService.__init__": {"executed_lines": [267, 268, 269, 270, 271, 272, 273], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [276, 277], "excluded_lines": []}, "FakeConfigService.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [280], "excluded_lines": []}, "FakeConfigService.set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [283, 284, 285, 286, 287, 288, 289, 290, 292], "excluded_lines": []}, "FakeVaultService.__init__": {"executed_lines": [297, 298, 299, 300, 301, 302], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.lock": {"executed_lines": [305, 306], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.unlock": {"executed_lines": [309, 310, 311, 312, 313, 315, 316, 318], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [321, 322, 323, 324], "excluded_lines": []}, "FakeVaultService.import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [327], "excluded_lines": []}, "FakeVaultService.backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [330, 331, 332, 333, 334, 335], "excluded_lines": []}, "FakeSemanticService.__init__": {"executed_lines": [340, 341, 342, 343], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.status": {"executed_lines": [346], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.set_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [349, 350], "excluded_lines": []}, "FakeSemanticService.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [353, 354, 355], "excluded_lines": []}, "FakeSemanticService.rebuild": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [358], "excluded_lines": []}, "FakeSemanticService.set_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [361, 362], "excluded_lines": []}, "FakeSemanticService.search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [365], "excluded_lines": []}, "FakeSyncService.__init__": {"executed_lines": [370], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [373, 375, 376, 378], "excluded_lines": []}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [381], "excluded_lines": []}, "FakeUtilityService.__init__": {"executed_lines": [386, 387], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [390], "excluded_lines": []}, "FakeUtilityService.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [393], "excluded_lines": []}, "FakeNostrService.__init__": {"executed_lines": [398, 399], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [402], "excluded_lines": []}, "FakeNostrService.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [405], "excluded_lines": []}, "FakeNostrService.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [408], "excluded_lines": []}, "FakeNostrService.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [411], "excluded_lines": []}, "FakeNostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [414, 415], "excluded_lines": []}, "FakeNostrService.reset_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [418], "excluded_lines": []}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [421], "excluded_lines": []}, "_build_full_app": {"executed_lines": [427, 428, 430, 433, 444, 445], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_full_app._hook": {"executed_lines": [431], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_t": {"executed_lines": [449], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_detail": {"executed_lines": [453], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status": {"executed_lines": [457], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [461], "excluded_lines": []}, "_cmd": {"executed_lines": [465, 466], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_walkthrough_create_all_entry_types_and_inspect": {"executed_lines": [475, 477, 479, 480, 483, 484, 485, 487, 489, 490, 494, 495, 496, 498, 500, 504, 505, 506, 510, 511, 512, 516, 517, 518, 522, 523, 524, 528, 529, 530, 534, 535, 536, 540, 541, 542, 546, 547, 550], "summary": {"covered_lines": 39, "num_statements": 53, "percent_covered": 73.58490566037736, "percent_covered_display": "74", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [486, 488, 491, 497, 499, 501, 507, 513, 519, 525, 531, 537, 543, 548], "excluded_lines": []}, "test_walkthrough_edit_and_metadata_flow": {"executed_lines": [556, 558, 560, 561, 564, 565, 566, 569, 570, 571, 575, 576, 577, 578, 580, 584, 585, 586, 590, 591, 592, 594, 596, 602, 603, 604, 607], "summary": {"covered_lines": 27, "num_statements": 34, "percent_covered": 79.41176470588235, "percent_covered_display": "79", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [572, 579, 581, 587, 597, 598, 605], "excluded_lines": []}, "test_walkthrough_archive_filter_cycle": {"executed_lines": [613, 615, 617, 618, 620, 621, 622, 623, 626, 627, 628, 632, 633, 634, 638, 639, 640, 644, 647, 648, 649, 650, 653], "summary": {"covered_lines": 23, "num_statements": 27, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [629, 635, 641, 651], "excluded_lines": []}, "test_walkthrough_managed_session_lifecycle": {"executed_lines": [659, 661, 663, 664, 667, 668, 669, 670, 671, 675, 676, 677, 684, 688, 689, 692], "summary": {"covered_lines": 16, "num_statements": 22, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [672, 679, 680, 681, 685, 690], "excluded_lines": []}, "test_walkthrough_vault_lock_unlock": {"executed_lines": [698, 701, 702, 704, 706, 707, 710, 711, 715, 716, 717, 719, 720, 724, 725, 726, 730, 731, 732, 736, 737, 738, 740, 741, 744], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [712, 718, 721, 727, 733, 739, 742], "excluded_lines": []}, "test_walkthrough_density_modes": {"executed_lines": [750, 753, 755, 757, 758, 759, 762, 763, 764, 767, 768, 772, 773, 774, 776, 777, 780], "summary": {"covered_lines": 17, "num_statements": 21, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [765, 769, 775, 778], "excluded_lines": []}, "test_walkthrough_kind_filter": {"executed_lines": [786, 792, 794, 796, 797, 799, 800, 804, 805, 806, 810, 811, 812, 816, 817, 818, 821], "summary": {"covered_lines": 17, "num_statements": 21, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [801, 807, 813, 819], "excluded_lines": []}, "test_walkthrough_links_between_entries": {"executed_lines": [827, 831, 833, 835, 836, 837, 840, 841, 842, 848, 849, 850, 854], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [844, 845, 851], "excluded_lines": []}, "test_walkthrough_card_frame_rendering": {"executed_lines": [860, 870, 871, 873, 875, 876, 878, 879, 880, 881, 882, 885, 889, 890, 893, 894, 895, 899, 903, 904, 908], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [886, 896, 900, 905, 906], "excluded_lines": []}, "test_walkthrough_edge_cases_and_error_handling": {"executed_lines": [914, 916, 918, 919, 922, 923, 924, 928, 929, 933, 934, 935, 939, 940, 941, 945, 946, 947, 951, 952, 953, 958, 959, 960, 964, 965, 966, 967, 971, 972, 973, 976], "summary": {"covered_lines": 32, "num_statements": 40, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [925, 936, 942, 948, 955, 961, 968, 974], "excluded_lines": []}, "test_walkthrough_search_flow": {"executed_lines": [982, 986, 988, 990, 991, 993, 994, 998, 999, 1000, 1004, 1005, 1006, 1009], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [995, 1001, 1007], "excluded_lines": []}, "test_walkthrough_full_user_journey": {"executed_lines": [1015, 1017, 1019, 1020, 1023, 1024, 1028, 1029, 1030, 1032, 1036, 1037, 1038, 1042, 1043, 1044, 1045, 1049, 1052, 1053, 1054, 1058, 1062, 1063, 1067, 1068, 1069, 1072], "summary": {"covered_lines": 28, "num_statements": 37, "percent_covered": 75.67567567567568, "percent_covered_display": "76", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1025, 1031, 1033, 1039, 1046, 1055, 1059, 1064, 1070], "excluded_lines": []}, "": {"executed_lines": [1, 9, 11, 12, 13, 15, 17, 18, 20, 26, 27, 39, 42, 61, 64, 72, 81, 89, 97, 106, 115, 123, 133, 142, 153, 159, 162, 165, 168, 171, 174, 182, 186, 190, 194, 197, 200, 204, 207, 210, 213, 218, 224, 229, 233, 234, 241, 244, 250, 256, 261, 265, 266, 275, 279, 282, 295, 296, 304, 308, 320, 326, 329, 338, 339, 345, 348, 352, 357, 360, 364, 368, 369, 372, 380, 384, 385, 389, 392, 396, 397, 401, 404, 407, 410, 413, 417, 420, 426, 448, 452, 456, 460, 464, 472, 473, 553, 554, 610, 611, 656, 657, 695, 696, 747, 748, 783, 784, 824, 825, 857, 858, 911, 912, 979, 980, 1012, 1013], "summary": {"covered_lines": 117, "num_statements": 117, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [28, 29, 30, 33, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 65, 66, 70, 73, 74, 79, 82, 83, 87, 90, 91, 95, 98, 99, 104, 107, 108, 113, 116, 117, 121, 124, 125, 126, 127, 131, 134, 135, 140, 154, 155, 156, 157, 205, 208, 211, 214, 215, 216, 225, 227, 230], "summary": {"covered_lines": 69, "num_statements": 104, "percent_covered": 66.34615384615384, "percent_covered_display": "66", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [143, 144, 145, 146, 147, 148, 149, 150, 151, 160, 163, 166, 169, 172, 175, 176, 177, 178, 179, 180, 183, 184, 187, 188, 191, 192, 195, 198, 201, 202, 219, 220, 221, 222, 226], "excluded_lines": []}, "FakeProfileService": {"executed_lines": [235, 236, 237, 238, 239, 242], "summary": {"covered_lines": 6, "num_statements": 18, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [245, 246, 247, 248, 251, 252, 253, 254, 257, 258, 259, 262], "excluded_lines": []}, "FakeConfigService": {"executed_lines": [267, 268, 269, 270, 271, 272, 273], "summary": {"covered_lines": 7, "num_statements": 19, "percent_covered": 36.8421052631579, "percent_covered_display": "37", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [276, 277, 280, 283, 284, 285, 286, 287, 288, 289, 290, 292], "excluded_lines": []}, "FakeVaultService": {"executed_lines": [297, 298, 299, 300, 301, 302, 305, 306, 309, 310, 311, 312, 313, 315, 316, 318], "summary": {"covered_lines": 16, "num_statements": 27, "percent_covered": 59.25925925925926, "percent_covered_display": "59", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [321, 322, 323, 324, 327, 330, 331, 332, 333, 334, 335], "excluded_lines": []}, "FakeVaultService.unlock._R": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService": {"executed_lines": [340, 341, 342, 343, 346], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [349, 350, 353, 354, 355, 358, 361, 362, 365], "excluded_lines": []}, "FakeSyncService": {"executed_lines": [370], "summary": {"covered_lines": 1, "num_statements": 6, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [373, 375, 376, 378, 381], "excluded_lines": []}, "FakeSyncService.sync._R": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService": {"executed_lines": [386, 387], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [390, 393], "excluded_lines": []}, "FakeNostrService": {"executed_lines": [398, 399], "summary": {"covered_lines": 2, "num_statements": 10, "percent_covered": 20.0, "percent_covered_display": "20", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [402, 405, 408, 411, 414, 415, 418, 421], "excluded_lines": []}, "": {"executed_lines": [1, 9, 11, 12, 13, 15, 17, 18, 20, 26, 27, 39, 42, 61, 64, 72, 81, 89, 97, 106, 115, 123, 133, 142, 153, 159, 162, 165, 168, 171, 174, 182, 186, 190, 194, 197, 200, 204, 207, 210, 213, 218, 224, 229, 233, 234, 241, 244, 250, 256, 261, 265, 266, 275, 279, 282, 295, 296, 304, 308, 320, 326, 329, 338, 339, 345, 348, 352, 357, 360, 364, 368, 369, 372, 380, 384, 385, 389, 392, 396, 397, 401, 404, 407, 410, 413, 417, 420, 426, 427, 428, 430, 431, 433, 444, 445, 448, 449, 452, 453, 456, 457, 460, 464, 465, 466, 472, 473, 475, 477, 479, 480, 483, 484, 485, 487, 489, 490, 494, 495, 496, 498, 500, 504, 505, 506, 510, 511, 512, 516, 517, 518, 522, 523, 524, 528, 529, 530, 534, 535, 536, 540, 541, 542, 546, 547, 550, 553, 554, 556, 558, 560, 561, 564, 565, 566, 569, 570, 571, 575, 576, 577, 578, 580, 584, 585, 586, 590, 591, 592, 594, 596, 602, 603, 604, 607, 610, 611, 613, 615, 617, 618, 620, 621, 622, 623, 626, 627, 628, 632, 633, 634, 638, 639, 640, 644, 647, 648, 649, 650, 653, 656, 657, 659, 661, 663, 664, 667, 668, 669, 670, 671, 675, 676, 677, 684, 688, 689, 692, 695, 696, 698, 701, 702, 704, 706, 707, 710, 711, 715, 716, 717, 719, 720, 724, 725, 726, 730, 731, 732, 736, 737, 738, 740, 741, 744, 747, 748, 750, 753, 755, 757, 758, 759, 762, 763, 764, 767, 768, 772, 773, 774, 776, 777, 780, 783, 784, 786, 792, 794, 796, 797, 799, 800, 804, 805, 806, 810, 811, 812, 816, 817, 818, 821, 824, 825, 827, 831, 833, 835, 836, 837, 840, 841, 842, 848, 849, 850, 854, 857, 858, 860, 870, 871, 873, 875, 876, 878, 879, 880, 881, 882, 885, 889, 890, 893, 894, 895, 899, 903, 904, 908, 911, 912, 914, 916, 918, 919, 922, 923, 924, 928, 929, 933, 934, 935, 939, 940, 941, 945, 946, 947, 951, 952, 953, 958, 959, 960, 964, 965, 966, 967, 971, 972, 973, 976, 979, 980, 982, 986, 988, 990, 991, 993, 994, 998, 999, 1000, 1004, 1005, 1006, 1009, 1012, 1013, 1015, 1017, 1019, 1020, 1023, 1024, 1028, 1029, 1030, 1032, 1036, 1037, 1038, 1042, 1043, 1044, 1045, 1049, 1052, 1053, 1054, 1058, 1062, 1063, 1067, 1068, 1069, 1072], "summary": {"covered_lines": 401, "num_statements": 476, "percent_covered": 84.24369747899159, "percent_covered_display": "84", "missing_lines": 75, "excluded_lines": 0}, "missing_lines": [461, 486, 488, 491, 497, 499, 501, 507, 513, 519, 525, 531, 537, 543, 548, 572, 579, 581, 587, 597, 598, 605, 629, 635, 641, 651, 672, 679, 680, 681, 685, 690, 712, 718, 721, 727, 733, 739, 742, 765, 769, 775, 778, 801, 807, 813, 819, 844, 845, 851, 886, 896, 900, 905, 906, 925, 936, 942, 948, 955, 961, 968, 974, 995, 1001, 1007, 1025, 1031, 1033, 1039, 1046, 1055, 1059, 1064, 1070], "excluded_lines": []}}}, "src/tests/test_tui_v2_helpers.py": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_palette_command_ok": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_empty": {"executed_lines": [20, 21], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_unbalanced_quotes": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_normalizes_page": {"executed_lines": [30, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_empty": {"executed_lines": [40, 43, 44, 45, 46], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_rejects_nonpositive_page_size": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_no_content": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_truncates_content": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_render_qr_ascii_nonempty": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_large_vault_sizes": {"executed_lines": [75, 76, 79, 80, 81], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 13, 19, 24, 29, 39, 49, 54, 59, 65, 72, 73], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_kb_scale_stress.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 69, 71, 74, 78, 82, 83, 85, 86, 88, 89, 90, 91, 92, 95, 96, 99, 100, 107, 108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "summary": {"covered_lines": 76, "num_statements": 82, "percent_covered": 92.6829268292683, "percent_covered_display": "93", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [52, 54, 72, 75, 76, 79], "excluded_lines": [], "functions": {"LargeKbService.__init__": {"executed_lines": [16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LargeKbService.search_entries": {"executed_lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 69], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [52, 54], "excluded_lines": []}, "LargeKbService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [72], "excluded_lines": []}, "LargeKbService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "LargeKbService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [79], "excluded_lines": []}, "_build_app": {"executed_lines": [83, 85, 88, 89, 90, 91, 92], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_filters": {"executed_lines": [96], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_kb_large_index_navigation": {"executed_lines": [108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 35, 71, 74, 78, 82, 95, 99, 100, 107], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LargeKbService": {"executed_lines": [16, 17, 18, 19, 26, 27, 28, 30, 31, 32, 33, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 69], "summary": {"covered_lines": 27, "num_statements": 33, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [52, 54, 72, 75, 76, 79], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 35, 71, 74, 78, 82, 83, 85, 86, 88, 89, 90, 91, 92, 95, 96, 99, 100, 107, 108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_large_vault_validation.py": {"executed_lines": [1, 3, 5, 7, 10, 11, 14, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 54, 62, 66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [33], "excluded_lines": [], "functions": {"_deterministic_labels": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_large_vault_pagination_validation": {"executed_lines": [23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 95.83333333333333, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [33], "excluded_lines": []}, "test_large_document_detail_truncation_validation": {"executed_lines": [66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 14, 21, 54, 62], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 11, 14, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 54, 62, 66, 75, 76, 77, 78, 79, 80, 82], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [33], "excluded_lines": []}}}, "src/tests/test_tui_v2_parity_scenarios.py": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 44, 54, 56, 57, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 164, 165, 166, 169, 171, 172, 173, 174, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 81, "num_statements": 111, "percent_covered": 72.97297297297297, "percent_covered_display": "73", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [38, 40, 43, 60, 61, 62, 63, 64, 67, 70, 73, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 160, 161, 175, 177, 178, 179], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [15, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 44, 54], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [38, 40, 43], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [67], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [70], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [83, 84, 85], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "_build_app": {"executed_lines": [103, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [106], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [120, 121, 122, 123], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [127], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_filters_cover_all_entry_kinds": {"executed_lines": [132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [160, 161], "excluded_lines": []}, "test_tui2_parity_archive_restore_roundtrip_non_document": {"executed_lines": [166, 169, 171, 172, 173, 174], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [175, 177, 178, 179], "excluded_lines": []}, "test_tui2_parity_edit_document_guard_for_non_document": {"executed_lines": [184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 115, 119, 126, 130, 131, 164, 165, 182, 183], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 44, 54, 57], "summary": {"covered_lines": 17, "num_statements": 41, "percent_covered": 41.46341463414634, "percent_covered_display": "41", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [38, 40, 43, 60, 61, 62, 63, 64, 67, 70, 73, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 164, 165, 166, 169, 171, 172, 173, 174, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 64, "num_statements": 70, "percent_covered": 91.42857142857143, "percent_covered_display": "91", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [160, 161, 175, 177, 178, 179], "excluded_lines": []}}}, "src/tests/test_tui_v2_textual_interactions.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 31, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 70, 71, 73, 80, 81, 90, 92, 101, 102, 103, 112, 114, 115, 116, 124, 126, 127, 128, 136, 138, 141, 142, 143, 151, 153, 162, 163, 164, 172, 174, 177, 178, 179, 187, 189, 197, 198, 199, 200, 201, 208, 210, 213, 214, 215, 222, 224, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 250, 251, 252, 253, 255, 257, 258, 260, 261, 262, 264, 265, 266, 273, 274, 275, 277, 278, 279, 281, 282, 283, 284, 285, 292, 294, 295, 296, 301, 308, 309, 310, 315, 316, 318, 319, 321, 322, 323, 325, 328, 331, 332, 334, 342, 343, 350, 352, 355, 356, 357, 363, 364, 366, 367, 368, 369, 371, 373, 374, 377, 378, 379, 380, 381, 382, 383, 385, 386, 388, 389, 390, 391, 393, 395, 396, 397, 398, 399, 401, 402, 403, 405, 406, 408, 409, 410, 412, 414, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 431, 432, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 456, 457, 458, 459, 460, 462, 463, 465, 466, 468, 469, 471, 473, 474, 476, 478, 479, 480, 482, 483, 485, 486, 487, 490, 491, 492, 495, 496, 497, 498, 500, 501, 502, 504, 505, 508, 509, 510, 511, 513, 514, 516, 517, 520, 521, 522, 523, 524, 525, 526, 527, 529, 530, 531, 532, 533, 535, 536, 537, 539, 540, 541, 542, 543, 544, 545, 546, 548, 549, 550, 552, 553, 554, 555, 556, 557, 559, 560, 562, 565, 566, 567, 568, 569, 570, 571, 573, 574, 581, 582, 583, 585, 586, 587, 588, 590, 591, 592, 593, 595, 596, 597, 599, 607, 608, 609, 610, 612, 623, 634, 636, 637, 639, 664, 665, 666, 667, 670, 671, 674, 675, 678, 679, 682, 683, 684, 685, 686, 687, 690, 691, 692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722, 725, 726, 727, 733, 735, 736, 737, 738, 739, 740, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 774, 775, 776, 782, 784, 785, 786, 787, 797, 798, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816, 819, 820, 821, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 846, 847, 848, 849, 850, 852, 853, 854, 857, 858, 859, 871, 873, 874, 875, 876, 877, 878, 880, 881, 882, 883, 884, 885, 886, 892, 893, 895, 896, 897, 898, 899, 902, 903, 904, 917, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 941, 942, 945, 946, 947, 960, 962, 963, 964, 965, 966, 968, 969, 970, 971, 973, 974, 975, 977, 978, 979, 980, 983, 984, 985, 998, 1000, 1001, 1002, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 1018, 1021, 1022, 1023, 1029, 1031, 1032, 1033, 1035, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045, 1048, 1049, 1050, 1051, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1063, 1064, 1065, 1068, 1069, 1070, 1078, 1080, 1081, 1083, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1116, 1117, 1136, 1138, 1139, 1141, 1142, 1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1154, 1155, 1156, 1158, 1159, 1160, 1163, 1164, 1165, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1196, 1197, 1199, 1200, 1201, 1202, 1203, 1206, 1207, 1208, 1221, 1223, 1224, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1234, 1235, 1236, 1238, 1239, 1240, 1241, 1242, 1245, 1246, 1247, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1271, 1272, 1273, 1275, 1276, 1277, 1278, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1289, 1291, 1292, 1293, 1295, 1296, 1297, 1300, 1301, 1302, 1303, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1340, 1341, 1342, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363, 1365, 1366, 1367, 1368, 1371, 1372, 1373, 1385, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1399, 1400, 1401, 1426, 1428, 1429, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1459, 1460, 1461, 1485, 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1509, 1510, 1511, 1532, 1534, 1535, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1558, 1559, 1560, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1586, 1587, 1588, 1591, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1603, 1604, 1605, 1608, 1609, 1611, 1612, 1614, 1615, 1616, 1617, 1619, 1620, 1621, 1622, 1625, 1626, 1627, 1633, 1635, 1636, 1637, 1638, 1640, 1641, 1642, 1643, 1644, 1646, 1647, 1648, 1649, 1650, 1653, 1654, 1655, 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1679, 1680, 1681, 1688, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1699, 1700, 1701, 1702, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1719, 1720, 1723, 1724, 1725, 1728, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1747, 1748, 1749, 1751, 1752, 1753, 1756, 1757, 1758, 1761, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1772, 1773, 1774, 1777, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1806, 1807, 1808, 1814, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1831, 1832, 1833, 1839, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1852, 1853, 1854, 1856, 1857, 1858, 1860, 1861, 1862, 1865, 1866, 1867, 1885, 1886, 1887, 1889, 1890, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1902, 1903, 1904, 1905, 1907, 1908, 1909, 1912, 1913, 1914, 1947, 1949, 1950, 1952, 1953, 1954, 1955, 1957, 1958, 1959, 1960, 1962, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1980, 1982, 1983, 1984, 1985, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014, 2017, 2018, 2019, 2023, 2025, 2026, 2027, 2029, 2030, 2032, 2033, 2034, 2037, 2038, 2039, 2040, 2042, 2043, 2045, 2046, 2047, 2048, 2050, 2051, 2052, 2053, 2054, 2056, 2057, 2058, 2059, 2061, 2062, 2063, 2064, 2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2076, 2077, 2078, 2079, 2081, 2082, 2083, 2084, 2086, 2087, 2088, 2089, 2092, 2093, 2094, 2095, 2097, 2098, 2100, 2101, 2102, 2104, 2105, 2106, 2108, 2109, 2110, 2112, 2113, 2114, 2116, 2117, 2118, 2120, 2121, 2122, 2124, 2125, 2126, 2128, 2129, 2130, 2132, 2133, 2134, 2137, 2138, 2141, 2158, 2160, 2161, 2162, 2163, 2165, 2166, 2167, 2169, 2170, 2171, 2173, 2174, 2175, 2177, 2178, 2179, 2181, 2182, 2183, 2184, 2188, 2189, 2190, 2191, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2202, 2203, 2206, 2212, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2222, 2223, 2224, 2226, 2227, 2228, 2230, 2231, 2232, 2234, 2235, 2236, 2238, 2239, 2240, 2242, 2243, 2244, 2248, 2249, 2250, 2252, 2253, 2254, 2256, 2257, 2258, 2259, 2260, 2263, 2264, 2265, 2294, 2296, 2297, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2333, 2334, 2335, 2341, 2343, 2344, 2345, 2346, 2347, 2349, 2350, 2351, 2353, 2354, 2355, 2356, 2357, 2359, 2360, 2361, 2363, 2364, 2365, 2367, 2368, 2369, 2370, 2371, 2374, 2375, 2376, 2397, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2411, 2412, 2413, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2424, 2425, 2427, 2428, 2429, 2432, 2433, 2434, 2446, 2447, 2449, 2450, 2451, 2452, 2453, 2454, 2456, 2457, 2458, 2460, 2461, 2462, 2464, 2465, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2475, 2476, 2477, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2501, 2502, 2504, 2505, 2506, 2508, 2509, 2510, 2511, 2512, 2514, 2515, 2516, 2517, 2519, 2520, 2521, 2522, 2524, 2525, 2526, 2527, 2528, 2530, 2531, 2532, 2533, 2535, 2536, 2537, 2538, 2540, 2541, 2542, 2543, 2545, 2546, 2547, 2548, 2550, 2551, 2552, 2554, 2556, 2557, 2558, 2560, 2561, 2562, 2563, 2565, 2566, 2567, 2568, 2569, 2571, 2572, 2573, 2574, 2576, 2577, 2578, 2579, 2581, 2582, 2583, 2585, 2586, 2587, 2588, 2590, 2591, 2592, 2594, 2595, 2596, 2597, 2599, 2600, 2601, 2602, 2604, 2605, 2606, 2608, 2609, 2610, 2611, 2613, 2614, 2615, 2616, 2618, 2619, 2620, 2622, 2623, 2624, 2625, 2627, 2628, 2629, 2631, 2632, 2633, 2634, 2636, 2637, 2638, 2639, 2641, 2642, 2643, 2644, 2646, 2647, 2648, 2649, 2651, 2652, 2653, 2654, 2656, 2657, 2658, 2660, 2661, 2662, 2663, 2665, 2666, 2667, 2668, 2670, 2673, 2674, 2678, 2684, 2685, 2686, 2693, 2694, 2696, 2697, 2698, 2699, 2700, 2702, 2703, 2704, 2706, 2707, 2708, 2710, 2711, 2712, 2714, 2715, 2716, 2719, 2720, 2721, 2727, 2728, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2741, 2742, 2743, 2749, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2763, 2764, 2765, 2766, 2767, 2769, 2770, 2771, 2772, 2773, 2775, 2776, 2777, 2778, 2779, 2782, 2783, 2784, 2791, 2792, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2805, 2806, 2807, 2808, 2809, 2811, 2812, 2813, 2814, 2816, 2817, 2818, 2819, 2821, 2822, 2823, 2824, 2826, 2827, 2828, 2829, 2832, 2833, 2834, 2835, 2836, 2838, 2839, 2840, 2841, 2843, 2844, 2845, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2857, 2859, 2860, 2861, 2864, 2865, 2866, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2893, 2894, 2895, 2897, 2898, 2899, 2900, 2901, 2902, 2904, 2905, 2906, 2907, 2908, 2909, 2911, 2912, 2913, 2914, 2915, 2917, 2918, 2919, 2920, 2922, 2923, 2924, 2927, 2928, 2929, 2930, 2932, 2933, 2934, 2935, 2936, 2938, 2939, 2940, 2942, 2943, 2944, 2946, 2947, 2948, 2950, 2951, 2952, 2954, 2955, 2956, 2958, 2959, 2960, 2962, 2963, 2964, 2966, 2967, 2968, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2982, 2983, 2984, 2986, 2987, 2988, 2990, 2991, 2992, 2994, 2995, 2996, 2998, 2999, 3000, 3002, 3003, 3004, 3006, 3007, 3008, 3010, 3011, 3012, 3014, 3015, 3016, 3018, 3019, 3020, 3022, 3023, 3024, 3026, 3027, 3028, 3030, 3031, 3032, 3034, 3035, 3036, 3038, 3039, 3040, 3042, 3043, 3044, 3046, 3047, 3048, 3050, 3051, 3052, 3054, 3055, 3056, 3057, 3058, 3059, 3069, 3070, 3072, 3073, 3074, 3076, 3077, 3078, 3080, 3081, 3082, 3084, 3085, 3086, 3088, 3089, 3090, 3092, 3093, 3094, 3098, 3099, 3100, 3102, 3103, 3104, 3106, 3107, 3108, 3110, 3111, 3112, 3114, 3115, 3116, 3121, 3122, 3123, 3125, 3126, 3127, 3129, 3130, 3131, 3133, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3145, 3146, 3147, 3149, 3150, 3151, 3153, 3154, 3155, 3157, 3158, 3159, 3161, 3162, 3163, 3167, 3168, 3169, 3173, 3174, 3175, 3177, 3178, 3179, 3182, 3183, 3184, 3187, 3188, 3190, 3191, 3193, 3194, 3195, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3205, 3206, 3207, 3209, 3210, 3211, 3213, 3214, 3215, 3216, 3218, 3219, 3220, 3221, 3222], "summary": {"covered_lines": 1943, "num_statements": 1968, "percent_covered": 98.72967479674797, "percent_covered_display": "99", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370, 392, 404, 411, 413, 453, 470, 475, 611, 888, 890], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService._next_id": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_entry": {"executed_lines": [80, 81, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_totp": {"executed_lines": [101, 102, 103, 112], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_key_value": {"executed_lines": [115, 116, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_document": {"executed_lines": [127, 128, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_ssh_key": {"executed_lines": [141, 142, 143, 151], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_pgp_key": {"executed_lines": [162, 163, 164, 172], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_nostr_key": {"executed_lines": [177, 178, 179, 187], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_seed": {"executed_lines": [197, 198, 199, 200, 201, 208], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_managed_account": {"executed_lines": [213, 214, 215, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_document_file": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [235, 239, 243], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [251, 252, 253, 255], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [254], "excluded_lines": []}, "FakeEntryService.generate_password": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_seed_phrase": {"executed_lines": [261, 262], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [265, 266], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_secret": {"executed_lines": [274, 275], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_code": {"executed_lines": [278, 279], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_totp_entries": {"executed_lines": [282, 283, 284, 285, 292], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [286], "excluded_lines": []}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [295, 296], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [302, 303], "excluded_lines": []}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [309, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [316], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [322, 323], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [326], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [329], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [342, 343, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [355, 356, 357, 363, 364], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [358, 359, 360, 361, 362], "excluded_lines": []}, "FakeEntryService.load_managed_account": {"executed_lines": [367, 368, 369, 371], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [370], "excluded_lines": []}, "FakeEntryService.exit_managed_account": {"executed_lines": [374], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.__init__": {"executed_lines": [379, 380, 381, 382, 383], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.list_profiles": {"executed_lines": [386], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.switch_profile": {"executed_lines": [389, 390, 391, 393], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [392], "excluded_lines": []}, "FakeProfileService.add_profile": {"executed_lines": [396, 397, 398, 399], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.remove_profile": {"executed_lines": [402, 403, 405, 406], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [404], "excluded_lines": []}, "FakeProfileService.rename_profile": {"executed_lines": [409, 410, 412, 414], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [411, 413], "excluded_lines": []}, "FakeConfigService.__init__": {"executed_lines": [419, 420, 421, 422, 423, 424, 425], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_secret_mode": {"executed_lines": [428, 429], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_offline_mode": {"executed_lines": [432], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set": {"executed_lines": [435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService.__init__": {"executed_lines": [458, 459, 460], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.get_pubkey": {"executed_lines": [463], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.list_relays": {"executed_lines": [466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.add_relay": {"executed_lines": [469, 471], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [470], "excluded_lines": []}, "FakeNostrService.remove_relay": {"executed_lines": [474, 476], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [475], "excluded_lines": []}, "FakeNostrService.reset_relays": {"executed_lines": [479, 480], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.reset_sync_state": {"executed_lines": [483], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [486, 487], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncResult.__init__": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.__init__": {"executed_lines": [497, 498], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.sync": {"executed_lines": [501, 502], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.__init__": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.verify_checksum": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.update_checksum": {"executed_lines": [517], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.__init__": {"executed_lines": [522, 523, 524, 525, 526, 527], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.export_vault": {"executed_lines": [530, 531, 532, 533], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.import_vault": {"executed_lines": [536, 537], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.backup_parent_seed": {"executed_lines": [540, 541, 542, 543, 544, 545, 546], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.lock": {"executed_lines": [549, 550], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.unlock": {"executed_lines": [553, 554, 555, 556, 557, 559, 560, 562], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.__init__": {"executed_lines": [567, 568, 569, 570, 571], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.status": {"executed_lines": [574], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.set_enabled": {"executed_lines": [582, 583], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.build": {"executed_lines": [586, 587, 588], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.rebuild": {"executed_lines": [591, 592, 593], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.set_mode": {"executed_lines": [596, 597], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService.search": {"executed_lines": [607, 608, 609, 610, 612], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [611], "excluded_lines": []}, "_build_app": {"executed_lines": [634, 636, 639, 664, 665, 666, 667], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [637], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [671], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [675], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_filters_text": {"executed_lines": [679], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [683, 684, 685, 686, 687], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_pagination_and_search_flow": {"executed_lines": [692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_search_bar_hybrid_mode_includes_semantic_matches": {"executed_lines": [727, 733, 735, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_search_bar_hybrid_mode_includes_semantic_matches._semantic_search": {"executed_lines": [736, 737, 738, 739, 740], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_search_bar_hybrid_mode_marks_overlap_as_mix": {"executed_lines": [776, 782, 784, 797, 798, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_search_bar_hybrid_mode_marks_overlap_as_mix._semantic_search": {"executed_lines": [785, 786, 787], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_archive_scope_filters": {"executed_lines": [821, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 846, 847, 848, 849, 850, 852, 853, 854], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_document_edit_save_flow": {"executed_lines": [859, 871, 873, 874, 875, 876, 877, 878, 880, 881, 882, 883, 884, 885, 886, 892, 893, 895, 896, 897, 898, 899], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [888, 890], "excluded_lines": []}, "test_tui2_textual_right_pane_transitions_totp_board_and_doc_editor": {"executed_lines": [904, 917, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 941, 942], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_open_entry_closes_totp_and_blocks_during_edit": {"executed_lines": [947, 960, 962, 963, 964, 965, 966, 968, 969, 970, 971, 973, 974, 975, 977, 978, 979, 980], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_inspector_heading_tracks_right_pane_mode": {"executed_lines": [985, 998, 1000, 1001, 1002, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 1018], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_link_commands_and_neighbor_open": {"executed_lines": [1023, 1029, 1031, 1032, 1033, 1035, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_help_commands_reference": {"executed_lines": [1050, 1051, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1063, 1064, 1065], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_quickstart_and_stats_commands": {"executed_lines": [1070, 1078, 1080, 1081, 1083, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098, 1099, 1100, 1101], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_empty_vault_shows_quickstart": {"executed_lines": [1106, 1107, 1108, 1109, 1110, 1111, 1112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_reveal_and_qr_flow": {"executed_lines": [1117, 1136, 1138, 1139, 1141, 1142, 1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1154, 1155, 1156, 1158, 1159, 1160], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_keyboard_reveal_and_qr": {"executed_lines": [1165, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1196, 1197, 1199, 1200, 1201, 1202, 1203], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_default_focus_keeps_sensitive_hotkeys_active": {"executed_lines": [1208, 1221, 1223, 1224, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1234, 1235, 1236, 1238, 1239, 1240, 1241, 1242], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_compact_layout_hides_link_panel_and_can_restore": {"executed_lines": [1247, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1271, 1272, 1273, 1275, 1276, 1277, 1278], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_viewport_balance_hides_activity_on_short_height": {"executed_lines": [1283, 1284, 1286, 1287, 1288, 1289, 1291, 1292, 1293, 1295, 1296, 1297], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_hires_density_compacts_vertical_chrome": {"executed_lines": [1302, 1303, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_hires_density_rebalances_idle_vs_selected": {"executed_lines": [1342, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363, 1365, 1366, 1367, 1368], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_dense_mode_reduces_inspector_helper_noise": {"executed_lines": [1373, 1385, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_ssh_pgp_nostr_boards_show_action_fidelity": {"executed_lines": [1401, 1426, 1428, 1429, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_seed_and_managed_seed_boards_show_fidelity": {"executed_lines": [1461, 1485, 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_note_and_totp_boards_include_common_metadata": {"executed_lines": [1511, 1532, 1534, 1535, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_password_board_uses_card_sections": {"executed_lines": [1560, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_open_nonexistent_entry_shows_not_found": {"executed_lines": [1588, 1591, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_tree_nav_feedback_when_wrong_pane": {"executed_lines": [1605, 1608, 1609, 1611, 1612, 1614, 1615, 1616, 1617, 1619, 1620, 1621, 1622], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filters_panel_tracks_selected_entry": {"executed_lines": [1627, 1633, 1635, 1636, 1637, 1638, 1640, 1641, 1642, 1643, 1644, 1646, 1647, 1648, 1649, 1650], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filter_menu_applies_presets": {"executed_lines": [1655, 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filter_supports_multi_kind_list": {"executed_lines": [1681, 1688, 1690, 1691, 1692, 1693, 1694, 1695, 1696], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filter_menu_closes_on_escape_and_focus_actions": {"executed_lines": [1701, 1702, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1719, 1720], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_shift_shortcuts_open_palette_prefixes": {"executed_lines": [1725, 1728, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1747, 1748, 1749, 1751, 1752, 1753], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_shortcut_hide_reveal_invokes_reveal_flow": {"executed_lines": [1758, 1761, 1763, 1764, 1765, 1766, 1767, 1768, 1769], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_action_strip_click_routes_to_shortcuts": {"executed_lines": [1774, 1777, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_action_strip_context_updates_for_selected_kind": {"executed_lines": [1808, 1814, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_inspector_side_is_context_aware": {"executed_lines": [1833, 1839, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1852, 1853, 1854, 1856, 1857, 1858, 1860, 1861, 1862], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_sensitive_confirm_and_secret_mode_clipboard": {"executed_lines": [1867, 1885, 1886, 1887, 1889, 1890, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1902, 1903, 1904, 1905, 1907, 1908, 1909], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_copy_command_for_core_and_advanced_fields": {"executed_lines": [1914, 1947, 1949, 1950, 1952, 1953, 1954, 1955, 1957, 1958, 1959, 1960, 1962, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1980, 1982, 1983, 1984, 1985, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_retry_after_search_failure": {"executed_lines": [2019, 2023, 2025, 2026, 2027, 2029, 2030, 2032, 2033, 2034], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands": {"executed_lines": [2039, 2040, 2042, 2043, 2045, 2046, 2047, 2048, 2050, 2051, 2052, 2053, 2054, 2056, 2057, 2058, 2059, 2061, 2062, 2063, 2064, 2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2076, 2077, 2078, 2079, 2081, 2082, 2083, 2084, 2086, 2087, 2088, 2089], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands_validation_errors": {"executed_lines": [2094, 2095, 2097, 2098, 2100, 2101, 2102, 2104, 2105, 2106, 2108, 2109, 2110, 2112, 2113, 2114, 2116, 2117, 2118, 2120, 2121, 2122, 2124, 2125, 2126, 2128, 2129, 2130, 2132, 2133, 2134], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export": {"executed_lines": [2141, 2158, 2160, 2161, 2162, 2163, 2165, 2166, 2167, 2169, 2170, 2171, 2173, 2174, 2175, 2177, 2178, 2179, 2181, 2182, 2183, 2184, 2188, 2189, 2190, 2191, 2193, 2194, 2195, 2196, 2197, 2198, 2199], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export_validation": {"executed_lines": [2206, 2212, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2222, 2223, 2224, 2226, 2227, 2228, 2230, 2231, 2232, 2234, 2235, 2236, 2238, 2239, 2240, 2242, 2243, 2244, 2248, 2249, 2250, 2252, 2253, 2254, 2256, 2257, 2258, 2259, 2260], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_non_document_kinds": {"executed_lines": [2265, 2294, 2296, 2297, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_validation": {"executed_lines": [2335, 2341, 2343, 2344, 2345, 2346, 2347, 2349, 2350, 2351, 2353, 2354, 2355, 2356, 2357, 2359, 2360, 2361, 2363, 2364, 2365, 2367, 2368, 2369, 2370, 2371], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_view_timer_and_copy": {"executed_lines": [2376, 2397, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2411, 2412, 2413, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2424, 2425, 2427, 2428, 2429], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_secret_mode_and_validation": {"executed_lines": [2434, 2446, 2447, 2449, 2450, 2451, 2452, 2453, 2454, 2456, 2457, 2458, 2460, 2461, 2462, 2464, 2465, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2475, 2476, 2477], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_commands": {"executed_lines": [2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2501, 2502, 2504, 2505, 2506, 2508, 2509, 2510, 2511, 2512, 2514, 2515, 2516, 2517, 2519, 2520, 2521, 2522, 2524, 2525, 2526, 2527, 2528, 2530, 2531, 2532, 2533, 2535, 2536, 2537, 2538, 2540, 2541, 2542, 2543, 2545, 2546, 2547, 2548, 2550, 2551, 2552, 2554, 2556, 2557, 2558, 2560, 2561, 2562, 2563, 2565, 2566, 2567, 2568, 2569, 2571, 2572, 2573, 2574, 2576, 2577, 2578, 2579, 2581, 2582, 2583, 2585, 2586, 2587, 2588, 2590, 2591, 2592, 2594, 2595, 2596, 2597, 2599, 2600, 2601, 2602, 2604, 2605, 2606, 2608, 2609, 2610, 2611, 2613, 2614, 2615, 2616, 2618, 2619, 2620, 2622, 2623, 2624, 2625, 2627, 2628, 2629, 2631, 2632, 2633, 2634, 2636, 2637, 2638, 2639, 2641, 2642, 2643, 2644, 2646, 2647, 2648, 2649, 2651, 2652, 2653, 2654, 2656, 2657, 2658, 2660, 2661, 2662, 2663, 2665, 2666, 2667, 2668, 2670, 2673, 2674, 2678], "summary": {"covered_lines": 146, "num_statements": 146, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profile_switch_restores_filter_state": {"executed_lines": [2686, 2693, 2694, 2696, 2697, 2698, 2699, 2700, 2702, 2703, 2704, 2706, 2707, 2708, 2710, 2711, 2712, 2714, 2715, 2716], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profile_tree_seed_label_formatting": {"executed_lines": [2721, 2727, 2728, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profile_tree_can_open_managed_and_agent_children": {"executed_lines": [2743, 2749, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2763, 2764, 2765, 2766, 2767, 2769, 2770, 2771, 2772, 2773, 2775, 2776, 2777, 2778, 2779], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profile_tree_children_not_removed_by_kind_filter": {"executed_lines": [2784, 2791, 2792, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_search_mode_hotkey_cycles_and_updates_heading": {"executed_lines": [2807, 2808, 2809, 2811, 2812, 2813, 2814, 2816, 2817, 2818, 2819, 2821, 2822, 2823, 2824, 2826, 2827, 2828, 2829], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profile_switch_restores_sidebar_state": {"executed_lines": [2834, 2835, 2836, 2838, 2839, 2840, 2841, 2843, 2844, 2845, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2857, 2859, 2860, 2861], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_session_palette_commands": {"executed_lines": [2866, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2893, 2894, 2895, 2897, 2898, 2899, 2900, 2901, 2902, 2904, 2905, 2906, 2907, 2908, 2909, 2911, 2912, 2913, 2914, 2915, 2917, 2918, 2919, 2920, 2922, 2923, 2924], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_validation": {"executed_lines": [2929, 2930, 2932, 2933, 2934, 2935, 2936, 2938, 2939, 2940, 2942, 2943, 2944, 2946, 2947, 2948, 2950, 2951, 2952, 2954, 2955, 2956, 2958, 2959, 2960, 2962, 2963, 2964, 2966, 2967, 2968, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2982, 2983, 2984, 2986, 2987, 2988, 2990, 2991, 2992, 2994, 2995, 2996, 2998, 2999, 3000, 3002, 3003, 3004, 3006, 3007, 3008, 3010, 3011, 3012, 3014, 3015, 3016, 3018, 3019, 3020, 3022, 3023, 3024, 3026, 3027, 3028, 3030, 3031, 3032, 3034, 3035, 3036, 3038, 3039, 3040, 3042, 3043, 3044, 3046, 3047, 3048, 3050, 3051, 3052, 3054, 3055, 3056, 3057, 3058, 3059, 3069, 3070, 3072, 3073, 3074, 3076, 3077, 3078, 3080, 3081, 3082, 3084, 3085, 3086, 3088, 3089, 3090, 3092, 3093, 3094, 3098, 3099, 3100, 3102, 3103, 3104, 3106, 3107, 3108, 3110, 3111, 3112, 3114, 3115, 3116, 3121, 3122, 3123, 3125, 3126, 3127, 3129, 3130, 3131, 3133, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3145, 3146, 3147, 3149, 3150, 3151, 3153, 3154, 3155, 3157, 3158, 3159, 3161, 3162, 3163, 3167, 3168, 3169, 3173, 3174, 3175, 3177, 3178, 3179], "summary": {"covered_lines": 176, "num_statements": 176, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_session_status_lock_and_unlock": {"executed_lines": [3184, 3187, 3188, 3190, 3191, 3193, 3194, 3195, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3205, 3206, 3207, 3209, 3210, 3211, 3213, 3214, 3215, 3216, 3218, 3219, 3220, 3221, 3222], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 529, 535, 539, 548, 552, 565, 566, 573, 581, 585, 590, 595, 599, 623, 670, 674, 678, 682, 690, 691, 725, 726, 774, 775, 819, 820, 857, 858, 902, 903, 945, 946, 983, 984, 1021, 1022, 1048, 1049, 1068, 1069, 1104, 1105, 1115, 1116, 1163, 1164, 1206, 1207, 1245, 1246, 1281, 1282, 1300, 1301, 1340, 1341, 1371, 1372, 1399, 1400, 1459, 1460, 1509, 1510, 1558, 1559, 1586, 1587, 1603, 1604, 1625, 1626, 1653, 1654, 1679, 1680, 1699, 1700, 1723, 1724, 1756, 1757, 1772, 1773, 1806, 1807, 1831, 1832, 1865, 1866, 1912, 1913, 2017, 2018, 2037, 2038, 2092, 2093, 2137, 2138, 2202, 2203, 2263, 2264, 2333, 2334, 2374, 2375, 2432, 2433, 2480, 2481, 2684, 2685, 2719, 2720, 2741, 2742, 2782, 2783, 2805, 2806, 2832, 2833, 2864, 2865, 2927, 2928, 3182, 3183], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26, 29, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 71, 80, 81, 90, 101, 102, 103, 112, 115, 116, 124, 127, 128, 136, 141, 142, 143, 151, 162, 163, 164, 172, 177, 178, 179, 187, 197, 198, 199, 200, 201, 208, 213, 214, 215, 222, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 251, 252, 253, 255, 258, 261, 262, 265, 266, 274, 275, 278, 279, 282, 283, 284, 285, 292, 295, 296, 309, 310, 316, 319, 322, 323, 332, 342, 343, 350, 355, 356, 357, 363, 364, 367, 368, 369, 371, 374], "summary": {"covered_lines": 118, "num_statements": 133, "percent_covered": 88.7218045112782, "percent_covered_display": "89", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370], "excluded_lines": []}, "FakeProfileService": {"executed_lines": [379, 380, 381, 382, 383, 386, 389, 390, 391, 393, 396, 397, 398, 399, 402, 403, 405, 406, 409, 410, 412, 414], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [392, 404, 411, 413], "excluded_lines": []}, "FakeConfigService": {"executed_lines": [419, 420, 421, 422, 423, 424, 425, 428, 429, 432, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService": {"executed_lines": [458, 459, 460, 463, 466, 469, 471, 474, 476, 479, 480, 483, 486, 487], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [470, 475], "excluded_lines": []}, "FakeSyncResult": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService": {"executed_lines": [497, 498, 501, 502, 505], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService": {"executed_lines": [510, 511, 514, 517], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService": {"executed_lines": [522, 523, 524, 525, 526, 527, 530, 531, 532, 533, 536, 537, 540, 541, 542, 543, 544, 545, 546, 549, 550, 553, 554, 555, 556, 557, 559, 560, 562], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.unlock._Resp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSemanticService": {"executed_lines": [567, 568, 569, 570, 571, 574, 582, 583, 586, 587, 588, 591, 592, 593, 596, 597, 607, 608, 609, 610, 612], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [611], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 529, 535, 539, 548, 552, 565, 566, 573, 581, 585, 590, 595, 599, 623, 634, 636, 637, 639, 664, 665, 666, 667, 670, 671, 674, 675, 678, 679, 682, 683, 684, 685, 686, 687, 690, 691, 692, 696, 698, 699, 700, 701, 702, 704, 705, 706, 708, 709, 710, 711, 713, 714, 715, 716, 718, 719, 720, 721, 722, 725, 726, 727, 733, 735, 736, 737, 738, 739, 740, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 774, 775, 776, 782, 784, 785, 786, 787, 797, 798, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816, 819, 820, 821, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 846, 847, 848, 849, 850, 852, 853, 854, 857, 858, 859, 871, 873, 874, 875, 876, 877, 878, 880, 881, 882, 883, 884, 885, 886, 892, 893, 895, 896, 897, 898, 899, 902, 903, 904, 917, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, 941, 942, 945, 946, 947, 960, 962, 963, 964, 965, 966, 968, 969, 970, 971, 973, 974, 975, 977, 978, 979, 980, 983, 984, 985, 998, 1000, 1001, 1002, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 1018, 1021, 1022, 1023, 1029, 1031, 1032, 1033, 1035, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045, 1048, 1049, 1050, 1051, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1063, 1064, 1065, 1068, 1069, 1070, 1078, 1080, 1081, 1083, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1116, 1117, 1136, 1138, 1139, 1141, 1142, 1143, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1154, 1155, 1156, 1158, 1159, 1160, 1163, 1164, 1165, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1196, 1197, 1199, 1200, 1201, 1202, 1203, 1206, 1207, 1208, 1221, 1223, 1224, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1234, 1235, 1236, 1238, 1239, 1240, 1241, 1242, 1245, 1246, 1247, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1271, 1272, 1273, 1275, 1276, 1277, 1278, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1289, 1291, 1292, 1293, 1295, 1296, 1297, 1300, 1301, 1302, 1303, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1340, 1341, 1342, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363, 1365, 1366, 1367, 1368, 1371, 1372, 1373, 1385, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1399, 1400, 1401, 1426, 1428, 1429, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1459, 1460, 1461, 1485, 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1509, 1510, 1511, 1532, 1534, 1535, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1558, 1559, 1560, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1586, 1587, 1588, 1591, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1603, 1604, 1605, 1608, 1609, 1611, 1612, 1614, 1615, 1616, 1617, 1619, 1620, 1621, 1622, 1625, 1626, 1627, 1633, 1635, 1636, 1637, 1638, 1640, 1641, 1642, 1643, 1644, 1646, 1647, 1648, 1649, 1650, 1653, 1654, 1655, 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1679, 1680, 1681, 1688, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1699, 1700, 1701, 1702, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1719, 1720, 1723, 1724, 1725, 1728, 1730, 1731, 1732, 1734, 1735, 1736, 1737, 1739, 1740, 1741, 1743, 1744, 1745, 1747, 1748, 1749, 1751, 1752, 1753, 1756, 1757, 1758, 1761, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1772, 1773, 1774, 1777, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1806, 1807, 1808, 1814, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1831, 1832, 1833, 1839, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1852, 1853, 1854, 1856, 1857, 1858, 1860, 1861, 1862, 1865, 1866, 1867, 1885, 1886, 1887, 1889, 1890, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1902, 1903, 1904, 1905, 1907, 1908, 1909, 1912, 1913, 1914, 1947, 1949, 1950, 1952, 1953, 1954, 1955, 1957, 1958, 1959, 1960, 1962, 1963, 1964, 1965, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, 1978, 1979, 1980, 1982, 1983, 1984, 1985, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014, 2017, 2018, 2019, 2023, 2025, 2026, 2027, 2029, 2030, 2032, 2033, 2034, 2037, 2038, 2039, 2040, 2042, 2043, 2045, 2046, 2047, 2048, 2050, 2051, 2052, 2053, 2054, 2056, 2057, 2058, 2059, 2061, 2062, 2063, 2064, 2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2076, 2077, 2078, 2079, 2081, 2082, 2083, 2084, 2086, 2087, 2088, 2089, 2092, 2093, 2094, 2095, 2097, 2098, 2100, 2101, 2102, 2104, 2105, 2106, 2108, 2109, 2110, 2112, 2113, 2114, 2116, 2117, 2118, 2120, 2121, 2122, 2124, 2125, 2126, 2128, 2129, 2130, 2132, 2133, 2134, 2137, 2138, 2141, 2158, 2160, 2161, 2162, 2163, 2165, 2166, 2167, 2169, 2170, 2171, 2173, 2174, 2175, 2177, 2178, 2179, 2181, 2182, 2183, 2184, 2188, 2189, 2190, 2191, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2202, 2203, 2206, 2212, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2222, 2223, 2224, 2226, 2227, 2228, 2230, 2231, 2232, 2234, 2235, 2236, 2238, 2239, 2240, 2242, 2243, 2244, 2248, 2249, 2250, 2252, 2253, 2254, 2256, 2257, 2258, 2259, 2260, 2263, 2264, 2265, 2294, 2296, 2297, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2333, 2334, 2335, 2341, 2343, 2344, 2345, 2346, 2347, 2349, 2350, 2351, 2353, 2354, 2355, 2356, 2357, 2359, 2360, 2361, 2363, 2364, 2365, 2367, 2368, 2369, 2370, 2371, 2374, 2375, 2376, 2397, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2411, 2412, 2413, 2414, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2424, 2425, 2427, 2428, 2429, 2432, 2433, 2434, 2446, 2447, 2449, 2450, 2451, 2452, 2453, 2454, 2456, 2457, 2458, 2460, 2461, 2462, 2464, 2465, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2475, 2476, 2477, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2501, 2502, 2504, 2505, 2506, 2508, 2509, 2510, 2511, 2512, 2514, 2515, 2516, 2517, 2519, 2520, 2521, 2522, 2524, 2525, 2526, 2527, 2528, 2530, 2531, 2532, 2533, 2535, 2536, 2537, 2538, 2540, 2541, 2542, 2543, 2545, 2546, 2547, 2548, 2550, 2551, 2552, 2554, 2556, 2557, 2558, 2560, 2561, 2562, 2563, 2565, 2566, 2567, 2568, 2569, 2571, 2572, 2573, 2574, 2576, 2577, 2578, 2579, 2581, 2582, 2583, 2585, 2586, 2587, 2588, 2590, 2591, 2592, 2594, 2595, 2596, 2597, 2599, 2600, 2601, 2602, 2604, 2605, 2606, 2608, 2609, 2610, 2611, 2613, 2614, 2615, 2616, 2618, 2619, 2620, 2622, 2623, 2624, 2625, 2627, 2628, 2629, 2631, 2632, 2633, 2634, 2636, 2637, 2638, 2639, 2641, 2642, 2643, 2644, 2646, 2647, 2648, 2649, 2651, 2652, 2653, 2654, 2656, 2657, 2658, 2660, 2661, 2662, 2663, 2665, 2666, 2667, 2668, 2670, 2673, 2674, 2678, 2684, 2685, 2686, 2693, 2694, 2696, 2697, 2698, 2699, 2700, 2702, 2703, 2704, 2706, 2707, 2708, 2710, 2711, 2712, 2714, 2715, 2716, 2719, 2720, 2721, 2727, 2728, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2741, 2742, 2743, 2749, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2763, 2764, 2765, 2766, 2767, 2769, 2770, 2771, 2772, 2773, 2775, 2776, 2777, 2778, 2779, 2782, 2783, 2784, 2791, 2792, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2805, 2806, 2807, 2808, 2809, 2811, 2812, 2813, 2814, 2816, 2817, 2818, 2819, 2821, 2822, 2823, 2824, 2826, 2827, 2828, 2829, 2832, 2833, 2834, 2835, 2836, 2838, 2839, 2840, 2841, 2843, 2844, 2845, 2847, 2848, 2849, 2851, 2852, 2853, 2855, 2856, 2857, 2859, 2860, 2861, 2864, 2865, 2866, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2893, 2894, 2895, 2897, 2898, 2899, 2900, 2901, 2902, 2904, 2905, 2906, 2907, 2908, 2909, 2911, 2912, 2913, 2914, 2915, 2917, 2918, 2919, 2920, 2922, 2923, 2924, 2927, 2928, 2929, 2930, 2932, 2933, 2934, 2935, 2936, 2938, 2939, 2940, 2942, 2943, 2944, 2946, 2947, 2948, 2950, 2951, 2952, 2954, 2955, 2956, 2958, 2959, 2960, 2962, 2963, 2964, 2966, 2967, 2968, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2982, 2983, 2984, 2986, 2987, 2988, 2990, 2991, 2992, 2994, 2995, 2996, 2998, 2999, 3000, 3002, 3003, 3004, 3006, 3007, 3008, 3010, 3011, 3012, 3014, 3015, 3016, 3018, 3019, 3020, 3022, 3023, 3024, 3026, 3027, 3028, 3030, 3031, 3032, 3034, 3035, 3036, 3038, 3039, 3040, 3042, 3043, 3044, 3046, 3047, 3048, 3050, 3051, 3052, 3054, 3055, 3056, 3057, 3058, 3059, 3069, 3070, 3072, 3073, 3074, 3076, 3077, 3078, 3080, 3081, 3082, 3084, 3085, 3086, 3088, 3089, 3090, 3092, 3093, 3094, 3098, 3099, 3100, 3102, 3103, 3104, 3106, 3107, 3108, 3110, 3111, 3112, 3114, 3115, 3116, 3121, 3122, 3123, 3125, 3126, 3127, 3129, 3130, 3131, 3133, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3145, 3146, 3147, 3149, 3150, 3151, 3153, 3154, 3155, 3157, 3158, 3159, 3161, 3162, 3163, 3167, 3168, 3169, 3173, 3174, 3175, 3177, 3178, 3179, 3182, 3183, 3184, 3187, 3188, 3190, 3191, 3193, 3194, 3195, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3205, 3206, 3207, 3209, 3210, 3211, 3213, 3214, 3215, 3216, 3218, 3219, 3220, 3221, 3222], "summary": {"covered_lines": 1707, "num_statements": 1709, "percent_covered": 99.88297249853716, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [888, 890], "excluded_lines": []}}}, "src/tests/test_typer_cli.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 25, 26, 27, 29, 31, 32, 33, 34, 37, 38, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57, 59, 63, 64, 65, 66, 67, 70, 71, 79, 80, 81, 82, 85, 86, 87, 89, 90, 100, 101, 102, 103, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 131, 132, 135, 136, 137, 140, 141, 142, 153, 154, 155, 157, 164, 168, 169, 170, 181, 182, 183, 184, 185, 186, 189, 190, 191, 192, 203, 204, 206, 207, 217, 218, 221, 222, 223, 224, 235, 236, 237, 244, 245, 257, 258, 261, 262, 264, 265, 267, 268, 269, 270, 271, 272, 273, 276, 277, 279, 280, 281, 283, 284, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 301, 302, 304, 305, 306, 307, 308, 311, 312, 314, 315, 316, 318, 325, 326, 327, 328, 329, 332, 333, 335, 336, 337, 339, 346, 347, 348, 349, 350, 353, 354, 356, 357, 359, 362, 363, 364, 369, 370, 373, 374, 375, 376, 377, 382, 385, 388, 389, 390, 401, 402, 403, 406, 407, 408, 409, 410, 416, 418, 421, 424, 425, 426, 438, 439, 440, 443, 444, 445, 446, 447, 452, 453, 455, 458, 459, 465, 466, 479, 480, 483, 484, 490, 491, 492, 493, 496, 497, 501, 502, 503, 504, 507, 508, 510, 511, 513, 518, 519, 520, 521, 524, 525, 527, 528, 530, 534, 535, 536, 537, 540, 541, 543, 544, 546, 549, 550, 551, 552, 555, 556, 562, 563, 564, 565, 568, 569, 571, 572, 574, 578, 579, 580, 581, 582, 585, 586, 589, 590, 591, 592, 595, 596, 598, 599, 600, 606, 607, 608, 609, 610, 611, 612, 613, 616, 617, 619, 620, 621, 622, 624, 629, 634, 657, 658, 659, 669, 672, 673, 674, 675, 676, 677, 678, 681, 682, 683, 684, 685, 686, 687, 688, 692, 693, 697, 698, 699, 700, 701, 702, 706, 707, 710, 711, 714, 717, 718, 722, 723, 724, 725, 726, 727, 728, 731, 733, 735, 736, 737, 739, 740, 742, 743, 744, 747, 748, 749, 751, 752, 753, 754, 756, 757, 758, 764, 776, 777, 778, 779, 782, 784, 786, 787, 788, 789, 791, 792, 793, 794, 797, 798, 800, 801, 802, 803, 805, 810, 811, 839, 840, 841, 842, 854, 855, 857, 860, 862, 867, 868, 869, 870, 873, 874, 875, 877, 882, 883, 884, 885, 888, 889, 891, 892, 894, 899, 900, 901, 902, 903, 906, 907, 909, 910, 912, 917, 918, 919, 920, 921, 924, 925, 927, 935, 937, 938, 939, 940, 941, 944, 945, 946, 950, 955, 956, 957, 960, 961, 964, 965, 967, 971, 972, 973, 974, 977, 978, 980, 985, 986, 987, 988, 991, 992, 994, 999, 1000, 1001, 1002, 1005, 1007, 1009, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 1018, 1019, 1022, 1023, 1025, 1026, 1027, 1029, 1030, 1034, 1035, 1036, 1039, 1040, 1042, 1043, 1044, 1046, 1051, 1052, 1053, 1056, 1057, 1059, 1060, 1061, 1063, 1068, 1069, 1070, 1073, 1074, 1079, 1080, 1081, 1082, 1083, 1086, 1087, 1088, 1089, 1090, 1091, 1094, 1095, 1096, 1097, 1099, 1100, 1101, 1103, 1108, 1109, 1110, 1111, 1114, 1115, 1116, 1117, 1119, 1120, 1121, 1123, 1128, 1129, 1130, 1131, 1134, 1135, 1140, 1141, 1142, 1145, 1146, 1148, 1149, 1151, 1156, 1157, 1158, 1159, 1162, 1165, 1167, 1168, 1169, 1172, 1175, 1177, 1178, 1179, 1181, 1183, 1185, 1186, 1188, 1190, 1192, 1193, 1195, 1201, 1202, 1203, 1204], "summary": {"covered_lines": 592, "num_statements": 594, "percent_covered": 99.66329966329967, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [383, 419], "excluded_lines": [], "functions": {"test_legacy_command_invokes_legacy_tui": {"executed_lines": [23, 25, 29, 31, 32, 33, 34], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_invokes_legacy_tui.fake_launch_legacy_tui": {"executed_lines": [26, 27], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_flag_invokes_legacy_tui": {"executed_lines": [38, 40, 44, 46, 47, 48, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_flag_invokes_legacy_tui.fake_launch_legacy_tui": {"executed_lines": [41, 42], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_list": {"executed_lines": [53, 55, 59, 63, 64, 65, 66, 67], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_list.list_entries": {"executed_lines": [56, 57], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_search": {"executed_lines": [71, 79, 80, 81, 82], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_get_password": {"executed_lines": [86, 89, 90, 100, 101, 102, 103], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_get_password.search": {"executed_lines": [87], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export": {"executed_lines": [107, 109, 113, 114, 115, 116, 117, 118, 119], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export.export_profile": {"executed_lines": [110, 111], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_denied_for_agent_profile_by_default": {"executed_lines": [123, 124, 125, 126, 127, 131, 132, 135, 136, 137], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_policy_filtered_includes_manifest": {"executed_lines": [141, 142, 153, 154, 157, 164, 168, 169, 170, 181, 182, 183, 184, 185, 186], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_policy_filtered_includes_manifest.Enc.encrypt_data": {"executed_lines": [155], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_agent_requires_approval_for_full_export": {"executed_lines": [190, 191, 192, 203, 204, 206, 207, 217, 218], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_export_agent_full_succeeds_with_approval": {"executed_lines": [222, 223, 224, 235, 236, 237, 244, 245, 257, 258], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import": {"executed_lines": [262, 264, 267, 268, 269, 270, 271, 272, 273], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import.import_profile": {"executed_lines": [265], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_triggers_sync": {"executed_lines": [277, 279, 283, 286, 287, 290, 291, 292, 293, 294, 295], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_triggers_sync.import_profile": {"executed_lines": [280, 281], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_import_triggers_sync.sync_vault": {"executed_lines": [284], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_change_password": {"executed_lines": [299, 301, 304, 305, 306, 307, 308], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_change_password.change_pw": {"executed_lines": [302], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_lock": {"executed_lines": [312, 314, 318, 325, 326, 327, 328, 329], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_lock.lock": {"executed_lines": [315, 316], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_lock": {"executed_lines": [333, 335, 339, 346, 347, 348, 349, 350], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_lock.lock": {"executed_lines": [336, 337], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed": {"executed_lines": [354, 356, 359, 362, 363, 364, 369, 370], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed.reveal": {"executed_lines": [357], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed_agent_requires_approval": {"executed_lines": [374, 375, 376, 377, 382, 385, 388, 389, 390, 401, 402, 403], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed_agent_requires_approval.reveal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [383], "excluded_lines": []}, "test_vault_reveal_parent_seed_blocked_when_high_risk_locked": {"executed_lines": [407, 408, 409, 410, 416, 418, 421, 424, 425, 426, 438, 439, 440], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed_blocked_when_high_risk_locked.reveal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [419], "excluded_lines": []}, "test_vault_reveal_parent_seed_agent_approval_allows": {"executed_lines": [444, 445, 446, 447, 452, 455, 458, 459, 465, 466, 479, 480], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_vault_reveal_parent_seed_agent_approval_allows.reveal": {"executed_lines": [453], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_get_pubkey": {"executed_lines": [484, 490, 491, 492, 493], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_list": {"executed_lines": [497, 501, 502, 503, 504], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_add": {"executed_lines": [508, 510, 513, 518, 519, 520, 521], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_add.add": {"executed_lines": [511], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_remove": {"executed_lines": [525, 527, 530, 534, 535, 536, 537], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_remove.remove": {"executed_lines": [528], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_switch": {"executed_lines": [541, 543, 546, 549, 550, 551, 552], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_fingerprint_switch.switch": {"executed_lines": [544], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_get": {"executed_lines": [556, 562, 563, 564, 565], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_set": {"executed_lines": [569, 571, 574, 578, 579, 580, 581, 582], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_set.set_timeout": {"executed_lines": [572], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_config_set_unknown_key": {"executed_lines": [586, 589, 590, 591, 592], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_sync": {"executed_lines": [596, 598, 606, 607, 608, 609, 610, 611, 612, 613], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_nostr_sync.sync_vault": {"executed_lines": [599, 600], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password": {"executed_lines": [617, 619, 624, 629, 634, 657, 658, 659, 669], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_generate_password.gen_pw": {"executed_lines": [620, 621, 622], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_capabilities_text": {"executed_lines": [673, 674, 675, 676, 677, 678], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_capabilities_json": {"executed_lines": [682, 683, 684, 685, 686, 687, 688, 692, 693, 697, 698, 699, 700, 701, 702, 706, 707, 710, 711, 714, 717, 718, 722, 723, 724, 725, 726, 727, 728], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_api_start_passes_fingerprint": {"executed_lines": [733, 735, 739, 740, 742, 743, 744], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_api_start_passes_fingerprint.fake_start": {"executed_lines": [736, 737], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_api_start_unlock_uses_env_broker": {"executed_lines": [748, 749, 751, 756, 757, 758, 764, 776, 777, 778, 779], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_api_start_unlock_uses_env_broker.fake_start": {"executed_lines": [752, 753, 754], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_list_passes_fingerprint": {"executed_lines": [784, 786, 787, 791, 792, 793, 794], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_list_passes_fingerprint.PM.__init__": {"executed_lines": [788, 789], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_add": {"executed_lines": [798, 800, 805, 810, 811, 839, 840, 841, 842], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_add.add_entry": {"executed_lines": [801, 802, 803], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_modify": {"executed_lines": [855, 857, 862, 867, 868, 869, 870], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_modify.modify_entry": {"executed_lines": [860], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_modify_invalid": {"executed_lines": [874, 877, 882, 883, 884, 885], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_modify_invalid.modify_entry": {"executed_lines": [875], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_archive": {"executed_lines": [889, 891, 894, 899, 900, 901, 902, 903], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_archive.archive_entry": {"executed_lines": [892], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_unarchive": {"executed_lines": [907, 909, 912, 917, 918, 919, 920, 921], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_unarchive.restore_entry": {"executed_lines": [910], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_export_totp": {"executed_lines": [925, 927, 935, 937, 938, 939, 940, 941], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_export_totp_denied_for_agent_profile": {"executed_lines": [945, 946, 950, 955, 956, 957, 960, 961], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_totp_codes": {"executed_lines": [965, 967, 971, 972, 973, 974], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_verify_checksum_command": {"executed_lines": [978, 980, 985, 986, 987, 988], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_update_checksum_command": {"executed_lines": [992, 994, 999, 1000, 1001, 1002], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_tui2_forward_fingerprint": {"executed_lines": [1007, 1009, 1014, 1015, 1016, 1017, 1018, 1019], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_tui2_forward_fingerprint.fake_launch": {"executed_lines": [1010, 1011, 1012], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_legacy_tui_flag_forwards_fingerprint": {"executed_lines": [1023, 1025, 1029, 1030, 1034, 1035, 1036], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_legacy_tui_flag_forwards_fingerprint.fake_main": {"executed_lines": [1026, 1027], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_forwards_fingerprint": {"executed_lines": [1040, 1042, 1046, 1051, 1052, 1053], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_forwards_fingerprint.fake_main": {"executed_lines": [1043, 1044], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_default_profile": {"executed_lines": [1057, 1059, 1063, 1068, 1069, 1070], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_legacy_command_default_profile.fake_main": {"executed_lines": [1060, 1061], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_check": {"executed_lines": [1074, 1079, 1080, 1081, 1082, 1083], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_unavailable_without_fallback": {"executed_lines": [1087, 1088, 1089, 1090, 1091], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_fallback_legacy": {"executed_lines": [1095, 1096, 1097, 1099, 1103, 1108, 1109, 1110, 1111], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_fallback_legacy.fake_main": {"executed_lines": [1100, 1101], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_fallback_legacy_when_tui2_unavailable": {"executed_lines": [1115, 1116, 1117, 1119, 1123, 1128, 1129, 1130, 1131], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_root_fallback_legacy_when_tui2_unavailable.fake_main": {"executed_lines": [1120, 1121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_preflight_failure_without_fallback": {"executed_lines": [1135, 1140, 1141, 1142], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command": {"executed_lines": [1146, 1148, 1151, 1156, 1157, 1158, 1159], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command.fake_main": {"executed_lines": [1149], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command_no_backend": {"executed_lines": [1165, 1167, 1168, 1169], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command_install_backend": {"executed_lines": [1175, 1177, 1181, 1183, 1185, 1188, 1190, 1192, 1195, 1201, 1202, 1203, 1204], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command_install_backend.backend_available": {"executed_lines": [1178, 1179], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command_install_backend.fake_check_call": {"executed_lines": [1186], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gui_command_install_backend.fake_main": {"executed_lines": [1193], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 37, 52, 70, 85, 106, 122, 140, 189, 221, 261, 276, 298, 311, 332, 353, 373, 406, 443, 483, 496, 507, 524, 540, 555, 568, 585, 595, 616, 672, 681, 731, 747, 782, 797, 854, 873, 888, 906, 924, 944, 964, 977, 991, 1005, 1022, 1039, 1056, 1073, 1086, 1094, 1114, 1134, 1145, 1162, 1172], "summary": {"covered_lines": 71, "num_statements": 71, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_vault_export_policy_filtered_includes_manifest.Enc": {"executed_lines": [155], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_list_passes_fingerprint.PM": {"executed_lines": [788, 789], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 25, 26, 27, 29, 31, 32, 33, 34, 37, 38, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57, 59, 63, 64, 65, 66, 67, 70, 71, 79, 80, 81, 82, 85, 86, 87, 89, 90, 100, 101, 102, 103, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 126, 127, 131, 132, 135, 136, 137, 140, 141, 142, 153, 154, 157, 164, 168, 169, 170, 181, 182, 183, 184, 185, 186, 189, 190, 191, 192, 203, 204, 206, 207, 217, 218, 221, 222, 223, 224, 235, 236, 237, 244, 245, 257, 258, 261, 262, 264, 265, 267, 268, 269, 270, 271, 272, 273, 276, 277, 279, 280, 281, 283, 284, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 301, 302, 304, 305, 306, 307, 308, 311, 312, 314, 315, 316, 318, 325, 326, 327, 328, 329, 332, 333, 335, 336, 337, 339, 346, 347, 348, 349, 350, 353, 354, 356, 357, 359, 362, 363, 364, 369, 370, 373, 374, 375, 376, 377, 382, 385, 388, 389, 390, 401, 402, 403, 406, 407, 408, 409, 410, 416, 418, 421, 424, 425, 426, 438, 439, 440, 443, 444, 445, 446, 447, 452, 453, 455, 458, 459, 465, 466, 479, 480, 483, 484, 490, 491, 492, 493, 496, 497, 501, 502, 503, 504, 507, 508, 510, 511, 513, 518, 519, 520, 521, 524, 525, 527, 528, 530, 534, 535, 536, 537, 540, 541, 543, 544, 546, 549, 550, 551, 552, 555, 556, 562, 563, 564, 565, 568, 569, 571, 572, 574, 578, 579, 580, 581, 582, 585, 586, 589, 590, 591, 592, 595, 596, 598, 599, 600, 606, 607, 608, 609, 610, 611, 612, 613, 616, 617, 619, 620, 621, 622, 624, 629, 634, 657, 658, 659, 669, 672, 673, 674, 675, 676, 677, 678, 681, 682, 683, 684, 685, 686, 687, 688, 692, 693, 697, 698, 699, 700, 701, 702, 706, 707, 710, 711, 714, 717, 718, 722, 723, 724, 725, 726, 727, 728, 731, 733, 735, 736, 737, 739, 740, 742, 743, 744, 747, 748, 749, 751, 752, 753, 754, 756, 757, 758, 764, 776, 777, 778, 779, 782, 784, 786, 787, 791, 792, 793, 794, 797, 798, 800, 801, 802, 803, 805, 810, 811, 839, 840, 841, 842, 854, 855, 857, 860, 862, 867, 868, 869, 870, 873, 874, 875, 877, 882, 883, 884, 885, 888, 889, 891, 892, 894, 899, 900, 901, 902, 903, 906, 907, 909, 910, 912, 917, 918, 919, 920, 921, 924, 925, 927, 935, 937, 938, 939, 940, 941, 944, 945, 946, 950, 955, 956, 957, 960, 961, 964, 965, 967, 971, 972, 973, 974, 977, 978, 980, 985, 986, 987, 988, 991, 992, 994, 999, 1000, 1001, 1002, 1005, 1007, 1009, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 1018, 1019, 1022, 1023, 1025, 1026, 1027, 1029, 1030, 1034, 1035, 1036, 1039, 1040, 1042, 1043, 1044, 1046, 1051, 1052, 1053, 1056, 1057, 1059, 1060, 1061, 1063, 1068, 1069, 1070, 1073, 1074, 1079, 1080, 1081, 1082, 1083, 1086, 1087, 1088, 1089, 1090, 1091, 1094, 1095, 1096, 1097, 1099, 1100, 1101, 1103, 1108, 1109, 1110, 1111, 1114, 1115, 1116, 1117, 1119, 1120, 1121, 1123, 1128, 1129, 1130, 1131, 1134, 1135, 1140, 1141, 1142, 1145, 1146, 1148, 1149, 1151, 1156, 1157, 1158, 1159, 1162, 1165, 1167, 1168, 1169, 1172, 1175, 1177, 1178, 1179, 1181, 1183, 1185, 1186, 1188, 1190, 1192, 1193, 1195, 1201, 1202, 1203, 1204], "summary": {"covered_lines": 589, "num_statements": 591, "percent_covered": 99.66159052453469, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [383, 419], "excluded_lines": []}}}, "src/tests/test_unlock_sync.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 30, 31, 33, 36, 37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 54, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_unlock_triggers_sync": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 23, 26, 28, 29, 30, 31, 33], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unlock_triggers_sync.fake_sync": {"executed_lines": [24], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_quick_unlock_background_sync": {"executed_lines": [37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 56, 58, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_quick_unlock_background_sync.fake_bg": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_running_loop": {"executed_lines": [64, 65, 66, 67, 69, 72, 75, 76, 78, 85, 86, 87], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_running_loop.fake_attempt": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_running_loop.fake_sync": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_start_background_sync_running_loop.runner": {"executed_lines": [79, 80, 81, 82, 83], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 36, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 30, 31, 33, 36, 37, 38, 39, 41, 42, 45, 47, 48, 49, 51, 53, 54, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_v2_prefix_fallback.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 28, 29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_v2_prefix_fernet_fallback": {"executed_lines": [14, 15, 17, 18, 19, 21, 22, 24, 25], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_aesgcm_payload_too_short": {"executed_lines": [29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 28], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 10, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 28, 29, 30, 32, 34, 35, 36, 38], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_vault_initialization.py": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_save_and_encrypt_seed_initializes_vault": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 28, 30, 31], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_vault_lock_event.py": {"executed_lines": [1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_lock_vault_publishes_event": {"executed_lines": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 23, 24, 25, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_lock_vault_publishes_event.handler": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_vault_lock_flag.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DummyEntryManager.__init__": {"executed_lines": [10], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DummyEntryManager.clear_cache": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_lock_vault_sets_flag_and_keeps_objects": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_entry_service_requires_unlocked": {"executed_lines": [30, 31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_unlock_vault_clears_locked_flag": {"executed_lines": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 16, 29, 40], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEntryManager": {"executed_lines": [10, 13], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_verbose_timing.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_unlock_vault_logs_time": {"executed_lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_publish_snapshot_logs_time": {"executed_lines": [23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 4, 7, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/__init__.py": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}, "classes": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}}, "src/utils/atomic_write.py": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}, "": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}}}, "src/utils/checksum.py": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 31, 34, 36, 37, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 78, 89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106, 109, 120, 121, 122, 123, 124, 125, 126, 140, 151, 152, 155, 156, 157, 158, 160, 161, 162, 165, 176, 177, 180, 181, 182, 185, 186, 201], "summary": {"covered_lines": 67, "num_statements": 95, "percent_covered": 70.52631578947368, "percent_covered_display": "71", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [66, 67, 70, 75, 95, 96, 99, 127, 128, 131, 137, 153, 178, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "json_checksum": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "calculate_checksum": {"executed_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65], "summary": {"covered_lines": 12, "num_statements": 16, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [66, 67, 70, 75], "excluded_lines": []}, "verify_checksum": {"executed_lines": [89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [95, 96, 99], "excluded_lines": []}, "update_checksum": {"executed_lines": [120, 121, 122, 123, 124, 125, 126], "summary": {"covered_lines": 7, "num_statements": 11, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [127, 128, 131, 137], "excluded_lines": []}, "verify_and_update_checksum": {"executed_lines": [151, 152, 155, 156, 157, 158, 160, 161, 162], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [153], "excluded_lines": []}, "initialize_checksum": {"executed_lines": [176, 177, 180, 181, 182, 185, 186], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [178, 187, 188, 192, 198], "excluded_lines": []}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}, "": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 31, 34, 36, 37, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 78, 89, 90, 91, 92, 93, 94, 101, 102, 103, 105, 106, 109, 120, 121, 122, 123, 124, 125, 126, 140, 151, 152, 155, 156, 157, 158, 160, 161, 162, 165, 176, 177, 180, 181, 182, 185, 186, 201], "summary": {"covered_lines": 67, "num_statements": 95, "percent_covered": 70.52631578947368, "percent_covered_display": "71", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [66, 67, 70, 75, 95, 96, 99, 127, 128, 131, 137, 153, 178, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}}}, "src/utils/clipboard.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 20, 21, 22, 23, 24, 25, 35, 38, 40, 42, 43, 44, 46, 47, 48, 49, 52], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": []}, "copy_to_clipboard": {"executed_lines": [38, 40, 42, 46, 47, 48, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [43, 44], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 20, 21, 22, 23, 24, 25, 35, 38, 40, 42, 43, 44, 46, 47, 48, 49, 52], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [29], "excluded_lines": []}}}, "src/utils/color_scheme.py": {"executed_lines": [1, 3, 6, 7, 10, 12, 16, 29, 31, 32, 33, 34, 35], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "color_text": {"executed_lines": [31, 32, 33, 34, 35], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 7, 10, 12, 16, 29, 31, 32, 33, 34, 35], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/file_lock.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 14, 15, 17, 21, 24, 27, 28, 38, 39, 40, 41, 44, 45, 55, 56, 57, 58, 59], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": [], "functions": {"_get_portalocker_lock": {"executed_lines": [14, 15, 17, 21, 24], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "exclusive_lock": {"executed_lines": [38, 39, 40, 41], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "shared_lock": {"executed_lines": [55, 56, 57, 58, 59], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 14, 15, 17, 21, 24, 27, 28, 38, 39, 40, 41, 44, 45, 55, 56, 57, 58, 59], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/utils/fingerprint.py": {"executed_lines": [3, 11, 12, 13, 16, 19, 30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 11, 12, 13, 16, 19, 30, 32, 35, 38, 39, 41, 42, 43, 44], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 34, 35, 36, 37, 43, 50, 51, 56, 60, 61, 62, 69, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 90, 94, 95, 100, 104, 111, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 141, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183, 185, 192, 193, 195, 205, 206, 207, 208, 209, 214, 225, 227, 229, 231, 232, 234, 244, 245, 246], "summary": {"covered_lines": 94, "num_statements": 122, "percent_covered": 77.04918032786885, "percent_covered_display": "77", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [53, 54, 63, 64, 67, 86, 87, 88, 107, 108, 109, 138, 139, 169, 170, 177, 180, 211, 212, 216, 217, 218, 219, 221, 222, 223, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [34, 35, 36, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [53, 54], "excluded_lines": []}, "FingerprintManager._ensure_app_directory": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [63, 64, 67], "excluded_lines": []}, "FingerprintManager._load_fingerprints": {"executed_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [86, 87, 88], "excluded_lines": []}, "FingerprintManager._save_fingerprints": {"executed_lines": [94, 95, 100, 104], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [107, 108, 109], "excluded_lines": []}, "FingerprintManager.add_fingerprint": {"executed_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [138, 139], "excluded_lines": []}, "FingerprintManager.remove_fingerprint": {"executed_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [169, 170, 177, 180], "excluded_lines": []}, "FingerprintManager.list_fingerprints": {"executed_lines": [192, 193], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FingerprintManager.select_fingerprint": {"executed_lines": [205, 206, 207, 208, 209], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [211, 212], "excluded_lines": []}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": []}, "FingerprintManager.get_name": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FingerprintManager.display_name": {"executed_lines": [231, 232], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [244, 245, 246], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FingerprintManager": {"executed_lines": [34, 35, 36, 37, 50, 51, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 94, 95, 100, 104, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 171, 172, 173, 174, 175, 176, 182, 183, 192, 193, 205, 206, 207, 208, 209, 227, 231, 232, 244, 245, 246], "summary": {"covered_lines": 71, "num_statements": 99, "percent_covered": 71.71717171717172, "percent_covered_display": "72", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [53, 54, 63, 64, 67, 86, 87, 88, 107, 108, 109, 138, 139, 169, 170, 177, 180, 211, 212, 216, 217, 218, 219, 221, 222, 223, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/imghdr_stub.py": {"executed_lines": [1, 7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "summary": {"covered_lines": 76, "num_statements": 77, "percent_covered": 98.7012987012987, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [59], "excluded_lines": [], "functions": {"what": {"executed_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_jpeg": {"executed_lines": [56, 57, 58], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [59], "excluded_lines": []}, "test_png": {"executed_lines": [67, 68], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_gif": {"executed_lines": [76, 77], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tiff": {"executed_lines": [85, 86], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_rgb": {"executed_lines": [94, 95], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pbm": {"executed_lines": [103, 104], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pgm": {"executed_lines": [112, 113], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_ppm": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_rast": {"executed_lines": [130, 131], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_xbm": {"executed_lines": [139, 140], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_bmp": {"executed_lines": [148, 149], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_webp": {"executed_lines": [157, 158], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_exr": {"executed_lines": [166, 167], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "summary": {"covered_lines": 76, "num_statements": 77, "percent_covered": 98.7012987012987, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [59], "excluded_lines": []}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 48, 50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [15, 16, 17, 18, 19, 20, 21, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_timed_input_windows": {"executed_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [27, 28]}, "timed_input": {"executed_lines": [50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [9, 10]}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 48, 50, 51, 52, 54, 55, 58], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [9, 10, 27, 28]}}}, "src/utils/key_derivation.py": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129, 136, 147, 151, 152, 153, 155, 156, 157, 166, 172, 214, 216, 217, 218, 219, 222, 224, 227, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 251], "summary": {"covered_lines": 77, "num_statements": 117, "percent_covered": 65.8119658119658, "percent_covered_display": "66", "missing_lines": 40, "excluded_lines": 5}, "missing_lines": [109, 131, 132, 133, 148, 149, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 231, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129], "summary": {"covered_lines": 16, "num_statements": 20, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [109, 131, 132, 133], "excluded_lines": []}, "derive_key_from_password_argon2": {"executed_lines": [147, 151, 152, 153, 155, 156, 157, 166], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [148, 149], "excluded_lines": [167, 168, 169]}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": []}, "derive_index_key_seed_only": {"executed_lines": [216, 217, 218, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_index_key": {"executed_lines": [224], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "derive_totp_secret": {"executed_lines": [229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245], "summary": {"covered_lines": 13, "num_statements": 17, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [231, 246, 247, 248], "excluded_lines": []}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [49, 50]}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 96, 97, 98, 100, 101, 104, 105, 108, 111, 113, 115, 116, 123, 126, 127, 129, 136, 147, 151, 152, 153, 155, 156, 157, 166, 172, 214, 216, 217, 218, 219, 222, 224, 227, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 251], "summary": {"covered_lines": 77, "num_statements": 117, "percent_covered": 65.8119658119658, "percent_covered_display": "66", "missing_lines": 40, "excluded_lines": 5}, "missing_lines": [109, 131, 132, 133, 148, 149, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 231, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169]}}}, "src/utils/key_hierarchy.py": {"executed_lines": [1, 3, 4, 5, 8, 21, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"kd": {"executed_lines": [21, 28], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 21, 28], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/key_validation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 35, 36, 37, 38, 41, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 58, 59, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"validate_totp_secret": {"executed_lines": [15, 16, 17, 18, 19, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "validate_ssh_key_pair": {"executed_lines": [25, 26, 27, 35, 36, 37, 38], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "validate_pgp_private_key": {"executed_lines": [43, 44, 45, 46, 47, 48], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "validate_nostr_keys": {"executed_lines": [53, 54, 55, 56, 57, 58, 59, 60], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "validate_seed_phrase": {"executed_lines": [65, 66, 67, 68, 69], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 35, 36, 37, 38, 41, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 58, 59, 60, 63, 65, 66, 67, 68, 69], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 15, 18, 19, 21, 24, 25, 26, 32, 35, 38, 41, 44, 45, 47, 48, 49, 51, 54, 57, 58, 59, 60, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13}, "missing_lines": [], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [15], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter.filter": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "pause_console_logging": {"executed_lines": [35], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "resume_console_logging": {"executed_lines": [41], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "console_logging_paused": {"executed_lines": [47, 48, 49, 51], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui.wrapper": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}, "classes": {"ConsolePauseFilter": {"executed_lines": [15], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter": {"executed_lines": [24, 25, 26], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 35, 38, 41, 44, 45, 47, 48, 49, 51, 54, 57, 58, 59, 60, 62], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 11, 17, 18, 19, 20, 21, 22, 23, 25, 27, 28, 29, 31, 33, 34, 35, 36, 38, 40], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [18, 19, 20, 21, 22, 23], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "InMemorySecret.get_bytes": {"executed_lines": [27, 28, 29], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "InMemorySecret.wipe": {"executed_lines": [33, 34, 35, 36], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "InMemorySecret.get_str": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"InMemorySecret": {"executed_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/password_prompt.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 39, 42, 45, 47, 48, 53, 56, 59, 61, 62, 65, 66, 68, 71, 89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139, 158, 180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201, 219, 235, 236, 237, 238, 239, 240, 241, 242, 243, 259], "summary": {"covered_lines": 68, "num_statements": 126, "percent_covered": 53.96825396825397, "percent_covered_display": "54", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [46, 49, 50, 51, 52, 60, 91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_get_max_attempts": {"executed_lines": [45, 47, 48, 53], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [46, 49, 50, 51, 52], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [59, 61, 62], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [60], "excluded_lines": []}, "prompt_new_password": {"executed_lines": [89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139], "summary": {"covered_lines": 19, "num_statements": 45, "percent_covered": 42.22222222222222, "percent_covered_display": "42", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": []}, "prompt_existing_password": {"executed_lines": [180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201], "summary": {"covered_lines": 11, "num_statements": 27, "percent_covered": 40.74074074074074, "percent_covered_display": "41", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": []}, "confirm_action": {"executed_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243], "summary": {"covered_lines": 9, "num_statements": 18, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": []}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [268], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 39, 42, 45, 47, 48, 53, 56, 59, 61, 62, 65, 66, 68, 71, 89, 90, 96, 97, 99, 100, 101, 102, 104, 113, 114, 120, 123, 124, 125, 127, 137, 138, 139, 158, 180, 181, 184, 185, 186, 187, 188, 190, 199, 200, 201, 219, 235, 236, 237, 238, 239, 240, 241, 242, 243, 259], "summary": {"covered_lines": 68, "num_statements": 126, "percent_covered": 53.96825396825397, "percent_covered_display": "54", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [46, 49, 50, 51, 52, 60, 91, 92, 93, 94, 105, 108, 109, 110, 111, 128, 131, 132, 133, 134, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 182, 191, 194, 195, 196, 197, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": []}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 31, 33, 34, 39, 42, 45, 47, 48, 51, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73, 76, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 107, 109, 110, 111, 112, 113, 114, 118, 121, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 107, "num_statements": 128, "percent_covered": 83.59375, "percent_covered_display": "84", "missing_lines": 21, "excluded_lines": 11}, "missing_lines": [32, 35, 36, 37, 38, 46, 67, 68, 69, 168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [31, 33, 34, 39], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [32, 35, 36, 37, 38], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [45, 47, 48], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [46], "excluded_lines": []}, "_masked_input_windows": {"executed_lines": [53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [67, 68, 69], "excluded_lines": [53, 54]}, "_masked_input_posix": {"executed_lines": [78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [78, 79]}, "masked_input": {"executed_lines": [109, 110, 111, 112, 113, 114, 118], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [115, 116]}, "prompt_seed_words": {"executed_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 40, "num_statements": 52, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15]}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 31, 33, 34, 39, 42, 45, 47, 48, 51, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 71, 72, 73, 76, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 107, 109, 110, 111, 112, 113, 114, 118, 121, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 211, 212, 213, 214], "summary": {"covered_lines": 107, "num_statements": 128, "percent_covered": 83.59375, "percent_covered_display": "84", "missing_lines": 21, "excluded_lines": 11}, "missing_lines": [32, 35, 36, 37, 38, 46, 67, 68, 69, 168, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116]}}}, "src/utils/terminal_utils.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 14, 16, 17, 18, 19, 20, 21, 22, 25, 26, 29, 31, 34, 42, 43, 44, 45, 50, 51, 52, 53, 54, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 113, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 67, "num_statements": 75, "percent_covered": 89.33333333333333, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [15, 46, 47, 48, 49, 63, 85, 89], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [14, 16, 17, 18, 19, 20, 21, 22, 25, 26], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 3}, "missing_lines": [15], "excluded_lines": [21, 22, 25]}, "clear_screen": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "clear_and_print_fingerprint": {"executed_lines": [42, 43, 44, 45, 50, 51, 52, 53, 54], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [46, 47, 48, 49], "excluded_lines": []}, "clear_and_print_profile_chain": {"executed_lines": [61, 62, 64, 65, 66, 67, 68, 69, 70], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [63], "excluded_lines": []}, "clear_header_with_notification": {"executed_lines": [82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 113], "summary": {"covered_lines": 24, "num_statements": 26, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [85, 89], "excluded_lines": [102, 103, 104]}, "pause": {"executed_lines": [118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 14, 16, 17, 18, 19, 20, 21, 22, 25, 26, 29, 31, 34, 42, 43, 44, 45, 50, 51, 52, 53, 54, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 113, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 67, "num_statements": 75, "percent_covered": 89.33333333333333, "percent_covered_display": "89", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [15, 46, 47, 48, 49, 63, 85, 89], "excluded_lines": [21, 22, 25, 102, 103, 104]}}}}, "totals": {"covered_lines": 31521, "num_statements": 36776, "percent_covered": 85.71078964542093, "percent_covered_display": "86", "missing_lines": 5255, "excluded_lines": 222}} \ No newline at end of file diff --git a/artifacts/coverage/coverage.tui2.slice.json b/artifacts/coverage/coverage.tui2.slice.json new file mode 100644 index 00000000..eeeb0ed6 --- /dev/null +++ b/artifacts/coverage/coverage.tui2.slice.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.10.1", "timestamp": "2026-03-02T08:58:21.959483", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}}, "src/local_bip85/bip85.py": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 74, "percent_covered": 25.675675675675677, "percent_covered_display": "26", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "BIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "BIP85.derive_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146], "excluded_lines": []}, "BIP85.derive_symmetric_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/main.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65], "excluded_lines": []}, "load_global_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82], "excluded_lines": []}, "configure_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 130, 132], "excluded_lines": []}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "excluded_lines": []}, "get_notification_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "excluded_lines": []}, "handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208], "excluded_lines": []}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [217, 218, 219, 220, 221], "excluded_lines": []}, "handle_remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 255, 258, 261, 262, 269, 271, 272, 273, 274], "excluded_lines": []}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [249, 250, 251, 252, 253], "excluded_lines": []}, "handle_list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296], "excluded_lines": []}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314], "excluded_lines": []}, "_display_live_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 2}, "missing_lines": [325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361], "excluded_lines": [334, 335]}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [366, 367], "excluded_lines": [368, 369, 370]}, "print_matches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406], "excluded_lines": []}, "handle_post_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443], "excluded_lines": []}, "handle_retrieve_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481], "excluded_lines": []}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "excluded_lines": []}, "_safe_close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [503, 504, 505, 506, 507, 508, 509], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [514, 515, 516, 517, 518, 519, 520, 521, 522], "excluded_lines": []}, "handle_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553], "excluded_lines": []}, "handle_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590], "excluded_lines": []}, "handle_reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609], "excluded_lines": []}, "_get_profile_state_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [614, 615, 616, 617, 618, 619, 620, 622], "excluded_lines": []}, "_clear_nostr_runtime_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "excluded_lines": []}, "handle_reset_nostr_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665], "excluded_lines": []}, "handle_start_fresh_nostr_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708], "excluded_lines": []}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742], "excluded_lines": []}, "handle_set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791], "excluded_lines": []}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840], "excluded_lines": []}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859], "excluded_lines": []}, "handle_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910], "excluded_lines": []}, "handle_toggle_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947], "excluded_lines": []}, "handle_toggle_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "handle_profiles_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038], "excluded_lines": []}, "handle_nostr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112], "excluded_lines": []}, "handle_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 127, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 127, "excluded_lines": 0}, "missing_lines": [1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266], "excluded_lines": []}, "display_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 190, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 190, "excluded_lines": 0}, "missing_lines": [1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751], "excluded_lines": []}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 72, 85, 117, 118, 135, 150, 166, 167, 211, 224, 277, 299, 317, 364, 373, 409, 446, 484, 501, 512, 525, 556, 593, 612, 625, 642, 668, 711, 745, 794, 843, 862, 913, 950, 988, 1041, 1115, 1269, 1487, 1754, 1755], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370]}}}, "src/nostr/__init__.py": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "": {"executed_lines": [3, 5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 58, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 34, "excluded_lines": 2}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}, "classes": {"NostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 33, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26], "excluded_lines": []}, "Keys.hex_to_bech32": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 32], "excluded_lines": []}, "Keys.bech32_to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40], "excluded_lines": []}, "Keys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Keys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 155, "percent_covered": 16.774193548387096, "percent_covered_display": "17", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30], "excluded_lines": []}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "ConnectionHandler._connect_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67], "excluded_lines": []}, "ConnectionHandler._ping_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": []}, "ConnectionHandler.check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [105, 106, 107], "excluded_lines": []}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": []}, "ConnectionHandler.publish_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153], "excluded_lines": []}, "ConnectionHandler.update_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [157, 158, 159, 160, 161, 162], "excluded_lines": []}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": []}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": []}, "ConnectionHandler.close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConnectionHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 129, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 84, "percent_covered": 22.61904761904762, "percent_covered_display": "23", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62], "excluded_lines": []}, "KeyManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78], "excluded_lines": []}, "KeyManager.generate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [82, 83, 85, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": []}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": []}, "KeyManager.get_public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [129], "excluded_lines": []}, "KeyManager.get_private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [138], "excluded_lines": []}, "KeyManager.get_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [147, 148, 149, 150, 151, 152, 153, 154, 155], "excluded_lines": []}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 264, "percent_covered": 10.984848484848484, "percent_covered_display": "11", "missing_lines": 235, "excluded_lines": 11}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46], "excluded_lines": []}, "new_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [57, 58, 59], "excluded_lines": []}, "SnapshotHandler.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "excluded_lines": []}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219], "excluded_lines": []}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 11}, "missing_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310], "excluded_lines": []}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346], "excluded_lines": []}, "SnapshotHandler.publish_delta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "excluded_lines": []}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "excluded_lines": []}, "SnapshotHandler.get_current_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [434, 435], "excluded_lines": []}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [438, 439], "excluded_lines": []}, "SnapshotHandler.get_delta_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [442, 443], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SnapshotHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 225, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 225, "excluded_lines": 11}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59], "excluded_lines": []}}}, "src/seedpass/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/api.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": [], "functions": {"dynamic_cors_headers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93], "excluded_lines": []}, "_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100], "excluded_lines": []}, "_check_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "_enforce_rate_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129], "excluded_lines": []}, "_request_rate_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [133, 134, 135], "excluded_lines": []}, "_enforce_unlock_attempt_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150], "excluded_lines": []}, "_record_unlock_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "start_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205], "excluded_lines": []}, "_require_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [209, 210, 211], "excluded_lines": []}, "_require_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [216, 217, 218], "excluded_lines": []}, "_validate_encryption_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231], "excluded_lines": []}, "_header_truthy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [235], "excluded_lines": []}, "_active_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [239], "excluded_lines": []}, "_policy_isolation_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 252, 253], "excluded_lines": []}, "_require_high_risk_session": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": []}, "_hydrate_partitioned_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "excluded_lines": []}, "_job_profile_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [289, 290, 291], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [295], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [301, 311, 324], "excluded_lines": []}, "_template_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [328], "excluded_lines": []}, "_load_template_signing_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [332, 333, 334, 335, 336, 337, 338, 339], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [343], "excluded_lines": []}, "_template_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [347, 352, 353, 354, 355, 356, 357, 358, 359, 360], "excluded_lines": []}, "_template_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [364, 365, 366, 367, 368, 369, 372, 373], "excluded_lines": []}, "_build_job_profile_template_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438], "excluded_lines": []}, "_mask_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [442, 443, 444], "excluded_lines": []}, "search_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [451, 452, 453, 454, 455], "excluded_lines": []}, "high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [472, 473, 474, 475, 476], "excluded_lines": []}, "high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519], "excluded_lines": []}, "high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540], "excluded_lines": []}, "list_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [549, 550, 551, 552], "excluded_lines": []}, "create_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601], "excluded_lines": []}, "revoke_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 614], "excluded_lines": []}, "run_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682], "excluded_lines": []}, "template_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [709, 710, 711, 712, 713, 714], "excluded_lines": []}, "template_agent_job_profile_post": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [731, 732, 733, 734, 735, 736], "excluded_lines": []}, "verify_agent_job_profile_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777], "excluded_lines": []}, "check_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938], "excluded_lines": []}, "agent_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [947, 948, 949, 950], "excluded_lines": []}, "agent_recovery_drills_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [959, 960, 961, 962, 963], "excluded_lines": []}, "get_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "create_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143], "excluded_lines": []}, "update_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181], "excluded_lines": []}, "get_entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198], "excluded_lines": []}, "add_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223], "excluded_lines": []}, "remove_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247], "excluded_lines": []}, "import_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276], "excluded_lines": []}, "export_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303], "excluded_lines": []}, "archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1311, 1312, 1313, 1314, 1315], "excluded_lines": []}, "unarchive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1323, 1324, 1325, 1326, 1327], "excluded_lines": []}, "get_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345], "excluded_lines": []}, "update_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384], "excluded_lines": []}, "set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406], "excluded_lines": []}, "list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1413, 1414, 1415], "excluded_lines": []}, "add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1423, 1424, 1425, 1426, 1427], "excluded_lines": []}, "remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1435, 1436, 1437, 1438, 1439], "excluded_lines": []}, "select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1447, 1448, 1449, 1451, 1452, 1453, 1454], "excluded_lines": []}, "export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490], "excluded_lines": []}, "get_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517], "excluded_lines": []}, "get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1525, 1526, 1527, 1528], "excluded_lines": []}, "get_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545], "excluded_lines": []}, "get_nostr_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1550, 1551, 1552, 1553], "excluded_lines": []}, "list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1559, 1560, 1561, 1562, 1563], "excluded_lines": []}, "add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586], "excluded_lines": []}, "remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607], "excluded_lines": []}, "reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1631, 1632, 1633, 1634, 1635], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683], "excluded_lines": []}, "verify_export_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1699, 1700, 1701, 1702], "excluded_lines": []}, "export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0}, "missing_lines": [1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794], "excluded_lines": []}, "import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853], "excluded_lines": []}, "import_vault._handle_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1822, 1823, 1824, 1825, 1826, 1827, 1829], "excluded_lines": []}, "backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926], "excluded_lines": []}, "change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1934, 1935, 1936, 1937, 1939], "excluded_lines": []}, "generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966], "excluded_lines": []}, "lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1974, 1975, 1976, 1977], "excluded_lines": []}, "unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997], "excluded_lines": []}, "shutdown_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2008, 2009, 2011], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 178, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": []}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74], "excluded_lines": []}, "_gui_backend_available": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82], "excluded_lines": []}, "_prime_tui2_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [93, 94, 103, 104, 105], "excluded_lines": [114, 115]}, "_launch_legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173], "excluded_lines": []}, "root_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [179, 180, 181], "excluded_lines": []}, "tui2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242], "excluded_lines": []}, "legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "gui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 77, 85, 118, 124, 125, 176, 177, 184, 185, 245, 246, 252, 253], "excluded_lines": [333, 334]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334]}}}, "src/seedpass/cli/agent.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409], "functions": {"_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [168], "excluded_lines": []}, "_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [172], "excluded_lines": []}, "_token_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [176], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [180], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "_ensure_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [188], "excluded_lines": []}, "_mask_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [192, 193, 194, 195, 196], "excluded_lines": []}, "_automation_job_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [211, 220, 221, 222, 223, 226], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [230], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [236, 246, 259], "excluded_lines": []}, "_resolve_secret_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287], "excluded_lines": []}, "_deny_all_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [291, 310], "excluded_lines": []}, "_normalize_legacy_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380], "excluded_lines": []}, "_validate_rule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 2}, "missing_lines": [384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413], "excluded_lines": [408, 409]}, "_normalize_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0}, "missing_lines": [417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554], "excluded_lines": []}, "_load_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578], "excluded_lines": []}, "_save_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [582, 583, 584, 585, 586], "excluded_lines": []}, "_load_policy_from_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [590, 591, 592, 593, 594, 595, 596], "excluded_lines": []}, "_policy_json_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [600], "excluded_lines": []}, "_policy_full_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [604, 607], "excluded_lines": []}, "_policy_diff_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [613, 614, 616, 617, 618, 619, 620, 626], "excluded_lines": []}, "_agent_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [651, 652, 659, 660], "excluded_lines": []}, "_seed_from_inputs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684], "excluded_lines": []}, "_load_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [688, 689, 690, 691, 692, 693, 694, 695, 696, 697], "excluded_lines": []}, "_save_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [701, 702, 703, 704], "excluded_lines": []}, "_hash_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [708], "excluded_lines": []}, "_issue_token_record": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [720, 721, 722, 723, 736], "excluded_lines": []}, "_parse_iso8601": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [740, 741, 742, 743], "excluded_lines": []}, "_validate_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796], "excluded_lines": []}, "_load_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [800, 801, 802, 803, 804, 805, 806, 807], "excluded_lines": []}, "_append_audit_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837], "excluded_lines": []}, "_policy_decision": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880], "excluded_lines": []}, "_build_entry_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [884], "excluded_lines": []}, "_high_risk_lock_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [888, 889, 890, 891, 892, 893, 894, 895, 896], "excluded_lines": []}, "_hydrate_partition_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [906, 907, 908, 909, 910, 911, 912, 913, 914], "excluded_lines": []}, "_token_posture_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943], "excluded_lines": []}, "_severity_rank": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [953, 954], "excluded_lines": []}, "_posture_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218], "excluded_lines": []}, "_runtime_config_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277], "excluded_lines": []}, "_remediation_actions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412], "excluded_lines": []}, "agent_init": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523], "excluded_lines": []}, "agent_policy_show": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1529, 1530, 1531, 1532, 1533], "excluded_lines": []}, "agent_policy_lint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571], "excluded_lines": []}, "agent_policy_review": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633], "excluded_lines": []}, "agent_policy_apply": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685], "excluded_lines": []}, "agent_policy_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724], "excluded_lines": []}, "agent_identity_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760], "excluded_lines": []}, "agent_identity_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1768], "excluded_lines": []}, "agent_identity_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1785, 1786, 1787, 1788, 1789, 1790], "excluded_lines": []}, "agent_high_risk_factor_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1823, 1830, 1831, 1832, 1833, 1834], "excluded_lines": []}, "agent_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915], "excluded_lines": []}, "agent_high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1931, 1932, 1933, 1934, 1935, 1939], "excluded_lines": []}, "agent_high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1951, 1952, 1953, 1954, 1955, 1965], "excluded_lines": []}, "agent_high_risk_partition_migrate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075], "excluded_lines": []}, "agent_token_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174], "excluded_lines": []}, "agent_token_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2198, 2199, 2200, 2201, 2202, 2203, 2217], "excluded_lines": []}, "agent_token_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242], "excluded_lines": []}, "agent_approval_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2280, 2287, 2297], "excluded_lines": []}, "agent_approval_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2305, 2306], "excluded_lines": []}, "agent_approval_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2320, 2321, 2324, 2325, 2326], "excluded_lines": []}, "agent_lease_consume": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0}, "missing_lines": [2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520], "excluded_lines": []}, "agent_lease_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2528, 2529], "excluded_lines": []}, "agent_lease_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2537, 2538, 2539, 2540, 2541, 2542], "excluded_lines": []}, "agent_job_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2614, 2615, 2616, 2621, 2622, 2624], "excluded_lines": []}, "agent_job_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754], "excluded_lines": []}, "agent_job_profile_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857], "excluded_lines": []}, "agent_job_profile_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2867, 2868], "excluded_lines": []}, "agent_job_profile_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "agent_job_profile_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958], "excluded_lines": []}, "agent_job_profile_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3169, 3170, 3176, 3177, 3178], "excluded_lines": []}, "agent_recovery_drill_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3186, 3187], "excluded_lines": []}, "agent_bootstrap_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313], "excluded_lines": []}, "agent_posture_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439], "excluded_lines": []}, "agent_posture_remediate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544], "excluded_lines": []}, "agent_export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618], "excluded_lines": []}, "agent_export_manifest_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672], "excluded_lines": []}, "agent_document_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855], "excluded_lines": []}, "agent_document_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0}, "missing_lines": [3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142], "excluded_lines": []}, "agent_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 96, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 96, "excluded_lines": 0}, "missing_lines": [4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 166, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 166, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 171, 175, 179, 183, 187, 191, 199, 229, 233, 262, 290, 313, 383, 416, 557, 581, 589, 599, 603, 610, 643, 663, 687, 700, 707, 711, 739, 746, 799, 810, 840, 883, 887, 899, 917, 952, 957, 1221, 1280, 1415, 1416, 1526, 1527, 1536, 1537, 1574, 1575, 1636, 1637, 1688, 1689, 1727, 1728, 1763, 1764, 1780, 1781, 1793, 1794, 1837, 1838, 1928, 1929, 1948, 1949, 1968, 1969, 2078, 2079, 2193, 2194, 2220, 2221, 2245, 2246, 2300, 2301, 2315, 2316, 2329, 2330, 2523, 2524, 2532, 2533, 2547, 2548, 2641, 2642, 2757, 2758, 2862, 2863, 2873, 2874, 2886, 2887, 2976, 2977, 3064, 3065, 3111, 3112, 3147, 3148, 3181, 3182, 3196, 3197, 3316, 3317, 3442, 3443, 3547, 3548, 3621, 3622, 3675, 3676, 3858, 3859, 4145, 4146], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409]}}}, "src/seedpass/cli/api.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99], "functions": {"api_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80], "excluded_lines": []}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [90, 92, 93], "excluded_lines": [98, 99]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 83, 84], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99]}}}, "src/seedpass/cli/capabilities.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": [], "functions": {"build_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "emit_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292], "excluded_lines": []}, "register_capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [297], "excluded_lines": []}, "register_capabilities_command.capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [306], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 254, 295, 296], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": []}}}, "src/seedpass/cli/common.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 29, 30, 31, 32, 33, 34], "excluded_lines": []}, "_get_services": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [42, 43], "excluded_lines": []}, "_get_entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "_get_config_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [52, 53], "excluded_lines": []}, "_get_util_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}, "_get_nostr_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [62, 63], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": []}}}, "src/seedpass/cli/config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 16, 18], "excluded_lines": []}, "config_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [24, 26, 27, 32, 33, 34, 35, 40], "excluded_lines": [36, 37, 38]}, "config_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 6}, "missing_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91], "excluded_lines": [54, 55, 56, 86, 87, 88]}, "config_toggle_offline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 6}, "missing_lines": [97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [100, 101, 102, 119, 120, 121]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121]}}}, "src/seedpass/cli/entry.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52], "excluded_lines": []}, "entry_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "entry_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122], "excluded_lines": []}, "entry_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174], "excluded_lines": []}, "entry_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [190, 191, 199], "excluded_lines": []}, "entry_add_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [210, 211, 216], "excluded_lines": []}, "entry_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [229, 230, 237], "excluded_lines": []}, "entry_add_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [248, 249, 254], "excluded_lines": []}, "entry_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [266, 267, 273], "excluded_lines": []}, "entry_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [285, 286, 287], "excluded_lines": []}, "entry_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [298, 299, 304], "excluded_lines": []}, "entry_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [316, 317, 323], "excluded_lines": []}, "entry_import_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [334, 335, 336], "excluded_lines": []}, "entry_export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [351, 352, 353], "excluded_lines": []}, "entry_modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413], "excluded_lines": []}, "entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [422, 423, 424, 425, 426, 427, 428], "excluded_lines": []}, "entry_link_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [440, 441, 442, 443, 444, 445, 446], "excluded_lines": []}, "entry_link_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [459, 460, 461, 462, 463, 464, 465], "excluded_lines": []}, "entry_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [471, 472, 473], "excluded_lines": []}, "entry_unarchive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [479, 480, 481], "excluded_lines": []}, "entry_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [487, 488], "excluded_lines": []}, "entry_export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 55, 56, 83, 84, 125, 126, 177, 178, 202, 203, 219, 220, 240, 241, 257, 258, 276, 277, 290, 291, 307, 308, 326, 327, 339, 340, 356, 357, 416, 417, 431, 432, 449, 450, 468, 469, 476, 477, 484, 485, 491, 492], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [13, 14, 15], "excluded_lines": []}, "fingerprint_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "fingerprint_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [28, 29], "excluded_lines": []}, "fingerprint_switch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [35, 36, 37], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": []}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25], "excluded_lines": []}, "nostr_get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [31, 32, 33], "excluded_lines": []}, "nostr_list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [39, 40, 41, 42], "excluded_lines": []}, "nostr_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [48, 49, 50, 54], "excluded_lines": [51, 52, 53]}, "nostr_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [60, 61, 62, 66], "excluded_lines": [63, 64, 65]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65]}}}, "src/seedpass/cli/util.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [64, 65], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [71, 72], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": []}}}, "src/seedpass/cli/vault.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252], "functions": {"_isolation_required_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "vault_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169], "excluded_lines": []}, "vault_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "vault_change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 3}, "missing_lines": [186, 187, 188, 189, 190, 196], "excluded_lines": [193, 194, 195]}, "vault_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 3}, "missing_lines": [232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254], "excluded_lines": [250, 251, 252]}, "vault_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "vault_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [270, 271, 272], "excluded_lines": []}, "vault_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 48, 49, 172, 173, 183, 184, 199, 200, 259, 260, 267, 268, 275, 276], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252]}}}, "src/seedpass/core/__init__.py": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}, "": {"executed_lines": [3, 5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}}}, "src/seedpass/core/agent_approval.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52], "excluded_lines": []}, "issue_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 76, 77, 78], "excluded_lines": []}, "approval_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_approvals": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96], "excluded_lines": []}, "revoke_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "consume_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}}}, "src/seedpass/core/agent_export_policy.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": [], "functions": {"_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [54], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [58], "excluded_lines": []}, "_ensure_parent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [62], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [66], "excluded_lines": []}, "_load_or_create_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 75, 76, 77], "excluded_lines": []}, "_previous_signature": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "record_export_policy_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 104, 105, 108, 109, 110, 111, 112], "excluded_lines": []}, "load_export_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185], "excluded_lines": []}, "full_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [189], "excluded_lines": []}, "allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [196, 197, 198, 199], "excluded_lines": []}, "kind_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [203], "excluded_lines": []}, "evaluate_full_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [207, 208, 209], "excluded_lines": []}, "evaluate_kind_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [213, 214, 215], "excluded_lines": []}, "filter_index_for_allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": []}, "_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [238, 260, 261], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [265], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [269, 270, 271, 272], "excluded_lines": []}, "_sorted_index_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [276, 282], "excluded_lines": []}, "_sorted_index_keys._key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [277, 278, 279, 280], "excluded_lines": []}, "compute_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [287], "excluded_lines": []}, "_redacted_copy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [291, 292, 293, 294, 296, 297], "excluded_lines": []}, "build_policy_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342], "excluded_lines": []}, "verify_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0}, "missing_lines": [353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}}}, "src/seedpass/core/agent_identity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_identities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "ensure_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102], "excluded_lines": []}, "revoke_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "excluded_lines": []}, "identity_active": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [128, 129, 130, 131], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 92, 110, 127], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": []}}}, "src/seedpass/core/agent_job.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "revoke_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}}}, "src/seedpass/core/agent_recovery.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": [], "functions": {"_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "_mod_inv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "_coef": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [29, 30, 31], "excluded_lines": []}, "_poly_eval_at_x": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39, 40], "excluded_lines": []}, "_parse_share_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "excluded_lines": []}, "split_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105], "excluded_lines": []}, "recover_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "excluded_lines": []}, "_drill_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [156], "excluded_lines": []}, "_drill_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [160], "excluded_lines": []}, "_load_drill_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [164, 165, 166, 167, 168, 169, 170, 171], "excluded_lines": []}, "_latest_drill_sig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "excluded_lines": []}, "record_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236], "excluded_lines": []}, "list_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": []}, "verify_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_isolation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": [], "functions": {"_factor_hash_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "_partition_envelope_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [26], "excluded_lines": []}, "_session_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [30], "excluded_lines": []}, "_session_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [34], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "_load_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "excluded_lines": []}, "_save_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69], "excluded_lines": []}, "_factor_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [77], "excluded_lines": []}, "_derive_wrapping_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 88], "excluded_lines": []}, "_build_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [92, 93, 94, 95], "excluded_lines": []}, "_load_partition_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "excluded_lines": []}, "_unwrap_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "excluded_lines": []}, "set_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [134, 135, 138, 139, 140, 142, 143, 144, 145, 146], "excluded_lines": []}, "high_risk_factor_configured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154], "excluded_lines": []}, "verify_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173], "excluded_lines": []}, "unwrap_high_risk_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "grant_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [186, 187, 193, 194, 195, 200, 201, 202, 203], "excluded_lines": []}, "high_risk_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "excluded_lines": []}, "revoke_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [233, 234, 235, 236, 237, 240, 241, 242, 243, 244], "excluded_lines": []}, "unlocked_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": []}, "partition_key_tag_for_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [266, 267], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_lease.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [17], "excluded_lines": []}, "_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "_load_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], "excluded_lines": []}, "_save_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56], "excluded_lines": []}, "issue_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [69, 70, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_leases": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96, 97], "excluded_lines": []}, "revoke_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "consume_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 464, "percent_covered": 29.95689655172414, "percent_covered_display": "30", "missing_lines": 325, "excluded_lines": 0}, "missing_lines": [121, 122, 127, 128, 129, 134, 135, 136, 141, 142, 143, 146, 151, 152, 155, 156, 157, 162, 163, 168, 169, 170, 175, 176, 181, 182, 189, 190, 197, 198, 203, 204, 209, 210, 211, 218, 219, 224, 225, 230, 231, 232, 233, 240, 241, 246, 247, 248, 249, 250, 251, 252, 257, 258, 263, 264, 271, 272, 280, 281, 305, 306, 307, 308, 309, 310, 311, 314, 315, 318, 319, 320, 321, 322, 323, 326, 327, 330, 334, 335, 341, 342, 348, 349, 355, 356, 362, 363, 369, 370, 376, 377, 378, 379, 380, 381, 382, 383, 387, 388, 389, 390, 391, 392, 393, 394, 398, 399, 400, 401, 402, 403, 404, 406, 407, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 444, 451, 452, 464, 465, 466, 475, 476, 485, 486, 492, 493, 504, 505, 513, 514, 523, 524, 530, 531, 541, 542, 549, 550, 555, 556, 559, 560, 569, 570, 576, 577, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 654, 655, 672, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705, 708, 709, 710, 713, 714, 715, 718, 719, 722, 725, 726, 729, 730, 733, 734, 741, 742, 745, 746, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 803, 804, 807, 808, 811, 812, 813, 814, 815, 816, 819, 820, 823, 824, 825, 826, 833, 834, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 870, 871, 875, 876, 878, 879, 882, 883, 886, 887, 894, 895, 898, 899, 902, 903, 906, 907, 908, 913, 914, 915, 920, 921, 923, 924, 925, 926, 927, 928, 929, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 962, 963, 964, 965, 966, 967, 968, 974, 975, 976, 977, 978, 979], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [121, 122], "excluded_lines": []}, "VaultService.export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [127, 128, 129], "excluded_lines": []}, "VaultService.import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [134, 135, 136], "excluded_lines": []}, "VaultService.export_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [141, 142, 143, 146], "excluded_lines": []}, "VaultService.import_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [151, 152, 155, 156, 157], "excluded_lines": []}, "VaultService.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "VaultService.unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [168, 169, 170], "excluded_lines": []}, "VaultService.lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [175, 176], "excluded_lines": []}, "VaultService.backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [181, 182], "excluded_lines": []}, "VaultService.stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [189, 190], "excluded_lines": []}, "ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [197, 198], "excluded_lines": []}, "ProfileService.list_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [203, 204], "excluded_lines": []}, "ProfileService.add_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [209, 210, 211], "excluded_lines": []}, "ProfileService.remove_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [218, 219], "excluded_lines": []}, "ProfileService.switch_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [224, 225], "excluded_lines": []}, "ProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233], "excluded_lines": []}, "SyncService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [240, 241], "excluded_lines": []}, "SyncService.sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [246, 247, 248, 249, 250, 251, 252], "excluded_lines": []}, "SyncService.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [257, 258], "excluded_lines": []}, "SyncService.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [263, 264], "excluded_lines": []}, "EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [271, 272], "excluded_lines": []}, "EntryService.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [280, 281], "excluded_lines": []}, "EntryService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [305, 306, 307, 308, 309, 310, 311], "excluded_lines": []}, "EntryService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [314, 315], "excluded_lines": []}, "EntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [318, 319, 320, 321, 322, 323], "excluded_lines": []}, "EntryService.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [326, 327, 330], "excluded_lines": []}, "EntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [334, 335], "excluded_lines": []}, "EntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [341, 342], "excluded_lines": []}, "EntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [348, 349], "excluded_lines": []}, "EntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [355, 356], "excluded_lines": []}, "EntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [362, 363], "excluded_lines": []}, "EntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [369, 370], "excluded_lines": []}, "EntryService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [376, 377, 378, 379, 380, 381, 382, 383], "excluded_lines": []}, "EntryService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [387, 388, 389, 390, 391, 392, 393, 394], "excluded_lines": []}, "EntryService.copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [398, 399, 400, 401, 402, 403, 404, 406, 407], "excluded_lines": []}, "EntryService.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 444, 451, 452], "excluded_lines": []}, "EntryService.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [464, 465, 466, 475, 476], "excluded_lines": []}, "EntryService.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [485, 486, 492, 493], "excluded_lines": []}, "EntryService.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [504, 505, 513, 514], "excluded_lines": []}, "EntryService.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [523, 524, 530, 531], "excluded_lines": []}, "EntryService.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [541, 542, 549, 550], "excluded_lines": []}, "EntryService.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [555, 556, 559, 560], "excluded_lines": []}, "EntryService.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [569, 570, 576, 577], "excluded_lines": []}, "EntryService.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [589, 590, 598, 599], "excluded_lines": []}, "EntryService.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [610, 611, 618, 619], "excluded_lines": []}, "EntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [628, 629], "excluded_lines": []}, "EntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [654, 655, 672], "excluded_lines": []}, "EntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [682, 683, 686, 687], "excluded_lines": []}, "EntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [696, 697, 700, 701], "excluded_lines": []}, "EntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [704, 705], "excluded_lines": []}, "EntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [708, 709, 710], "excluded_lines": []}, "EntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [713, 714, 715], "excluded_lines": []}, "EntryService.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [718, 719, 722], "excluded_lines": []}, "EntryService.display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [725, 726], "excluded_lines": []}, "EntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [729, 730], "excluded_lines": []}, "EntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [733, 734], "excluded_lines": []}, "ConfigService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [741, 742], "excluded_lines": []}, "ConfigService.get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [745, 746], "excluded_lines": []}, "ConfigService.set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800], "excluded_lines": []}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [803, 804], "excluded_lines": []}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [807, 808], "excluded_lines": []}, "ConfigService.set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [811, 812, 813, 814, 815, 816], "excluded_lines": []}, "ConfigService.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [819, 820], "excluded_lines": []}, "ConfigService.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [823, 824, 825, 826], "excluded_lines": []}, "UtilityService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [833, 834], "excluded_lines": []}, "UtilityService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 870, 871, 875, 876, 878, 879], "excluded_lines": []}, "UtilityService.verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [882, 883], "excluded_lines": []}, "UtilityService.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [886, 887], "excluded_lines": []}, "NostrService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [894, 895], "excluded_lines": []}, "NostrService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [898, 899], "excluded_lines": []}, "NostrService.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [902, 903], "excluded_lines": []}, "NostrService.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [906, 907, 908], "excluded_lines": []}, "NostrService.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [913, 914, 915], "excluded_lines": []}, "NostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [920, 921, 923, 924, 925, 926, 927, 928, 929], "excluded_lines": []}, "NostrService._clear_runtime_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945], "excluded_lines": []}, "NostrService.reset_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [949, 950, 951, 952, 953, 954, 955, 956, 957, 958], "excluded_lines": []}, "NostrService.start_fresh_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [962, 963, 964, 965, 966, 967, 968, 974, 975, 976, 977, 978, 979], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [121, 122, 127, 128, 129, 134, 135, 136, 141, 142, 143, 146, 151, 152, 155, 156, 157, 162, 163, 168, 169, 170, 175, 176, 181, 182, 189, 190], "excluded_lines": []}, "ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [197, 198, 203, 204, 209, 210, 211, 218, 219, 224, 225, 230, 231, 232, 233], "excluded_lines": []}, "SyncService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [240, 241, 246, 247, 248, 249, 250, 251, 252, 257, 258, 263, 264], "excluded_lines": []}, "EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 147, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [271, 272, 280, 281, 305, 306, 307, 308, 309, 310, 311, 314, 315, 318, 319, 320, 321, 322, 323, 326, 327, 330, 334, 335, 341, 342, 348, 349, 355, 356, 362, 363, 369, 370, 376, 377, 378, 379, 380, 381, 382, 383, 387, 388, 389, 390, 391, 392, 393, 394, 398, 399, 400, 401, 402, 403, 404, 406, 407, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 444, 451, 452, 464, 465, 466, 475, 476, 485, 486, 492, 493, 504, 505, 513, 514, 523, 524, 530, 531, 541, 542, 549, 550, 555, 556, 559, 560, 569, 570, 576, 577, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 654, 655, 672, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705, 708, 709, 710, 713, 714, 715, 718, 719, 722, 725, 726, 729, 730, 733, 734], "excluded_lines": []}, "ConfigService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [741, 742, 745, 746, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 803, 804, 807, 808, 811, 812, 813, 814, 815, 816, 819, 820, 823, 824, 825, 826], "excluded_lines": []}, "UtilityService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [833, 834, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 870, 871, 875, 876, 878, 879, 882, 883, 886, 887], "excluded_lines": []}, "NostrService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [894, 895, 898, 899, 902, 903, 906, 907, 908, 913, 914, 915, 920, 921, 923, 924, 925, 926, 927, 928, 929, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 962, 963, 964, 965, 966, 967, 968, 974, 975, 976, 977, 978, 979], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/auth_broker.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": [], "functions": {"_password_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 18], "excluded_lines": []}, "_password_from_keyring": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34], "excluded_lines": []}, "_password_from_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "resolve_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 21, 37, 57], "excluded_lines": []}}, "classes": {"AuthBrokerError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}}}, "src/seedpass/core/backup.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 116, "percent_covered": 16.379310344827587, "percent_covered_display": "16", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 55, 56, 57], "excluded_lines": []}, "BackupManager.create_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93], "excluded_lines": []}, "BackupManager._create_additional_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "excluded_lines": [108, 109]}, "BackupManager.restore_latest_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141], "excluded_lines": []}, "BackupManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164], "excluded_lines": []}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": []}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"BackupManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 97, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109]}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/compat.py": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "functions": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}, "classes": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 276, "percent_covered": 22.82608695652174, "percent_covered_display": "23", "missing_lines": 213, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": [19, 20], "functions": {"ConfigManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [56, 57, 58], "excluded_lines": []}, "ConfigManager.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149], "excluded_lines": []}, "ConfigManager.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [153, 154, 155, 156, 157, 158], "excluded_lines": []}, "ConfigManager.set_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [162, 163, 164, 165, 166], "excluded_lines": []}, "ConfigManager.set_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173], "excluded_lines": []}, "ConfigManager.verify_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180, 181], "excluded_lines": []}, "ConfigManager.change_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188], "excluded_lines": []}, "ConfigManager.set_password_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [192, 193, 194], "excluded_lines": []}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [198, 199, 200, 201, 202], "excluded_lines": []}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [206, 207], "excluded_lines": []}, "ConfigManager.set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 215], "excluded_lines": []}, "ConfigManager.get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [219, 220], "excluded_lines": []}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [224, 225, 226, 227, 228], "excluded_lines": []}, "ConfigManager.get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [232, 233], "excluded_lines": []}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [237, 238, 239, 240, 241], "excluded_lines": []}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [245, 246], "excluded_lines": []}, "ConfigManager.set_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [250, 251, 252], "excluded_lines": []}, "ConfigManager.get_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [256, 257, 258], "excluded_lines": []}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "ConfigManager.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [268, 269, 270], "excluded_lines": []}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [274, 275], "excluded_lines": []}, "ConfigManager.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [279, 280], "excluded_lines": []}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [284, 285, 286, 287, 288], "excluded_lines": []}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [292, 293], "excluded_lines": []}, "ConfigManager.set_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [297, 298, 299, 300, 301], "excluded_lines": []}, "ConfigManager.get_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [305, 306], "excluded_lines": []}, "ConfigManager.get_password_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [311, 313, 314], "excluded_lines": []}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [326, 327, 328], "excluded_lines": []}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [331, 332, 333], "excluded_lines": []}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [336, 337, 338], "excluded_lines": []}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [341, 342, 343], "excluded_lines": []}, "ConfigManager.set_include_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [347, 348, 349], "excluded_lines": []}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [353, 354, 355], "excluded_lines": []}, "ConfigManager.set_special_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [359, 360, 361], "excluded_lines": []}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [365, 366, 367], "excluded_lines": []}, "ConfigManager.set_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [371, 372, 373], "excluded_lines": []}, "ConfigManager.get_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [377, 378], "excluded_lines": []}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [390, 391], "excluded_lines": []}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399], "excluded_lines": []}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [403, 404], "excluded_lines": []}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [407, 408, 409], "excluded_lines": []}, "ConfigManager.get_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [412, 413], "excluded_lines": []}, "ConfigManager.get_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [417, 418, 419, 420, 421], "excluded_lines": []}, "ConfigManager.set_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428, 429], "excluded_lines": []}, "ConfigManager.set_partition_unlock_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443], "excluded_lines": []}, "ConfigManager.is_partition_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}, "classes": {"ConfigManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 213, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 213, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}}, "src/seedpass/core/display_service.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 341, "percent_covered": 7.9178885630498534, "percent_covered_display": "8", "missing_lines": 314, "excluded_lines": 2}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": [14, 15], "functions": {"DisplayService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "DisplayService._manager_module": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [30, 32], "excluded_lines": []}, "DisplayService._confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "DisplayService._copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "DisplayService._timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "DisplayService.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77], "excluded_lines": []}, "DisplayService._display_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "excluded_lines": []}, "DisplayService._display_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176], "excluded_lines": []}, "DisplayService._display_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226], "excluded_lines": []}, "DisplayService._display_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261], "excluded_lines": []}, "DisplayService._display_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290], "excluded_lines": []}, "DisplayService._display_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342], "excluded_lines": []}, "DisplayService._display_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385], "excluded_lines": []}, "DisplayService._display_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430], "excluded_lines": []}, "DisplayService._display_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}, "classes": {"DisplayService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 314, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 314, "excluded_lines": 0}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 332, "percent_covered": 13.855421686746988, "percent_covered_display": "14", "missing_lines": 286, "excluded_lines": 23}, "missing_lines": [42, 43, 44, 51, 54, 55, 73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [11, 12, 13, 15, 196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [42, 43, 44], "excluded_lines": []}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97], "excluded_lines": []}, "EncryptionManager.encrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "EncryptionManager.decrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 2}, "missing_lines": [126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195], "excluded_lines": [196, 197]}, "EncryptionManager.decrypt_legacy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 4}, "missing_lines": [206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241], "excluded_lines": [229, 230, 238, 239]}, "EncryptionManager.resolve_relative_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269], "excluded_lines": []}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [275, 276, 277], "excluded_lines": []}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "excluded_lines": []}, "EncryptionManager._serialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [298, 299, 300, 301], "excluded_lines": []}, "EncryptionManager._deserialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [311, 312, 313, 315, 316, 317, 318, 319, 320, 325], "excluded_lines": [321, 322]}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "excluded_lines": []}, "EncryptionManager.decrypt_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [348, 349, 350, 351, 352, 353], "excluded_lines": []}, "EncryptionManager.get_file_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [356, 357, 358, 359, 360, 361], "excluded_lines": []}, "EncryptionManager.save_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [370, 371, 372, 373, 375, 376, 377], "excluded_lines": []}, "EncryptionManager.load_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 4}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439], "excluded_lines": [430, 431, 432, 433]}, "EncryptionManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [442, 443, 444, 445, 446, 447, 448], "excluded_lines": []}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 7}, "missing_lines": [470, 471, 473, 474, 475, 477, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533], "excluded_lines": [534, 535, 536, 540, 546, 547, 548]}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [478, 479, 481, 482, 483, 484, 485, 486, 487], "excluded_lines": []}, "EncryptionManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591], "excluded_lines": []}, "EncryptionManager.validate_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [599, 600, 601, 602, 603, 604, 605, 606, 607], "excluded_lines": []}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": []}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 280, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 280, "excluded_lines": 19}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548]}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 4}, "missing_lines": [42, 43, 44], "excluded_lines": [11, 12, 13, 15]}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 883, "percent_covered": 8.267270668176671, "percent_covered_display": "8", "missing_lines": 810, "excluded_lines": 3}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76], "excluded_lines": []}, "EntryManager.clear_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "EntryManager._now_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [84], "excluded_lines": []}, "EntryManager._iso_from_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [88], "excluded_lines": []}, "EntryManager._now_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "EntryManager._normalize_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118], "excluded_lines": []}, "EntryManager._normalize_entry_defaults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157], "excluded_lines": []}, "EntryManager._load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185], "excluded_lines": []}, "EntryManager._save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [188, 189, 190, 191, 192, 193, 194], "excluded_lines": []}, "EntryManager.get_next_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214], "excluded_lines": []}, "EntryManager.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309], "excluded_lines": []}, "EntryManager.get_next_totp_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [313, 314, 315, 323], "excluded_lines": []}, "EntryManager.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402], "excluded_lines": []}, "EntryManager.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450], "excluded_lines": []}, "EntryManager.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [455, 456, 457, 458, 459, 461, 463, 464], "excluded_lines": []}, "EntryManager.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515], "excluded_lines": []}, "EntryManager.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536], "excluded_lines": []}, "EntryManager.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585], "excluded_lines": []}, "EntryManager.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [600, 601, 602, 604, 605, 606, 622, 623, 624, 625], "excluded_lines": []}, "EntryManager.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [639, 640, 641, 643, 644, 645, 660, 661, 662, 663], "excluded_lines": []}, "EntryManager.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [676, 677, 678, 679, 680, 681, 682], "excluded_lines": []}, "EntryManager.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730], "excluded_lines": []}, "EntryManager.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755], "excluded_lines": []}, "EntryManager.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803], "excluded_lines": []}, "EntryManager.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825], "excluded_lines": []}, "EntryManager.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885], "excluded_lines": []}, "EntryManager.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908], "excluded_lines": []}, "EntryManager.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928], "excluded_lines": []}, "EntryManager.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949], "excluded_lines": []}, "EntryManager.get_totp_time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [953, 954, 955, 956, 959, 961, 962], "excluded_lines": []}, "EntryManager.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995], "excluded_lines": []}, "EntryManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1003, 1004, 1005, 1006, 1007, 1010], "excluded_lines": []}, "EntryManager.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049], "excluded_lines": []}, "EntryManager.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352], "excluded_lines": []}, "EntryManager.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392], "excluded_lines": []}, "EntryManager.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430], "excluded_lines": []}, "EntryManager.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458], "excluded_lines": []}, "EntryManager.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1462], "excluded_lines": []}, "EntryManager.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1466], "excluded_lines": []}, "EntryManager.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618], "excluded_lines": []}, "EntryManager.list_entries.sort_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510], "excluded_lines": []}, "EntryManager.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700], "excluded_lines": []}, "EntryManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770], "excluded_lines": []}, "EntryManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793], "excluded_lines": []}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831], "excluded_lines": []}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868], "excluded_lines": []}, "EntryManager.get_entry_summaries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}, "classes": {"EntryManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 810, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 810, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 114, "percent_covered": 9.649122807017545, "percent_covered_display": "10", "missing_lines": 103, "excluded_lines": 8}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "EntryService.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 4}, "missing_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [239, 240, 241, 242]}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "excluded_lines": []}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 2}, "missing_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "excluded_lines": [95, 96]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}, "classes": {"EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 6}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [95, 96, 239, 240, 241, 242]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/errors.py": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SeedPassError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/high_risk_partition_store.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "functions": {"_partition_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "_fernet_for_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 21, 22], "excluded_lines": []}, "load_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "save_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 59, 60, 61, 62], "excluded_lines": []}, "load_partition_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [68, 69], "excluded_lines": []}, "migrate_high_risk_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}}}, "src/seedpass/core/manager.py": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 2761, "percent_covered": 8.909815284317276, "percent_covered_display": "9", "missing_lines": 2515, "excluded_lines": 11}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157, 162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206, 217, 218, 222, 223, 224, 225, 226, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857], "functions": {"AuditLogger.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "AuditLogger.log": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "calculate_profile_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188], "excluded_lines": []}, "requires_unlocked": {"executed_lines": [202, 203, 208], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "requires_unlocked.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [204, 205, 206], "excluded_lines": []}, "AuthGuard.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [217, 218], "excluded_lines": []}, "AuthGuard.check_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327], "excluded_lines": []}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [337, 338, 339], "excluded_lines": []}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [347], "excluded_lines": []}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [352, 353, 354, 355, 356, 357], "excluded_lines": []}, "PasswordManager._get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [360, 361, 362, 363, 364], "excluded_lines": []}, "PasswordManager._get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [367, 368, 369, 370, 371, 372, 373, 378, 379], "excluded_lines": []}, "PasswordManager._get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "PasswordManager._derive_seed_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [398, 399, 400, 401, 409, 411, 412, 413, 416], "excluded_lines": []}, "PasswordManager._build_seed_kdf_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [427, 428, 429, 430, 431, 440, 443], "excluded_lines": []}, "PasswordManager._encrypt_parent_seed_compat": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [459, 460, 464, 465, 469], "excluded_lines": []}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [473, 479, 480, 481, 482, 483], "excluded_lines": []}, "PasswordManager.ensure_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [487, 488, 489, 490, 491, 492, 493, 494], "excluded_lines": []}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [505], "excluded_lines": []}, "PasswordManager.parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [516, 517, 518, 519, 521], "excluded_lines": []}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [526, 527, 528, 529, 530, 533, 534, 535, 536], "excluded_lines": []}, "PasswordManager.header_fingerprint_args": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [541, 542, 543, 544, 545, 546], "excluded_lines": []}, "PasswordManager.update_activity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [550, 551, 552, 553, 554, 555], "excluded_lines": []}, "PasswordManager.notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [559, 560, 561, 562, 563, 564], "excluded_lines": []}, "PasswordManager.get_current_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [568, 569, 570, 571, 572, 574, 578, 579], "excluded_lines": []}, "PasswordManager.poll_background_errors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [583, 584, 585, 586, 587, 588, 589, 590, 591], "excluded_lines": []}, "PasswordManager.menu_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [595, 596, 597], "excluded_lines": []}, "PasswordManager.profile_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [601, 602, 603], "excluded_lines": []}, "PasswordManager.entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [607, 608, 609, 610, 611], "excluded_lines": []}, "PasswordManager.display_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [615, 616, 617, 618, 619], "excluded_lines": []}, "PasswordManager.lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [623, 624, 625, 626, 627], "excluded_lines": []}, "PasswordManager.unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673], "excluded_lines": []}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [679, 680, 681, 682, 683, 684, 687], "excluded_lines": []}, "PasswordManager.setup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [693, 694, 696, 699], "excluded_lines": []}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771], "excluded_lines": []}, "PasswordManager.add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848], "excluded_lines": []}, "PasswordManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887], "excluded_lines": []}, "PasswordManager.recover_profile_with_blank_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 64, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 64, "excluded_lines": 0}, "missing_lines": [891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006], "excluded_lines": []}, "PasswordManager.setup_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104], "excluded_lines": []}, "PasswordManager.load_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144], "excluded_lines": []}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1149], "excluded_lines": []}, "PasswordManager.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180], "excluded_lines": []}, "PasswordManager.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205], "excluded_lines": []}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282], "excluded_lines": []}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327], "excluded_lines": []}, "PasswordManager.setup_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366], "excluded_lines": []}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1372], "excluded_lines": []}, "PasswordManager._finalize_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455], "excluded_lines": []}, "PasswordManager.generate_new_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537], "excluded_lines": []}, "PasswordManager.validate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557], "excluded_lines": []}, "PasswordManager.generate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578], "excluded_lines": []}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "PasswordManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1674, 1675, 1676, 1677], "excluded_lines": []}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1663, 1664, 1665, 1668], "excluded_lines": []}, "PasswordManager.initialize_managers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705], "excluded_lines": []}, "PasswordManager._initialize_config_and_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1709, 1713, 1714], "excluded_lines": []}, "PasswordManager._initialize_entry_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744], "excluded_lines": []}, "PasswordManager._initialize_password_generator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1748, 1749], "excluded_lines": []}, "PasswordManager._initialize_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799], "excluded_lines": []}, "PasswordManager._handle_migration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1956], "excluded_lines": []}, "PasswordManager.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1960, 1961, 1962, 1963, 1964, 1967, 1969, 1978, 1979, 1980, 1981, 1984, 1985, 1987], "excluded_lines": []}, "PasswordManager.start_background_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1970, 1971, 1972, 1973, 1974, 1975, 1976], "excluded_lines": []}, "PasswordManager.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1991, 1992, 1993, 1994, 1995], "excluded_lines": []}, "PasswordManager.start_background_relay_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1999, 2004, 2006, 2023, 2024], "excluded_lines": []}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021], "excluded_lines": []}, "PasswordManager.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2028, 2029, 2031, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052], "excluded_lines": []}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039], "excluded_lines": []}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 2}, "missing_lines": [2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115], "excluded_lines": [2108, 2109]}, "PasswordManager.attempt_initial_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2118], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2126], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [2129, 2130, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [2136, 2137]}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163], "excluded_lines": []}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192], "excluded_lines": []}, "PasswordManager._clear_header_add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2195, 2196], "excluded_lines": []}, "PasswordManager._mark_dirty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2206, 2207], "excluded_lines": []}, "PasswordManager._sync_and_pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 2}, "missing_lines": [2211, 2212, 2218, 2219], "excluded_lines": [2213, 2214]}, "PasswordManager._entry_op_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2224, 2225, 2226, 2227, 2228, 2229], "excluded_lines": []}, "PasswordManager._terminal_document_editor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [2246, 2247, 2248, 2250, 2253, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2251], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2254, 2255, 2256, 2257, 2258], "excluded_lines": []}, "PasswordManager.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2308], "excluded_lines": []}, "PasswordManager.handle_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423], "excluded_lines": []}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462], "excluded_lines": []}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513], "excluded_lines": []}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562], "excluded_lines": []}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604], "excluded_lines": []}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667], "excluded_lines": []}, "PasswordManager.handle_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730], "excluded_lines": []}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775], "excluded_lines": []}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802], "excluded_lines": []}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819], "excluded_lines": []}, "PasswordManager._entry_type_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2823, 2824, 2825, 2826], "excluded_lines": []}, "PasswordManager._generate_password_for_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849], "excluded_lines": []}, "PasswordManager._entry_actions_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [2855, 2857, 2863, 2875, 2885, 2900, 2921, 2925, 2930, 2944, 2973], "excluded_lines": []}, "PasswordManager._entry_actions_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2859, 2860, 2861], "excluded_lines": []}, "PasswordManager._entry_actions_menu.toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2864, 2867, 2868, 2870, 2871, 2872, 2873], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_note": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_custom_field": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2922, 2923], "excluded_lines": []}, "PasswordManager._entry_actions_menu.show_qr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2926, 2927, 2928], "excluded_lines": []}, "PasswordManager._entry_actions_menu.export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942], "excluded_lines": []}, "PasswordManager._entry_actions_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971], "excluded_lines": []}, "PasswordManager._entry_edit_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [2979, 2981, 2987, 2995, 3003, 3011, 3024, 3035, 3042, 3049, 3059, 3069, 3089], "excluded_lines": []}, "PasswordManager._entry_edit_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2983, 2984, 2985], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2988, 2989, 2990, 2991, 2992, 2993], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2996, 2997, 2998, 2999, 3000, 3001], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3004, 3005, 3006, 3007, 3008, 3009], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_file_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3025, 3026, 3030, 3031, 3032, 3033], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_username": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3036, 3037, 3038, 3039, 3040], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3043, 3044, 3045, 3046, 3047], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_period": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3050, 3051, 3052, 3053, 3054, 3055, 3057], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3060, 3061, 3062, 3063, 3064, 3065, 3067], "excluded_lines": []}, "PasswordManager._entry_edit_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087], "excluded_lines": []}, "PasswordManager._entry_qr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3125, 3134, 3143, 3149, 3154, 3156], "excluded_lines": [3157, 3158, 3159]}, "PasswordManager._entry_qr_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3121, 3122, 3123], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_public_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3126, 3129, 3130, 3131, 3132], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3135, 3138, 3139, 3140, 3141], "excluded_lines": []}, "PasswordManager._entry_qr_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3144], "excluded_lines": []}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3172], "excluded_lines": []}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207], "excluded_lines": []}, "PasswordManager.handle_modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 194, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 194, "excluded_lines": 0}, "missing_lines": [3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720], "excluded_lines": []}, "PasswordManager.handle_search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778], "excluded_lines": []}, "PasswordManager.display_entry_details": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 2}, "missing_lines": [3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964], "excluded_lines": [3856, 3857]}, "PasswordManager.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3968], "excluded_lines": []}, "PasswordManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005], "excluded_lines": []}, "PasswordManager.handle_archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [4029, 4031, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [4034, 4037], "excluded_lines": []}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4106], "excluded_lines": []}, "PasswordManager.handle_verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146], "excluded_lines": []}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175], "excluded_lines": []}, "PasswordManager.get_encrypted_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195], "excluded_lines": []}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4203, 4204, 4205, 4206, 4207, 4210, 4216], "excluded_lines": []}, "PasswordManager.sync_vault_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284], "excluded_lines": []}, "PasswordManager.sync_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4289], "excluded_lines": []}, "PasswordManager.backup_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4295, 4296, 4297, 4298, 4299, 4300], "excluded_lines": []}, "PasswordManager.restore_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4306, 4307, 4308, 4313, 4314, 4315], "excluded_lines": []}, "PasswordManager.handle_export_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382], "excluded_lines": []}, "PasswordManager.handle_import_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464], "excluded_lines": []}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535], "excluded_lines": []}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632], "excluded_lines": []}, "PasswordManager.verify_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677], "excluded_lines": []}, "PasswordManager.is_valid_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [4690, 4691, 4692, 4693, 4694], "excluded_lines": []}, "PasswordManager.store_hashed_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735], "excluded_lines": []}, "PasswordManager.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809], "excluded_lines": []}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881], "excluded_lines": []}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": []}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 243, "num_statements": 243, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuditLogger": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [217, 218, 222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2471, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2471, "excluded_lines": 11}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857]}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 260, "percent_covered": 94.61538461538461, "percent_covered_display": "95", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206], "excluded_lines": []}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 145, "percent_covered": 13.10344827586207, "percent_covered_display": "13", "missing_lines": 126, "excluded_lines": 8}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [16, 17, 98, 99, 100, 253, 254, 255], "functions": {"MenuHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "MenuHandler.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 3}, "missing_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97], "excluded_lines": [98, 99, 100]}, "MenuHandler.run_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143], "excluded_lines": []}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 3}, "missing_lines": [148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}, "classes": {"MenuHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 126, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 126, "excluded_lines": 6}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [98, 99, 100, 253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}}, "src/seedpass/core/migrations.py": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v0_to_v1": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 26], "excluded_lines": []}, "_v1_to_v2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "_v2_to_v3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "excluded_lines": []}, "_v3_to_v4": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "apply_migrations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 292, "percent_covered": 17.80821917808219, "percent_covered_display": "18", "missing_lines": 240, "excluded_lines": 7}, "missing_lines": [82, 83, 84, 87, 88, 89, 93, 120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488, 493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 568, 569, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571, 572, 573, 574, 575, 576, 577], "functions": {"DeterministicStream.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [82, 83, 84], "excluded_lines": []}, "DeterministicStream.get_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [87, 88, 89], "excluded_lines": []}, "DeterministicStream.current_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [93], "excluded_lines": []}, "PasswordGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137], "excluded_lines": []}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [141, 142, 144, 151, 152, 154, 155, 156], "excluded_lines": []}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [160, 161, 162], "excluded_lines": []}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 177, 178, 179, 180], "excluded_lines": []}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188, 189], "excluded_lines": []}, "PasswordGenerator.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283], "excluded_lines": []}, "PasswordGenerator._count_char_types": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [294, 295, 296, 297, 298], "excluded_lines": []}, "PasswordGenerator._enforce_minimum_counts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343], "excluded_lines": []}, "PasswordGenerator._add_additional_symbols": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365], "excluded_lines": []}, "PasswordGenerator._balance_distribution": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408], "excluded_lines": []}, "PasswordGenerator._enforce_complexity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [493], "excluded_lines": []}, "derive_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [499, 500, 501, 503, 504, 510, 511, 516], "excluded_lines": []}, "derive_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [521], "excluded_lines": []}, "derive_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 1}, "missing_lines": [535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [568, 569], "excluded_lines": []}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 87, 88, 89, 93], "excluded_lines": []}, "PasswordGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 177, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 177, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_pgp_key.DRNG": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 6}, "missing_lines": [568, 569], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 106, "percent_covered": 49.056603773584904, "percent_covered_display": "49", "missing_lines": 54, "excluded_lines": 1}, "missing_lines": [493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "export_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121], "excluded_lines": []}, "import_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.647058823529413, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 7}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 4}, "missing_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}, "classes": {"ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 4}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 6, 8, 9, 11, 15, 20, 27], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "PubSub.unsubscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [17, 18], "excluded_lines": []}, "PubSub.publish": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PubSub": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 6, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 65, "percent_covered": 27.692307692307693, "percent_covered_display": "28", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [18, 19], "excluded_lines": []}, "StateManager._load": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "StateManager._save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 61], "excluded_lines": []}, "StateManager.state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [65], "excluded_lines": []}, "StateManager.update_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [68, 69, 70], "excluded_lines": []}, "StateManager.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "StateManager.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 80, 81, 82, 83], "excluded_lines": []}, "StateManager.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StateManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "StatsManager.display_stats_once": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [14, 15, 16], "excluded_lines": []}, "StatsManager.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StatsManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/sync_conflict.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": [], "functions": {"_canonical": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": []}, "_entry_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [23, 24, 25, 26], "excluded_lines": []}, "_is_empty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [30, 31, 32, 33, 34], "excluded_lines": []}, "_entry_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_is_deleted_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "_entry_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [46, 47], "excluded_lines": []}, "_tombstone_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 60], "excluded_lines": []}, "_prefer_tombstone": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70], "excluded_lines": []}, "_normalize_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91], "excluded_lines": []}, "_merge_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100, 101, 102], "excluded_lines": []}, "_max_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [106, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "_max_tombstone_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "_prefer_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 135, 136], "excluded_lines": []}, "_union_fields_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [140, 141, 152], "excluded_lines": []}, "_merge_list_union": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [156, 157, 158, 159, 160, 161, 162], "excluded_lines": []}, "_merge_equal_ts_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186], "excluded_lines": []}, "merge_index_payloads": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}}}, "src/seedpass/core/totp.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 70, 71, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 31, "num_statements": 71, "percent_covered": 43.66197183098591, "percent_covered_display": "44", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [22, 31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "TotpManager.derive_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "TotpManager.current_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42], "excluded_lines": []}, "TotpManager.current_code_from_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "TotpManager.parse_otpauth": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "excluded_lines": []}, "TotpManager.make_otpauth_uri": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 77, 78], "excluded_lines": []}, "TotpManager.print_progress_bar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "TotpManager.print_qr_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TotpManager": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 41, "percent_covered": 4.878048780487805, "percent_covered_display": "5", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 30, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/seedpass/core/vault.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 140, "percent_covered": 15.0, "percent_covered_display": "15", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36], "excluded_lines": []}, "Vault.set_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "Vault._hkdf_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Vault.load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237], "excluded_lines": []}, "Vault.save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [241], "excluded_lines": []}, "Vault.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [247], "excluded_lines": []}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [264, 267, 270, 271, 272], "excluded_lines": []}, "Vault.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [277], "excluded_lines": []}, "Vault.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/errors.py": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultLockedError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/release_integrity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": [], "functions": {"_file_sha256": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15], "excluded_lines": []}, "collect_artifacts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "excluded_lines": []}, "generate_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 52, 53], "excluded_lines": []}, "parse_checksum_line": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "verify_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 18, 38, 56, 73], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}}}, "src/seedpass/tui_v2/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/tui_v2/app.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 120, 121, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455, 457, 458, 459, 460, 461, 466, 467, 468, 470, 471, 472, 474, 475, 476, 478, 479, 480, 482, 483, 484, 485, 486, 487, 489, 490, 492, 493, 494, 495, 496, 497, 498, 516, 518, 519, 520, 521, 522, 524, 526, 527, 528, 532, 540, 541, 542, 543, 545, 546, 547, 549, 550, 551, 562, 563, 564, 566, 567, 568, 569, 571, 572, 573, 574, 575, 576, 578, 579, 583, 584, 589, 590, 592, 593, 598, 644, 646, 649, 650, 652, 653, 656, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699, 701, 702, 705, 710, 711, 712, 714, 715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766, 768, 769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791, 809, 810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884, 886, 887, 889, 892, 894, 895, 897, 907, 908, 909, 920, 921, 923, 924, 926, 927, 931, 932, 934, 935, 937, 938, 942, 943, 945, 946, 948, 949, 953, 956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071, 1085, 1088, 1089, 1090, 1092, 1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250, 1252, 1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306, 1308, 1309, 1312, 1313, 1314, 1315, 1318, 1319, 1320, 1321, 1322, 1325, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1336, 1337, 1339, 1341, 1344, 1346, 1348, 1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176, 3178, 3185, 3186, 3188, 3189, 3190, 3192, 3193, 3194, 3195, 3197, 3198, 3199, 3200, 3201, 3203, 3204, 3205, 3206, 3208, 3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3234, 3235, 3236, 3237, 3238, 3240, 3241, 3242, 3244, 3262, 3263, 3266, 3267, 3268, 3269, 3270, 3272, 3273, 3276, 3277, 3278, 3279, 3280, 3281, 3283, 3284, 3287, 3290, 3291, 3292, 3294, 3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317, 3319, 3320, 3323, 3326, 3327, 3331, 3332, 3335, 3338, 3339, 3343, 3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370, 3372, 3373, 3375, 3376, 3378, 3379, 3382, 3383, 3384, 3385, 3386, 3389, 3391, 3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423, 3430, 3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466, 3468, 3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3519, 3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537, 3539, 3540, 3546, 3548, 3549, 3551, 3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3575, 3576, 3579, 3580, 3581, 3582, 3583, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 1797, "num_statements": 2250, "percent_covered": 79.86666666666666, "percent_covered_display": "80", "missing_lines": 453, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 348, 406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447, 473, 554, 555, 561, 770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802, 811, 814, 815, 816, 888, 896, 922, 925, 928, 929, 933, 936, 939, 940, 944, 947, 950, 951, 957, 959, 965, 1050, 1053, 1070, 1079, 1099, 1100, 1110, 1148, 1149, 1155, 1229, 1230, 1238, 1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289, 1310, 1316, 1323, 1324, 1326, 1338, 1340, 1345, 1358, 1359, 1368, 1369, 1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174, 3179, 3180, 3181, 3182, 3183, 3187, 3213, 3226, 3227, 3239, 3245, 3257, 3258, 3259, 3260, 3264, 3265, 3274, 3275, 3285, 3286, 3288, 3289, 3296, 3297, 3321, 3322, 3333, 3334, 3345, 3346, 3380, 3381, 3387, 3393, 3394, 3404, 3405, 3412, 3432, 3433, 3438, 3439, 3465, 3470, 3471, 3473, 3474, 3525, 3526, 3527, 3528, 3530, 3531, 3532, 3554, 3555, 3577, 3578, 3586, 3587, 3588, 3589, 3590, 3596, 3597], "excluded_lines": [115, 116], "functions": {"check_tui2_runtime": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "parse_palette_command": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35, 37], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "pagination_window": {"executed_lines": [47, 48, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "truncate_entry_for_display": {"executed_lines": [61, 62, 63, 65, 66, 67, 70, 71], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [64], "excluded_lines": []}, "render_qr_ascii": {"executed_lines": [76, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2": {"executed_lines": [104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 359, 457, 470, 478, 489, 492, 518, 526, 532, 545, 549, 566, 571, 578, 592, 646, 652, 658, 701, 714, 768, 809, 886, 894, 907, 908, 920, 931, 942, 953, 1085, 1092, 1176, 1189, 1200, 1219, 1220, 1227, 1252, 1308, 1312, 1318, 1328, 1336, 1348, 1376, 1377, 1385, 3178, 3185, 3192, 3197, 3203, 3208, 3219, 3234, 3244, 3262, 3272, 3283, 3294, 3319, 3331, 3343, 3357, 3372, 3375, 3378, 3391, 3430, 3468, 3519, 3539, 3548, 3551, 3575, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 104, "num_statements": 107, "percent_covered": 97.19626168224299, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [106, 3596, 3597], "excluded_lines": [115, 116]}, "launch_tui2.EntryListItem.__init__": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.compose": {"executed_lines": [281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [348], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_mount": {"executed_lines": [360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455], "summary": {"covered_lines": 49, "num_statements": 67, "percent_covered": 73.13432835820896, "percent_covered_display": "73", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_status": {"executed_lines": [458, 459, 460, 461, 466, 467, 468], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._log_activity": {"executed_lines": [471, 472, 474, 475, 476], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [473], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_activity_panel": {"executed_lines": [479, 480, 482, 483, 484, 485, 486, 487], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_secret_panel": {"executed_lines": [490], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_help_overlay": {"executed_lines": [493, 494, 495, 496, 497, 498, 516], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_focus_style": {"executed_lines": [519, 520, 521, 522, 524], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_doc_edit_help": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._record_failure": {"executed_lines": [540, 541, 542, 543], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clear_failure": {"executed_lines": [546, 547], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._retry_initialize_service": {"executed_lines": [550, 551, 562, 563, 564], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [554, 555, 561], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_filter_kinds": {"executed_lines": [567, 568, 569], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_archive_scope_flags": {"executed_lines": [572, 573, 574, 575, 576], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_summary": {"executed_lines": [579, 583, 584, 589, 590], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_filters_panel": {"executed_lines": [593, 598, 644], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_entry_label": {"executed_lines": [649, 650], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._total_pages": {"executed_lines": [653, 656], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_current_page": {"executed_lines": [659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_detail_text": {"executed_lines": [702, 705, 710, 711, 712], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_entries": {"executed_lines": [715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_entry": {"executed_lines": [769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791], "summary": {"covered_lines": 12, "num_statements": 26, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_links_panel": {"executed_lines": [810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884], "summary": {"covered_lines": 32, "num_statements": 36, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [811, 814, 815, 816], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_selected_document": {"executed_lines": [887, 889, 892], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [888], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_kind": {"executed_lines": [895, 897], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [896], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._kind_icon": {"executed_lines": [909], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_secret_mode_enabled": {"executed_lines": [921, 923, 924, 926, 927], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [922, 925, 928, 929], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clipboard_clear_delay": {"executed_lines": [932, 934, 935, 937, 938], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [933, 936, 939, 940], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._copy_to_clipboard": {"executed_lines": [943, 945, 946, 948, 949], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [944, 947, 950, 951], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._resolve_selected_sensitive_payload": {"executed_lines": [956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071], "summary": {"covered_lines": 38, "num_statements": 45, "percent_covered": 84.44444444444444, "percent_covered_display": "84", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [957, 959, 965, 1050, 1053, 1070, 1079], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._requires_confirm": {"executed_lines": [1088, 1089, 1090], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_sensitive_panel": {"executed_lines": [1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174], "summary": {"covered_lines": 30, "num_statements": 36, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1099, 1100, 1110, 1148, 1149, 1155], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_visible": {"executed_lines": [1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_palette_visible": {"executed_lines": [1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_totp_board_visible": {"executed_lines": [1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._totp_source": {"executed_lines": [1221, 1222, 1223, 1224, 1225], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_totp_rows": {"executed_lines": [1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1229, 1230, 1238], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_totp_board": {"executed_lines": [1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306], "summary": {"covered_lines": 18, "num_statements": 26, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._tick_totp_board": {"executed_lines": [1309], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1310], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._get_document_editor_text": {"executed_lines": [1313, 1314, 1315], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1316], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_text": {"executed_lines": [1319, 1320, 1321, 1322, 1325], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1323, 1324, 1326], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._mark_doc_dirty": {"executed_lines": [1329, 1330, 1331, 1332, 1333, 1334], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_entry_payload": {"executed_lines": [1337, 1339, 1341, 1344, 1346], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1338, 1340, 1345], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_selected_modify": {"executed_lines": [1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1358, 1359, 1368, 1369], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._parse_toggle_token": {"executed_lines": [1378, 1379, 1380, 1381, 1382, 1383], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._run_palette_command": {"executed_lines": [1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176], "summary": {"covered_lines": 988, "num_statements": 1281, "percent_covered": 77.1272443403591, "percent_covered_display": "77", "missing_lines": 293, "excluded_lines": 0}, "missing_lines": [1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3179, 3180, 3181, 3182, 3183], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_help": {"executed_lines": [3186, 3188, 3189, 3190], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3187], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_left": {"executed_lines": [3193, 3194, 3195], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_center": {"executed_lines": [3198, 3199, 3200, 3201], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_right": {"executed_lines": [3204, 3205, 3206], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_jump": {"executed_lines": [3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3213], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_retry_last_error": {"executed_lines": [3220, 3221, 3222, 3223, 3224, 3225], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3226, 3227], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_search": {"executed_lines": [3235, 3236, 3237, 3238, 3240, 3241, 3242], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3239], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3245, 3257, 3258, 3259, 3260], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_archive_scope": {"executed_lines": [3263, 3266, 3267, 3268, 3269, 3270], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3264, 3265], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_page": {"executed_lines": [3273, 3276, 3277, 3278, 3279, 3280, 3281], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3274, 3275], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_page": {"executed_lines": [3284, 3287, 3290, 3291, 3292], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3285, 3286, 3288, 3289], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_link_filter": {"executed_lines": [3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3296, 3297], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_link": {"executed_lines": [3320, 3323, 3326, 3327], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3321, 3322], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_link": {"executed_lines": [3332, 3335, 3338, 3339], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3333, 3334], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_link_target": {"executed_lines": [3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3345, 3346], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_palette": {"executed_lines": [3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_reveal_selected": {"executed_lines": [3373], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_show_qr": {"executed_lines": [3376], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_totp_board": {"executed_lines": [3379, 3382, 3383, 3384, 3385, 3386, 3389], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3380, 3381, 3387], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_archive": {"executed_lines": [3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3393, 3394, 3404, 3405, 3412], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_edit_document": {"executed_lines": [3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3432, 3433, 3438, 3439, 3465], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_save_document": {"executed_lines": [3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512], "summary": {"covered_lines": 25, "num_statements": 29, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3470, 3471, 3473, 3474], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cancel_document_edit": {"executed_lines": [3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537], "summary": {"covered_lines": 11, "num_statements": 18, "percent_covered": 61.111111111111114, "percent_covered_display": "61", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3525, 3526, 3527, 3528, 3530, 3531, 3532], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_changed": {"executed_lines": [3540, 3546], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_text_area_changed": {"executed_lines": [3549], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_submitted": {"executed_lines": [3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3554, 3555], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_selected": {"executed_lines": [3576, 3579, 3580, 3581, 3582, 3583], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3577, 3578], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_highlighted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3586, 3587, 3588, 3589, 3590], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 40, 57, 74, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"launch_tui2.EntryListItem": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2": {"executed_lines": [281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455, 458, 459, 460, 461, 466, 467, 468, 471, 472, 474, 475, 476, 479, 480, 482, 483, 484, 485, 486, 487, 490, 493, 494, 495, 496, 497, 498, 516, 519, 520, 521, 522, 524, 527, 528, 540, 541, 542, 543, 546, 547, 550, 551, 562, 563, 564, 567, 568, 569, 572, 573, 574, 575, 576, 579, 583, 584, 589, 590, 593, 598, 644, 649, 650, 653, 656, 659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699, 702, 705, 710, 711, 712, 715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766, 769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791, 810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884, 887, 889, 892, 895, 897, 909, 921, 923, 924, 926, 927, 932, 934, 935, 937, 938, 943, 945, 946, 948, 949, 956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071, 1088, 1089, 1090, 1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187, 1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1221, 1222, 1223, 1224, 1225, 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250, 1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306, 1309, 1313, 1314, 1315, 1319, 1320, 1321, 1322, 1325, 1329, 1330, 1331, 1332, 1333, 1334, 1337, 1339, 1341, 1344, 1346, 1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1378, 1379, 1380, 1381, 1382, 1383, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176, 3186, 3188, 3189, 3190, 3193, 3194, 3195, 3198, 3199, 3200, 3201, 3204, 3205, 3206, 3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217, 3220, 3221, 3222, 3223, 3224, 3225, 3235, 3236, 3237, 3238, 3240, 3241, 3242, 3263, 3266, 3267, 3268, 3269, 3270, 3273, 3276, 3277, 3278, 3279, 3280, 3281, 3284, 3287, 3290, 3291, 3292, 3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317, 3320, 3323, 3326, 3327, 3332, 3335, 3338, 3339, 3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370, 3373, 3376, 3379, 3382, 3383, 3384, 3385, 3386, 3389, 3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423, 3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466, 3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537, 3540, 3546, 3549, 3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3576, 3579, 3580, 3581, 3582, 3583], "summary": {"covered_lines": 1642, "num_statements": 2090, "percent_covered": 78.56459330143541, "percent_covered_display": "79", "missing_lines": 448, "excluded_lines": 0}, "missing_lines": [348, 406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447, 473, 554, 555, 561, 770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802, 811, 814, 815, 816, 888, 896, 922, 925, 928, 929, 933, 936, 939, 940, 944, 947, 950, 951, 957, 959, 965, 1050, 1053, 1070, 1079, 1099, 1100, 1110, 1148, 1149, 1155, 1229, 1230, 1238, 1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289, 1310, 1316, 1323, 1324, 1326, 1338, 1340, 1345, 1358, 1359, 1368, 1369, 1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174, 3179, 3180, 3181, 3182, 3183, 3187, 3213, 3226, 3227, 3239, 3245, 3257, 3258, 3259, 3260, 3264, 3265, 3274, 3275, 3285, 3286, 3288, 3289, 3296, 3297, 3321, 3322, 3333, 3334, 3345, 3346, 3380, 3381, 3387, 3393, 3394, 3404, 3405, 3412, 3432, 3433, 3438, 3439, 3465, 3470, 3471, 3473, 3474, 3525, 3526, 3527, 3528, 3530, 3531, 3532, 3554, 3555, 3577, 3578, 3586, 3587, 3588, 3589, 3590], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 359, 457, 470, 478, 489, 492, 518, 526, 532, 545, 549, 566, 571, 578, 592, 646, 652, 658, 701, 714, 768, 809, 886, 894, 907, 908, 920, 931, 942, 953, 1085, 1092, 1176, 1189, 1200, 1219, 1220, 1227, 1252, 1308, 1312, 1318, 1328, 1336, 1348, 1376, 1377, 1385, 3178, 3185, 3192, 3197, 3203, 3208, 3219, 3234, 3244, 3262, 3272, 3283, 3294, 3319, 3331, 3343, 3357, 3372, 3375, 3378, 3391, 3430, 3468, 3519, 3539, 3548, 3551, 3575, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 153, "num_statements": 158, "percent_covered": 96.83544303797468, "percent_covered_display": "97", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 3596, 3597], "excluded_lines": [115, 116]}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3, 6, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": []}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}}, "src/seedpass_gui/app.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 316, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 316, "excluded_lines": 24}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 150, 151, 152, 154, 155, 156, 157, 158, 159, 161, 162, 163, 165, 166, 167, 169, 170, 171, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 207, 210, 211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335, 338, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 354, 355, 356, 357, 358, 359, 368, 371, 374, 375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 396, 398, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 423, 424, 427, 430, 431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 458, 459, 460, 461, 462, 463, 467, 468, 470, 471, 472, 473, 474, 475, 476, 480, 483, 485, 488], "excluded_lines": [57, 58, 59, 464, 465, 466, 477, 478, 479, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 503, 504, 505], "functions": {"LockScreenWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "excluded_lines": []}, "LockScreenWindow.handle_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "excluded_lines": []}, "MainWindow.refresh_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 152], "excluded_lines": []}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": []}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [170, 171], "excluded_lines": []}, "MainWindow.start_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [176, 179], "excluded_lines": []}, "MainWindow.start_vault_sync._runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [177], "excluded_lines": []}, "MainWindow.sync_started": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "MainWindow.sync_finished": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [186, 187], "excluded_lines": []}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [190, 191, 192, 194, 195, 196], "excluded_lines": []}, "MainWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "excluded_lines": []}, "EntryDialog.save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 51, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 51, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352], "excluded_lines": []}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391], "excluded_lines": []}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [394, 395, 396], "excluded_lines": []}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421], "excluded_lines": []}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [424], "excluded_lines": []}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451], "excluded_lines": []}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [454, 455, 456], "excluded_lines": []}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [459, 460, 461, 462, 463, 467, 468], "excluded_lines": [464, 465, 466]}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [471, 472, 473, 474, 475, 476, 480], "excluded_lines": [477, 478, 479]}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [485], "excluded_lines": []}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [504, 505]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "excluded_lines": [489, 503]}}, "classes": {"LockScreenWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 75, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 75, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 176, 177, 179, 183, 186, 187, 190, 191, 192, 194, 195, 196, 199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424], "excluded_lines": []}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480], "excluded_lines": [464, 465, 466, 477, 478, 479]}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 485, 488], "excluded_lines": [489, 503, 504, 505]}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 123, "percent_covered": 50.40650406504065, "percent_covered_display": "50", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 205, 207, 208, 210, 211, 212, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mute_logging": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "clean_pubsub": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_addoption": {"executed_lines": [61, 67, 73, 79], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_configure": {"executed_lines": [88, 89, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_collection_modifyitems": {"executed_lines": [98, 105, 106, 107, 108, 111, 112, 113, 114], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102, 103, 109, 115], "excluded_lines": []}, "vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "password_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [146, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "make_dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 188, 220], "excluded_lines": []}, "make_dummy_nostr_client._make": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [205], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [225], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 47, 48, 52, 53, 60, 87, 95, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [205, 208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 120, "percent_covered": 51.666666666666664, "percent_covered_display": "52", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": []}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 167, "percent_covered": 34.131736526946106, "percent_covered_display": "34", "missing_lines": 110, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39, 44, 45, 46, 47, 50, 55, 56, 57, 60, 65, 66, 67, 68, 70, 71, 72, 76, 77, 80, 86, 90, 94, 98, 103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136, 141, 145, 150, 153, 157, 162, 167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "DummyUnsignedEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [55, 56, 57], "excluded_lines": []}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [60], "excluded_lines": []}, "DummyBuilder.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72], "excluded_lines": []}, "DummyBuilder.tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "DummyBuilder.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "DummyTag.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [86], "excluded_lines": []}, "DummyTag.event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [90], "excluded_lines": []}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyTag.expiration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [98], "excluded_lines": []}, "DummyFilter.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": []}, "DummyFilter.author": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [110], "excluded_lines": []}, "DummyFilter.kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 115, 116, 118, 119], "excluded_lines": []}, "DummyFilter.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [122, 123], "excluded_lines": []}, "DummyFilter.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [126, 127, 128], "excluded_lines": []}, "DummyFilter.limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [131, 132], "excluded_lines": []}, "DummyFilter.since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [135, 136], "excluded_lines": []}, "DummyTimestamp.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [141], "excluded_lines": []}, "DummyTimestamp.from_secs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [145], "excluded_lines": []}, "DummyEventId.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [150], "excluded_lines": []}, "DummyEventId.to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [153], "excluded_lines": []}, "DummyEventId.parse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "DummySendResult.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172], "excluded_lines": []}, "DummyRelayClient.add_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [175], "excluded_lines": []}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [178], "excluded_lines": []}, "DummyRelayClient.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [181], "excluded_lines": []}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "DummyRelayClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "excluded_lines": []}, "DummyRelayClient.fetch_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [228], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 50], "excluded_lines": []}, "DummyUnsignedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 60], "excluded_lines": []}, "DummyBuilder": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72, 76, 77, 80], "excluded_lines": []}, "DummyTag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [86, 90, 94, 98], "excluded_lines": []}, "DummyFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "excluded_lines": []}, "DummyTimestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [141, 145], "excluded_lines": []}, "DummyEventId": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [150, 153, 157], "excluded_lines": []}, "DummySendResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [228, 231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 65, "percent_covered": 87.6923076923077, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}}}, "src/tests/test_tui_v2_action_matrix.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 85, 86, 88, 90, 97, 98, 107, 109, 119, 120, 121, 130, 132, 135, 136, 137, 145, 147, 157, 158, 159, 168, 170, 173, 174, 175, 183, 185, 194, 195, 196, 204, 206, 209, 210, 211, 219, 221, 229, 230, 231, 232, 233, 240, 242, 245, 246, 247, 254, 256, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 290, 291, 293, 297, 306, 310, 311, 312, 314, 321, 328, 335, 336, 338, 339, 341, 342, 343, 345, 346, 347, 348, 350, 351, 353, 355, 356, 357, 358, 360, 368, 369, 374, 377, 378, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725, 728, 729, 730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 431, "num_statements": 471, "percent_covered": 91.50743099787685, "percent_covered_display": "92", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398, 679, 681], "excluded_lines": [], "functions": {"MatrixEntryService.__init__": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService._next_id": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.search_entries": {"executed_lines": [56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 69], "excluded_lines": []}, "MatrixEntryService.retrieve_entry": {"executed_lines": [86, 88], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [87], "excluded_lines": []}, "MatrixEntryService.add_entry": {"executed_lines": [97, 98, 107], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_totp": {"executed_lines": [119, 120, 121, 130], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_key_value": {"executed_lines": [135, 136, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_document": {"executed_lines": [157, 158, 159, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_ssh_key": {"executed_lines": [173, 174, 175, 183], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_pgp_key": {"executed_lines": [194, 195, 196, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_nostr_key": {"executed_lines": [209, 210, 211, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_seed": {"executed_lines": [229, 230, 231, 232, 233, 240], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_managed_account": {"executed_lines": [245, 246, 247, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.export_document_file": {"executed_lines": [263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [267, 271, 275], "excluded_lines": []}, "MatrixEntryService.modify_entry": {"executed_lines": [283, 284, 285, 286, 287, 288], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.generate_password": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [294, 295], "excluded_lines": []}, "MatrixEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [298, 299], "excluded_lines": []}, "MatrixEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [307, 308], "excluded_lines": []}, "MatrixEntryService.get_totp_code": {"executed_lines": [311, 312], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [315, 316], "excluded_lines": []}, "MatrixEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [322, 323], "excluded_lines": []}, "MatrixEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [329, 330], "excluded_lines": []}, "MatrixEntryService.get_secret_mode_enabled": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_clipboard_clear_delay": {"executed_lines": [339], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.copy_to_clipboard": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.archive_entry": {"executed_lines": [346, 347, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.restore_entry": {"executed_lines": [351, 353], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [352], "excluded_lines": []}, "MatrixEntryService.get_links": {"executed_lines": [356, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_link": {"executed_lines": [368, 369], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [370, 371, 372], "excluded_lines": []}, "MatrixEntryService.remove_link": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 12, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "excluded_lines": []}, "MatrixEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [391, 392, 393, 394, 395], "excluded_lines": []}, "MatrixEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [398], "excluded_lines": []}, "_build_app": {"executed_lines": [402, 404, 407, 411, 412, 413, 414], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [405], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status": {"executed_lines": [418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success": {"executed_lines": [423, 424, 426, 432, 433, 434, 435, 436, 437, 438, 442, 443], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success._factory": {"executed_lines": [427, 428, 429, 430], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_service_unavailable_and_no_retry": {"executed_lines": [448, 449, 450, 451, 454, 455, 456], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_actions_palette_events_and_guards": {"executed_lines": [461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725], "summary": {"covered_lines": 214, "num_statements": 216, "percent_covered": 99.07407407407408, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [679, 681], "excluded_lines": []}, "test_tui2_matrix_failure_paths_and_retry": {"executed_lines": [730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 417, 421, 422, 446, 447, 459, 460, 728, 729], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MatrixEntryService": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 86, 88, 97, 98, 107, 119, 120, 121, 130, 135, 136, 137, 145, 157, 158, 159, 168, 173, 174, 175, 183, 194, 195, 196, 204, 209, 210, 211, 219, 229, 230, 231, 232, 233, 240, 245, 246, 247, 254, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 283, 284, 285, 286, 287, 288, 291, 311, 312, 336, 339, 342, 343, 346, 347, 348, 351, 353, 356, 357, 358, 368, 369, 377, 378], "summary": {"covered_lines": 109, "num_statements": 147, "percent_covered": 74.14965986394557, "percent_covered_display": "74", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725, 728, 729, 730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 322, "num_statements": 324, "percent_covered": 99.38271604938272, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [679, 681], "excluded_lines": []}}}, "src/tests/test_tui_v2_helpers.py": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_palette_command_ok": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_empty": {"executed_lines": [20, 21], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_unbalanced_quotes": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_normalizes_page": {"executed_lines": [30, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_empty": {"executed_lines": [40, 43, 44, 45, 46], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_rejects_nonpositive_page_size": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_no_content": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_truncates_content": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_render_qr_ascii_nonempty": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_large_vault_sizes": {"executed_lines": [75, 76, 79, 80, 81], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 13, 19, 24, 29, 39, 49, 54, 59, 65, 72, 73], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_parity_scenarios.py": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 56, 57, 59, 66, 67, 69, 70, 72, 73, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 91, "num_statements": 111, "percent_covered": 81.98198198198199, "percent_covered_display": "82", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [15, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 43], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [83, 84, 85], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "_build_app": {"executed_lines": [103, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [106], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [120, 121, 122, 123], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [127], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_filters_cover_all_entry_kinds": {"executed_lines": [132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_archive_restore_roundtrip_non_document": {"executed_lines": [166, 169, 171, 172, 173, 174, 175, 177, 178, 179], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_edit_document_guard_for_non_document": {"executed_lines": [184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 115, 119, 126, 130, 131, 164, 165, 182, 183], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 57, 67, 70, 73], "summary": {"covered_lines": 21, "num_statements": 41, "percent_covered": 51.21951219512195, "percent_covered_display": "51", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_textual_interactions.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 31, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 70, 71, 73, 80, 81, 90, 92, 101, 102, 103, 112, 114, 115, 116, 124, 126, 127, 128, 136, 138, 141, 142, 143, 151, 153, 162, 163, 164, 172, 174, 177, 178, 179, 187, 189, 197, 198, 199, 200, 201, 208, 210, 213, 214, 215, 222, 224, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 250, 251, 252, 253, 255, 257, 258, 260, 261, 262, 264, 265, 266, 273, 274, 275, 277, 278, 279, 281, 282, 283, 284, 285, 292, 294, 295, 296, 301, 308, 309, 310, 315, 316, 318, 319, 321, 322, 323, 325, 328, 331, 332, 334, 342, 343, 350, 352, 355, 356, 357, 363, 364, 366, 367, 368, 369, 371, 373, 374, 377, 378, 379, 380, 381, 382, 383, 385, 386, 388, 389, 390, 391, 393, 395, 396, 397, 398, 399, 401, 402, 403, 405, 406, 408, 409, 410, 412, 414, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 431, 432, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 456, 457, 458, 459, 460, 462, 463, 465, 466, 468, 469, 471, 473, 474, 476, 478, 479, 480, 482, 483, 485, 486, 487, 490, 491, 492, 495, 496, 497, 498, 500, 501, 502, 504, 505, 508, 509, 510, 511, 513, 514, 516, 517, 520, 521, 522, 523, 524, 526, 527, 528, 529, 530, 532, 533, 534, 536, 537, 538, 539, 540, 541, 542, 543, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786, 789, 790, 791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 825, 826, 827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845, 848, 849, 850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892, 895, 896, 897, 901, 903, 904, 905, 907, 908, 910, 911, 912, 915, 916, 917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967, 970, 971, 972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012, 1015, 1016, 1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1080, 1081, 1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1139, 1140, 1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1209, 1210, 1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298, 1301, 1302, 1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490, 1496, 1497, 1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 970, "num_statements": 994, "percent_covered": 97.58551307847083, "percent_covered_display": "98", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370, 392, 404, 411, 413, 453, 470, 475, 701, 703], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService._next_id": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_entry": {"executed_lines": [80, 81, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_totp": {"executed_lines": [101, 102, 103, 112], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_key_value": {"executed_lines": [115, 116, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_document": {"executed_lines": [127, 128, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_ssh_key": {"executed_lines": [141, 142, 143, 151], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_pgp_key": {"executed_lines": [162, 163, 164, 172], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_nostr_key": {"executed_lines": [177, 178, 179, 187], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_seed": {"executed_lines": [197, 198, 199, 200, 201, 208], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_managed_account": {"executed_lines": [213, 214, 215, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_document_file": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [235, 239, 243], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [251, 252, 253, 255], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [254], "excluded_lines": []}, "FakeEntryService.generate_password": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_seed_phrase": {"executed_lines": [261, 262], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [265, 266], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_secret": {"executed_lines": [274, 275], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_code": {"executed_lines": [278, 279], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_totp_entries": {"executed_lines": [282, 283, 284, 285, 292], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [286], "excluded_lines": []}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [295, 296], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [302, 303], "excluded_lines": []}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [309, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [316], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [322, 323], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [326], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [329], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [342, 343, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [355, 356, 357, 363, 364], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [358, 359, 360, 361, 362], "excluded_lines": []}, "FakeEntryService.load_managed_account": {"executed_lines": [367, 368, 369, 371], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [370], "excluded_lines": []}, "FakeEntryService.exit_managed_account": {"executed_lines": [374], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.__init__": {"executed_lines": [379, 380, 381, 382, 383], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.list_profiles": {"executed_lines": [386], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.switch_profile": {"executed_lines": [389, 390, 391, 393], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [392], "excluded_lines": []}, "FakeProfileService.add_profile": {"executed_lines": [396, 397, 398, 399], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.remove_profile": {"executed_lines": [402, 403, 405, 406], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [404], "excluded_lines": []}, "FakeProfileService.rename_profile": {"executed_lines": [409, 410, 412, 414], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [411, 413], "excluded_lines": []}, "FakeConfigService.__init__": {"executed_lines": [419, 420, 421, 422, 423, 424, 425], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_secret_mode": {"executed_lines": [428, 429], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_offline_mode": {"executed_lines": [432], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set": {"executed_lines": [435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService.__init__": {"executed_lines": [458, 459, 460], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.get_pubkey": {"executed_lines": [463], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.list_relays": {"executed_lines": [466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.add_relay": {"executed_lines": [469, 471], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [470], "excluded_lines": []}, "FakeNostrService.remove_relay": {"executed_lines": [474, 476], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [475], "excluded_lines": []}, "FakeNostrService.reset_relays": {"executed_lines": [479, 480], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.reset_sync_state": {"executed_lines": [483], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [486, 487], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncResult.__init__": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.__init__": {"executed_lines": [497, 498], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.sync": {"executed_lines": [501, 502], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.__init__": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.verify_checksum": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.update_checksum": {"executed_lines": [517], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.__init__": {"executed_lines": [522, 523, 524], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.export_vault": {"executed_lines": [527, 528, 529, 530], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.import_vault": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.backup_parent_seed": {"executed_lines": [537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app": {"executed_lines": [556, 558, 561, 583, 584, 585, 586], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [559], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [590], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [594], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_filters_text": {"executed_lines": [598], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [602, 603, 604, 605, 606], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_pagination_and_search_flow": {"executed_lines": [611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_archive_scope_filters": {"executed_lines": [636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_document_edit_save_flow": {"executed_lines": [674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}, "test_tui2_textual_link_commands_and_neighbor_open": {"executed_lines": [717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_reveal_and_qr_flow": {"executed_lines": [743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_keyboard_reveal_and_qr": {"executed_lines": [791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filters_panel_tracks_selected_entry": {"executed_lines": [827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_sensitive_confirm_and_secret_mode_clipboard": {"executed_lines": [850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_retry_after_search_failure": {"executed_lines": [897, 901, 903, 904, 905, 907, 908, 910, 911, 912], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands": {"executed_lines": [917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands_validation_errors": {"executed_lines": [972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export": {"executed_lines": [1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export_validation": {"executed_lines": [1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_non_document_kinds": {"executed_lines": [1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_validation": {"executed_lines": [1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_view_timer_and_copy": {"executed_lines": [1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_secret_mode_and_validation": {"executed_lines": [1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_commands": {"executed_lines": [1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_session_palette_commands": {"executed_lines": [1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_validation": {"executed_lines": [1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 589, 593, 597, 601, 609, 610, 634, 635, 672, 673, 715, 716, 741, 742, 789, 790, 825, 826, 848, 849, 895, 896, 915, 916, 970, 971, 1015, 1016, 1080, 1081, 1139, 1140, 1209, 1210, 1250, 1251, 1301, 1302, 1340, 1341, 1496, 1497, 1529, 1530], "summary": {"covered_lines": 123, "num_statements": 123, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26, 29, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 71, 80, 81, 90, 101, 102, 103, 112, 115, 116, 124, 127, 128, 136, 141, 142, 143, 151, 162, 163, 164, 172, 177, 178, 179, 187, 197, 198, 199, 200, 201, 208, 213, 214, 215, 222, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 251, 252, 253, 255, 258, 261, 262, 265, 266, 274, 275, 278, 279, 282, 283, 284, 285, 292, 295, 296, 309, 310, 316, 319, 322, 323, 332, 342, 343, 350, 355, 356, 357, 363, 364, 367, 368, 369, 371, 374], "summary": {"covered_lines": 118, "num_statements": 133, "percent_covered": 88.7218045112782, "percent_covered_display": "89", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370], "excluded_lines": []}, "FakeProfileService": {"executed_lines": [379, 380, 381, 382, 383, 386, 389, 390, 391, 393, 396, 397, 398, 399, 402, 403, 405, 406, 409, 410, 412, 414], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [392, 404, 411, 413], "excluded_lines": []}, "FakeConfigService": {"executed_lines": [419, 420, 421, 422, 423, 424, 425, 428, 429, 432, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService": {"executed_lines": [458, 459, 460, 463, 466, 469, 471, 474, 476, 479, 480, 483, 486, 487], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [470, 475], "excluded_lines": []}, "FakeSyncResult": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService": {"executed_lines": [497, 498, 501, 502, 505], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService": {"executed_lines": [510, 511, 514, 517], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService": {"executed_lines": [522, 523, 524, 527, 528, 529, 530, 533, 534, 537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786, 789, 790, 791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 825, 826, 827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845, 848, 849, 850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892, 895, 896, 897, 901, 903, 904, 905, 907, 908, 910, 911, 912, 915, 916, 917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967, 970, 971, 972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012, 1015, 1016, 1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1080, 1081, 1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1139, 1140, 1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1209, 1210, 1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298, 1301, 1302, 1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490, 1496, 1497, 1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 768, "num_statements": 770, "percent_covered": 99.74025974025975, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}}}, "src/utils/__init__.py": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}, "classes": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}}, "src/utils/atomic_write.py": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/checksum.py": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "json_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [36, 37], "excluded_lines": []}, "calculate_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137], "excluded_lines": []}, "verify_and_update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 155, 156, 157, 158, 160, 161, 162], "excluded_lines": []}, "initialize_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198], "excluded_lines": []}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}, "": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}}}, "src/utils/clipboard.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29], "excluded_lines": []}, "copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [38, 40, 42, 46, 47, 48, 49], "excluded_lines": []}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [43, 44], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": []}}}, "src/utils/color_scheme.py": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "color_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": []}}}, "src/utils/file_lock.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"_get_portalocker_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24], "excluded_lines": []}, "exclusive_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41], "excluded_lines": []}, "shared_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/fingerprint.py": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}, "": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 122, "percent_covered": 18.852459016393443, "percent_covered_display": "19", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37], "excluded_lines": []}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [50, 51, 53, 54], "excluded_lines": []}, "FingerprintManager._ensure_app_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64, 67], "excluded_lines": []}, "FingerprintManager._load_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88], "excluded_lines": []}, "FingerprintManager._save_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [94, 95, 100, 104, 107, 108, 109], "excluded_lines": []}, "FingerprintManager.add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "FingerprintManager.remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183], "excluded_lines": []}, "FingerprintManager.list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [192, 193], "excluded_lines": []}, "FingerprintManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [205, 206, 207, 208, 209, 211, 212], "excluded_lines": []}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": []}, "FingerprintManager.get_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [227], "excluded_lines": []}, "FingerprintManager.display_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [231, 232], "excluded_lines": []}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FingerprintManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 99, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/imghdr_stub.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": [], "functions": {"what": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "excluded_lines": []}, "test_jpeg": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59], "excluded_lines": []}, "test_png": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [67, 68], "excluded_lines": []}, "test_gif": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "test_tiff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [85, 86], "excluded_lines": []}, "test_rgb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [94, 95], "excluded_lines": []}, "test_pbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [103, 104], "excluded_lines": []}, "test_pgm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [112, 113], "excluded_lines": []}, "test_ppm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [121, 122], "excluded_lines": []}, "test_rast": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [130, 131], "excluded_lines": []}, "test_xbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [139, 140], "excluded_lines": []}, "test_bmp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [148, 149], "excluded_lines": []}, "test_webp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [157, 158], "excluded_lines": []}, "test_exr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": []}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22], "excluded_lines": []}, "_timed_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 2}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "excluded_lines": [27, 28]}, "timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 58], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [9, 10]}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28]}}}, "src/utils/key_derivation.py": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133], "excluded_lines": []}, "derive_key_from_password_argon2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 3}, "missing_lines": [147, 148, 149, 151, 152, 153, 155, 156, 157, 166], "excluded_lines": [167, 168, 169]}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": []}, "derive_index_key_seed_only": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219], "excluded_lines": []}, "derive_index_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [224], "excluded_lines": []}, "derive_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": []}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [49, 50]}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169]}}}, "src/utils/key_hierarchy.py": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": [], "functions": {"kd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}}}, "src/utils/key_validation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": [], "functions": {"validate_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20], "excluded_lines": []}, "validate_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 35, 36, 37, 38], "excluded_lines": []}, "validate_pgp_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [43, 44, 45, 46, 47, 48], "excluded_lines": []}, "validate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "validate_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 69], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": []}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 13}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "pause_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "resume_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "console_logging_paused": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 51], "excluded_lines": []}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [59, 60], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}, "classes": {"ConsolePauseFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 21, 22, 23]}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 22, "percent_covered": 36.36363636363637, "percent_covered_display": "36", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23], "excluded_lines": []}, "InMemorySecret.get_bytes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [27, 28, 29], "excluded_lines": []}, "InMemorySecret.wipe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36], "excluded_lines": []}, "InMemorySecret.get_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"InMemorySecret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/password_prompt.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [39], "excluded_lines": []}, "_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [59, 60, 61, 62], "excluded_lines": []}, "prompt_new_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": []}, "prompt_existing_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": []}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [268], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": []}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48], "excluded_lines": []}, "_masked_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "excluded_lines": [53, 54]}, "_masked_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 2}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "excluded_lines": [78, 79]}, "masked_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [109, 110, 111, 112, 113, 114, 118], "excluded_lines": [115, 116]}, "prompt_seed_words": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15]}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116]}}}, "src/utils/terminal_utils.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26], "excluded_lines": [21, 22, 25]}, "clear_screen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "clear_and_print_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "clear_and_print_profile_chain": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "clear_header_with_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 3}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113], "excluded_lines": [102, 103, 104]}, "pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104]}}}}, "totals": {"covered_lines": 5111, "num_statements": 18365, "percent_covered": 27.830111625374354, "percent_covered_display": "28", "missing_lines": 13254, "excluded_lines": 206}} \ No newline at end of file diff --git a/artifacts/coverage/coverage.tui2_gate.candidate.json b/artifacts/coverage/coverage.tui2_gate.candidate.json new file mode 100644 index 00000000..2d87066a --- /dev/null +++ b/artifacts/coverage/coverage.tui2_gate.candidate.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.10.1", "timestamp": "2026-03-02T09:00:07.469776", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}}, "src/local_bip85/bip85.py": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 74, "percent_covered": 25.675675675675677, "percent_covered_display": "26", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "BIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "BIP85.derive_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146], "excluded_lines": []}, "BIP85.derive_symmetric_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/main.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65], "excluded_lines": []}, "load_global_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82], "excluded_lines": []}, "configure_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 130, 132], "excluded_lines": []}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "excluded_lines": []}, "get_notification_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "excluded_lines": []}, "handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208], "excluded_lines": []}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [217, 218, 219, 220, 221], "excluded_lines": []}, "handle_remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 255, 258, 261, 262, 269, 271, 272, 273, 274], "excluded_lines": []}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [249, 250, 251, 252, 253], "excluded_lines": []}, "handle_list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296], "excluded_lines": []}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314], "excluded_lines": []}, "_display_live_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 2}, "missing_lines": [325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361], "excluded_lines": [334, 335]}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [366, 367], "excluded_lines": [368, 369, 370]}, "print_matches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406], "excluded_lines": []}, "handle_post_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443], "excluded_lines": []}, "handle_retrieve_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481], "excluded_lines": []}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "excluded_lines": []}, "_safe_close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [503, 504, 505, 506, 507, 508, 509], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [514, 515, 516, 517, 518, 519, 520, 521, 522], "excluded_lines": []}, "handle_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553], "excluded_lines": []}, "handle_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590], "excluded_lines": []}, "handle_reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609], "excluded_lines": []}, "_get_profile_state_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [614, 615, 616, 617, 618, 619, 620, 622], "excluded_lines": []}, "_clear_nostr_runtime_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "excluded_lines": []}, "handle_reset_nostr_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665], "excluded_lines": []}, "handle_start_fresh_nostr_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708], "excluded_lines": []}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742], "excluded_lines": []}, "handle_set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791], "excluded_lines": []}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840], "excluded_lines": []}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859], "excluded_lines": []}, "handle_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910], "excluded_lines": []}, "handle_toggle_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947], "excluded_lines": []}, "handle_toggle_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "handle_profiles_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038], "excluded_lines": []}, "handle_nostr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112], "excluded_lines": []}, "handle_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 127, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 127, "excluded_lines": 0}, "missing_lines": [1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266], "excluded_lines": []}, "display_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 190, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 190, "excluded_lines": 0}, "missing_lines": [1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751], "excluded_lines": []}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 72, 85, 117, 118, 135, 150, 166, 167, 211, 224, 277, 299, 317, 364, 373, 409, 446, 484, 501, 512, 525, 556, 593, 612, 625, 642, 668, 711, 745, 794, 843, 862, 913, 950, 988, 1041, 1115, 1269, 1487, 1754, 1755], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370]}}}, "src/nostr/__init__.py": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "": {"executed_lines": [3, 5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 58, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 34, "excluded_lines": 2}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}, "classes": {"NostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 33, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26], "excluded_lines": []}, "Keys.hex_to_bech32": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 32], "excluded_lines": []}, "Keys.bech32_to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40], "excluded_lines": []}, "Keys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Keys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 155, "percent_covered": 16.774193548387096, "percent_covered_display": "17", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30], "excluded_lines": []}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "ConnectionHandler._connect_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67], "excluded_lines": []}, "ConnectionHandler._ping_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": []}, "ConnectionHandler.check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [105, 106, 107], "excluded_lines": []}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": []}, "ConnectionHandler.publish_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153], "excluded_lines": []}, "ConnectionHandler.update_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [157, 158, 159, 160, 161, 162], "excluded_lines": []}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": []}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": []}, "ConnectionHandler.close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConnectionHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 129, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 84, "percent_covered": 22.61904761904762, "percent_covered_display": "23", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62], "excluded_lines": []}, "KeyManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78], "excluded_lines": []}, "KeyManager.generate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [82, 83, 85, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": []}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": []}, "KeyManager.get_public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [129], "excluded_lines": []}, "KeyManager.get_private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [138], "excluded_lines": []}, "KeyManager.get_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [147, 148, 149, 150, 151, 152, 153, 154, 155], "excluded_lines": []}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 264, "percent_covered": 10.984848484848484, "percent_covered_display": "11", "missing_lines": 235, "excluded_lines": 11}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46], "excluded_lines": []}, "new_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [57, 58, 59], "excluded_lines": []}, "SnapshotHandler.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "excluded_lines": []}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219], "excluded_lines": []}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 11}, "missing_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310], "excluded_lines": []}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346], "excluded_lines": []}, "SnapshotHandler.publish_delta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "excluded_lines": []}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "excluded_lines": []}, "SnapshotHandler.get_current_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [434, 435], "excluded_lines": []}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [438, 439], "excluded_lines": []}, "SnapshotHandler.get_delta_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [442, 443], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SnapshotHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 225, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 225, "excluded_lines": 11}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59], "excluded_lines": []}}}, "src/seedpass/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/api.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": [], "functions": {"dynamic_cors_headers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93], "excluded_lines": []}, "_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100], "excluded_lines": []}, "_check_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "_enforce_rate_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129], "excluded_lines": []}, "_request_rate_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [133, 134, 135], "excluded_lines": []}, "_enforce_unlock_attempt_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150], "excluded_lines": []}, "_record_unlock_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "start_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205], "excluded_lines": []}, "_require_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [209, 210, 211], "excluded_lines": []}, "_require_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [216, 217, 218], "excluded_lines": []}, "_validate_encryption_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231], "excluded_lines": []}, "_header_truthy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [235], "excluded_lines": []}, "_active_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [239], "excluded_lines": []}, "_policy_isolation_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 252, 253], "excluded_lines": []}, "_require_high_risk_session": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": []}, "_hydrate_partitioned_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "excluded_lines": []}, "_job_profile_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [289, 290, 291], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [295], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [301, 311, 324], "excluded_lines": []}, "_template_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [328], "excluded_lines": []}, "_load_template_signing_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [332, 333, 334, 335, 336, 337, 338, 339], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [343], "excluded_lines": []}, "_template_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [347, 352, 353, 354, 355, 356, 357, 358, 359, 360], "excluded_lines": []}, "_template_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [364, 365, 366, 367, 368, 369, 372, 373], "excluded_lines": []}, "_build_job_profile_template_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438], "excluded_lines": []}, "_mask_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [442, 443, 444], "excluded_lines": []}, "search_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [451, 452, 453, 454, 455], "excluded_lines": []}, "high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [472, 473, 474, 475, 476], "excluded_lines": []}, "high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519], "excluded_lines": []}, "high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540], "excluded_lines": []}, "list_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [549, 550, 551, 552], "excluded_lines": []}, "create_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601], "excluded_lines": []}, "revoke_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 614], "excluded_lines": []}, "run_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682], "excluded_lines": []}, "template_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [709, 710, 711, 712, 713, 714], "excluded_lines": []}, "template_agent_job_profile_post": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [731, 732, 733, 734, 735, 736], "excluded_lines": []}, "verify_agent_job_profile_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777], "excluded_lines": []}, "check_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938], "excluded_lines": []}, "agent_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [947, 948, 949, 950], "excluded_lines": []}, "agent_recovery_drills_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [959, 960, 961, 962, 963], "excluded_lines": []}, "get_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "create_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143], "excluded_lines": []}, "update_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181], "excluded_lines": []}, "get_entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198], "excluded_lines": []}, "add_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223], "excluded_lines": []}, "remove_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247], "excluded_lines": []}, "import_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276], "excluded_lines": []}, "export_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303], "excluded_lines": []}, "archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1311, 1312, 1313, 1314, 1315], "excluded_lines": []}, "unarchive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1323, 1324, 1325, 1326, 1327], "excluded_lines": []}, "get_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345], "excluded_lines": []}, "update_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384], "excluded_lines": []}, "set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406], "excluded_lines": []}, "list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1413, 1414, 1415], "excluded_lines": []}, "add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1423, 1424, 1425, 1426, 1427], "excluded_lines": []}, "remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1435, 1436, 1437, 1438, 1439], "excluded_lines": []}, "select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1447, 1448, 1449, 1451, 1452, 1453, 1454], "excluded_lines": []}, "export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490], "excluded_lines": []}, "get_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517], "excluded_lines": []}, "get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1525, 1526, 1527, 1528], "excluded_lines": []}, "get_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545], "excluded_lines": []}, "get_nostr_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1550, 1551, 1552, 1553], "excluded_lines": []}, "list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1559, 1560, 1561, 1562, 1563], "excluded_lines": []}, "add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586], "excluded_lines": []}, "remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607], "excluded_lines": []}, "reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1631, 1632, 1633, 1634, 1635], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683], "excluded_lines": []}, "verify_export_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1699, 1700, 1701, 1702], "excluded_lines": []}, "export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0}, "missing_lines": [1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794], "excluded_lines": []}, "import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853], "excluded_lines": []}, "import_vault._handle_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1822, 1823, 1824, 1825, 1826, 1827, 1829], "excluded_lines": []}, "backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926], "excluded_lines": []}, "change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1934, 1935, 1936, 1937, 1939], "excluded_lines": []}, "generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966], "excluded_lines": []}, "lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1974, 1975, 1976, 1977], "excluded_lines": []}, "unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997], "excluded_lines": []}, "shutdown_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2008, 2009, 2011], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 178, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": []}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74], "excluded_lines": []}, "_gui_backend_available": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82], "excluded_lines": []}, "_prime_tui2_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [93, 94, 103, 104, 105], "excluded_lines": [114, 115]}, "_launch_legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173], "excluded_lines": []}, "root_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [179, 180, 181], "excluded_lines": []}, "tui2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242], "excluded_lines": []}, "legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "gui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 77, 85, 118, 124, 125, 176, 177, 184, 185, 245, 246, 252, 253], "excluded_lines": [333, 334]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334]}}}, "src/seedpass/cli/agent.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409], "functions": {"_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [168], "excluded_lines": []}, "_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [172], "excluded_lines": []}, "_token_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [176], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [180], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "_ensure_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [188], "excluded_lines": []}, "_mask_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [192, 193, 194, 195, 196], "excluded_lines": []}, "_automation_job_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [211, 220, 221, 222, 223, 226], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [230], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [236, 246, 259], "excluded_lines": []}, "_resolve_secret_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287], "excluded_lines": []}, "_deny_all_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [291, 310], "excluded_lines": []}, "_normalize_legacy_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380], "excluded_lines": []}, "_validate_rule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 2}, "missing_lines": [384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413], "excluded_lines": [408, 409]}, "_normalize_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0}, "missing_lines": [417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554], "excluded_lines": []}, "_load_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578], "excluded_lines": []}, "_save_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [582, 583, 584, 585, 586], "excluded_lines": []}, "_load_policy_from_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [590, 591, 592, 593, 594, 595, 596], "excluded_lines": []}, "_policy_json_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [600], "excluded_lines": []}, "_policy_full_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [604, 607], "excluded_lines": []}, "_policy_diff_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [613, 614, 616, 617, 618, 619, 620, 626], "excluded_lines": []}, "_agent_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [651, 652, 659, 660], "excluded_lines": []}, "_seed_from_inputs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684], "excluded_lines": []}, "_load_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [688, 689, 690, 691, 692, 693, 694, 695, 696, 697], "excluded_lines": []}, "_save_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [701, 702, 703, 704], "excluded_lines": []}, "_hash_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [708], "excluded_lines": []}, "_issue_token_record": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [720, 721, 722, 723, 736], "excluded_lines": []}, "_parse_iso8601": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [740, 741, 742, 743], "excluded_lines": []}, "_validate_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796], "excluded_lines": []}, "_load_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [800, 801, 802, 803, 804, 805, 806, 807], "excluded_lines": []}, "_append_audit_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837], "excluded_lines": []}, "_policy_decision": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880], "excluded_lines": []}, "_build_entry_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [884], "excluded_lines": []}, "_high_risk_lock_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [888, 889, 890, 891, 892, 893, 894, 895, 896], "excluded_lines": []}, "_hydrate_partition_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [906, 907, 908, 909, 910, 911, 912, 913, 914], "excluded_lines": []}, "_token_posture_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943], "excluded_lines": []}, "_severity_rank": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [953, 954], "excluded_lines": []}, "_posture_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218], "excluded_lines": []}, "_runtime_config_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277], "excluded_lines": []}, "_remediation_actions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412], "excluded_lines": []}, "agent_init": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523], "excluded_lines": []}, "agent_policy_show": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1529, 1530, 1531, 1532, 1533], "excluded_lines": []}, "agent_policy_lint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571], "excluded_lines": []}, "agent_policy_review": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633], "excluded_lines": []}, "agent_policy_apply": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685], "excluded_lines": []}, "agent_policy_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724], "excluded_lines": []}, "agent_identity_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760], "excluded_lines": []}, "agent_identity_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1768], "excluded_lines": []}, "agent_identity_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1785, 1786, 1787, 1788, 1789, 1790], "excluded_lines": []}, "agent_high_risk_factor_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1823, 1830, 1831, 1832, 1833, 1834], "excluded_lines": []}, "agent_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915], "excluded_lines": []}, "agent_high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1931, 1932, 1933, 1934, 1935, 1939], "excluded_lines": []}, "agent_high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1951, 1952, 1953, 1954, 1955, 1965], "excluded_lines": []}, "agent_high_risk_partition_migrate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075], "excluded_lines": []}, "agent_token_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174], "excluded_lines": []}, "agent_token_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2198, 2199, 2200, 2201, 2202, 2203, 2217], "excluded_lines": []}, "agent_token_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242], "excluded_lines": []}, "agent_approval_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2280, 2287, 2297], "excluded_lines": []}, "agent_approval_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2305, 2306], "excluded_lines": []}, "agent_approval_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2320, 2321, 2324, 2325, 2326], "excluded_lines": []}, "agent_lease_consume": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0}, "missing_lines": [2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520], "excluded_lines": []}, "agent_lease_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2528, 2529], "excluded_lines": []}, "agent_lease_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2537, 2538, 2539, 2540, 2541, 2542], "excluded_lines": []}, "agent_job_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2614, 2615, 2616, 2621, 2622, 2624], "excluded_lines": []}, "agent_job_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754], "excluded_lines": []}, "agent_job_profile_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857], "excluded_lines": []}, "agent_job_profile_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2867, 2868], "excluded_lines": []}, "agent_job_profile_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "agent_job_profile_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958], "excluded_lines": []}, "agent_job_profile_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3169, 3170, 3176, 3177, 3178], "excluded_lines": []}, "agent_recovery_drill_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3186, 3187], "excluded_lines": []}, "agent_bootstrap_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313], "excluded_lines": []}, "agent_posture_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439], "excluded_lines": []}, "agent_posture_remediate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544], "excluded_lines": []}, "agent_export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618], "excluded_lines": []}, "agent_export_manifest_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672], "excluded_lines": []}, "agent_document_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855], "excluded_lines": []}, "agent_document_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0}, "missing_lines": [3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142], "excluded_lines": []}, "agent_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 96, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 96, "excluded_lines": 0}, "missing_lines": [4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 166, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 166, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 171, 175, 179, 183, 187, 191, 199, 229, 233, 262, 290, 313, 383, 416, 557, 581, 589, 599, 603, 610, 643, 663, 687, 700, 707, 711, 739, 746, 799, 810, 840, 883, 887, 899, 917, 952, 957, 1221, 1280, 1415, 1416, 1526, 1527, 1536, 1537, 1574, 1575, 1636, 1637, 1688, 1689, 1727, 1728, 1763, 1764, 1780, 1781, 1793, 1794, 1837, 1838, 1928, 1929, 1948, 1949, 1968, 1969, 2078, 2079, 2193, 2194, 2220, 2221, 2245, 2246, 2300, 2301, 2315, 2316, 2329, 2330, 2523, 2524, 2532, 2533, 2547, 2548, 2641, 2642, 2757, 2758, 2862, 2863, 2873, 2874, 2886, 2887, 2976, 2977, 3064, 3065, 3111, 3112, 3147, 3148, 3181, 3182, 3196, 3197, 3316, 3317, 3442, 3443, 3547, 3548, 3621, 3622, 3675, 3676, 3858, 3859, 4145, 4146], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409]}}}, "src/seedpass/cli/api.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99], "functions": {"api_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80], "excluded_lines": []}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [90, 92, 93], "excluded_lines": [98, 99]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 83, 84], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99]}}}, "src/seedpass/cli/capabilities.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": [], "functions": {"build_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "emit_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292], "excluded_lines": []}, "register_capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [297], "excluded_lines": []}, "register_capabilities_command.capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [306], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 254, 295, 296], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": []}}}, "src/seedpass/cli/common.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 29, 30, 31, 32, 33, 34], "excluded_lines": []}, "_get_services": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [42, 43], "excluded_lines": []}, "_get_entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "_get_config_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [52, 53], "excluded_lines": []}, "_get_util_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}, "_get_nostr_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [62, 63], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": []}}}, "src/seedpass/cli/config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 16, 18], "excluded_lines": []}, "config_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [24, 26, 27, 32, 33, 34, 35, 40], "excluded_lines": [36, 37, 38]}, "config_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 6}, "missing_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91], "excluded_lines": [54, 55, 56, 86, 87, 88]}, "config_toggle_offline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 6}, "missing_lines": [97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [100, 101, 102, 119, 120, 121]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121]}}}, "src/seedpass/cli/entry.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52], "excluded_lines": []}, "entry_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "entry_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122], "excluded_lines": []}, "entry_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174], "excluded_lines": []}, "entry_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [190, 191, 199], "excluded_lines": []}, "entry_add_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [210, 211, 216], "excluded_lines": []}, "entry_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [229, 230, 237], "excluded_lines": []}, "entry_add_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [248, 249, 254], "excluded_lines": []}, "entry_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [266, 267, 273], "excluded_lines": []}, "entry_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [285, 286, 287], "excluded_lines": []}, "entry_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [298, 299, 304], "excluded_lines": []}, "entry_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [316, 317, 323], "excluded_lines": []}, "entry_import_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [334, 335, 336], "excluded_lines": []}, "entry_export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [351, 352, 353], "excluded_lines": []}, "entry_modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413], "excluded_lines": []}, "entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [422, 423, 424, 425, 426, 427, 428], "excluded_lines": []}, "entry_link_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [440, 441, 442, 443, 444, 445, 446], "excluded_lines": []}, "entry_link_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [459, 460, 461, 462, 463, 464, 465], "excluded_lines": []}, "entry_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [471, 472, 473], "excluded_lines": []}, "entry_unarchive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [479, 480, 481], "excluded_lines": []}, "entry_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [487, 488], "excluded_lines": []}, "entry_export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 55, 56, 83, 84, 125, 126, 177, 178, 202, 203, 219, 220, 240, 241, 257, 258, 276, 277, 290, 291, 307, 308, 326, 327, 339, 340, 356, 357, 416, 417, 431, 432, 449, 450, 468, 469, 476, 477, 484, 485, 491, 492], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [13, 14, 15], "excluded_lines": []}, "fingerprint_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "fingerprint_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [28, 29], "excluded_lines": []}, "fingerprint_switch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [35, 36, 37], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": []}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25], "excluded_lines": []}, "nostr_get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [31, 32, 33], "excluded_lines": []}, "nostr_list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [39, 40, 41, 42], "excluded_lines": []}, "nostr_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [48, 49, 50, 54], "excluded_lines": [51, 52, 53]}, "nostr_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [60, 61, 62, 66], "excluded_lines": [63, 64, 65]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65]}}}, "src/seedpass/cli/util.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [64, 65], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [71, 72], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": []}}}, "src/seedpass/cli/vault.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252], "functions": {"_isolation_required_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "vault_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169], "excluded_lines": []}, "vault_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "vault_change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 3}, "missing_lines": [186, 187, 188, 189, 190, 196], "excluded_lines": [193, 194, 195]}, "vault_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 3}, "missing_lines": [232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254], "excluded_lines": [250, 251, 252]}, "vault_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "vault_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [270, 271, 272], "excluded_lines": []}, "vault_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 48, 49, 172, 173, 183, 184, 199, 200, 259, 260, 267, 268, 275, 276], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252]}}}, "src/seedpass/core/__init__.py": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}, "": {"executed_lines": [3, 5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}}}, "src/seedpass/core/agent_approval.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52], "excluded_lines": []}, "issue_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 76, 77, 78], "excluded_lines": []}, "approval_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_approvals": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96], "excluded_lines": []}, "revoke_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "consume_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}}}, "src/seedpass/core/agent_export_policy.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": [], "functions": {"_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [54], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [58], "excluded_lines": []}, "_ensure_parent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [62], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [66], "excluded_lines": []}, "_load_or_create_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 75, 76, 77], "excluded_lines": []}, "_previous_signature": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "record_export_policy_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 104, 105, 108, 109, 110, 111, 112], "excluded_lines": []}, "load_export_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185], "excluded_lines": []}, "full_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [189], "excluded_lines": []}, "allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [196, 197, 198, 199], "excluded_lines": []}, "kind_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [203], "excluded_lines": []}, "evaluate_full_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [207, 208, 209], "excluded_lines": []}, "evaluate_kind_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [213, 214, 215], "excluded_lines": []}, "filter_index_for_allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": []}, "_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [238, 260, 261], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [265], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [269, 270, 271, 272], "excluded_lines": []}, "_sorted_index_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [276, 282], "excluded_lines": []}, "_sorted_index_keys._key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [277, 278, 279, 280], "excluded_lines": []}, "compute_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [287], "excluded_lines": []}, "_redacted_copy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [291, 292, 293, 294, 296, 297], "excluded_lines": []}, "build_policy_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342], "excluded_lines": []}, "verify_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0}, "missing_lines": [353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}}}, "src/seedpass/core/agent_identity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_identities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "ensure_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102], "excluded_lines": []}, "revoke_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "excluded_lines": []}, "identity_active": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [128, 129, 130, 131], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 92, 110, 127], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": []}}}, "src/seedpass/core/agent_job.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "revoke_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}}}, "src/seedpass/core/agent_recovery.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": [], "functions": {"_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "_mod_inv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "_coef": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [29, 30, 31], "excluded_lines": []}, "_poly_eval_at_x": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39, 40], "excluded_lines": []}, "_parse_share_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "excluded_lines": []}, "split_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105], "excluded_lines": []}, "recover_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "excluded_lines": []}, "_drill_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [156], "excluded_lines": []}, "_drill_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [160], "excluded_lines": []}, "_load_drill_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [164, 165, 166, 167, 168, 169, 170, 171], "excluded_lines": []}, "_latest_drill_sig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "excluded_lines": []}, "record_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236], "excluded_lines": []}, "list_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": []}, "verify_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_isolation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": [], "functions": {"_factor_hash_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "_partition_envelope_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [26], "excluded_lines": []}, "_session_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [30], "excluded_lines": []}, "_session_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [34], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "_load_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "excluded_lines": []}, "_save_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69], "excluded_lines": []}, "_factor_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [77], "excluded_lines": []}, "_derive_wrapping_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 88], "excluded_lines": []}, "_build_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [92, 93, 94, 95], "excluded_lines": []}, "_load_partition_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "excluded_lines": []}, "_unwrap_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "excluded_lines": []}, "set_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [134, 135, 138, 139, 140, 142, 143, 144, 145, 146], "excluded_lines": []}, "high_risk_factor_configured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154], "excluded_lines": []}, "verify_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173], "excluded_lines": []}, "unwrap_high_risk_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "grant_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [186, 187, 193, 194, 195, 200, 201, 202, 203], "excluded_lines": []}, "high_risk_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "excluded_lines": []}, "revoke_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [233, 234, 235, 236, 237, 240, 241, 242, 243, 244], "excluded_lines": []}, "unlocked_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": []}, "partition_key_tag_for_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [266, 267], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_lease.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [17], "excluded_lines": []}, "_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "_load_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], "excluded_lines": []}, "_save_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56], "excluded_lines": []}, "issue_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [69, 70, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_leases": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96, 97], "excluded_lines": []}, "revoke_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "consume_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 121, 122, 124, 127, 128, 129, 131, 134, 135, 136, 138, 141, 142, 143, 146, 148, 151, 152, 155, 156, 157, 159, 162, 163, 165, 168, 169, 170, 172, 175, 176, 178, 181, 182, 186, 189, 190, 193, 194, 196, 197, 198, 200, 203, 204, 206, 209, 210, 211, 215, 218, 219, 221, 224, 225, 227, 236, 237, 239, 240, 241, 243, 246, 247, 248, 249, 250, 251, 252, 254, 257, 258, 260, 263, 264, 267, 268, 270, 271, 272, 274, 280, 281, 287, 305, 306, 307, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 325, 326, 327, 330, 332, 339, 341, 342, 346, 348, 349, 353, 355, 356, 360, 362, 363, 367, 369, 370, 374, 376, 377, 378, 379, 380, 385, 387, 388, 389, 390, 391, 396, 398, 399, 400, 401, 402, 407, 409, 425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452, 454, 464, 465, 466, 475, 476, 478, 485, 486, 492, 493, 495, 504, 505, 513, 514, 516, 523, 524, 530, 531, 533, 541, 542, 549, 550, 552, 555, 556, 559, 560, 562, 569, 570, 576, 577, 579, 601, 621, 635, 654, 655, 672, 674, 689, 703, 707, 708, 709, 710, 712, 713, 714, 715, 717, 718, 719, 722, 724, 725, 726, 728, 729, 730, 732, 733, 734, 737, 738, 740, 741, 742, 744, 745, 746, 748, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 813, 814, 815, 816, 818, 819, 820, 822, 823, 824, 825, 826, 829, 830, 832, 833, 834, 836, 849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878, 881, 882, 883, 885, 886, 887, 890, 891, 893, 894, 895, 897, 898, 899, 901, 902, 903, 905, 906, 907, 908, 912, 913, 914, 915, 919, 931, 932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945, 947, 949, 950, 951, 953, 954, 955, 956, 957, 958, 960, 962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 402, "num_statements": 464, "percent_covered": 86.63793103448276, "percent_covered_display": "87", "missing_lines": 62, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233, 334, 335, 381, 382, 383, 392, 393, 394, 403, 404, 406, 428, 430, 432, 434, 436, 438, 440, 442, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705, 856, 858, 860, 864, 866, 868, 879, 920, 921, 923, 924, 925, 926, 927, 928, 929, 937, 952, 965], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_vault": {"executed_lines": [127, 128, 129], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_vault": {"executed_lines": [134, 135, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_profile": {"executed_lines": [141, 142, 143, 146], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_profile": {"executed_lines": [151, 152, 155, 156, 157], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.change_password": {"executed_lines": [162, 163], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.unlock": {"executed_lines": [168, 169, 170], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.lock": {"executed_lines": [175, 176], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.backup_parent_seed": {"executed_lines": [181, 182], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.stats": {"executed_lines": [189, 190], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.__init__": {"executed_lines": [197, 198], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.list_profiles": {"executed_lines": [203, 204], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.add_profile": {"executed_lines": [209, 210, 211], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.remove_profile": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.switch_profile": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233], "excluded_lines": []}, "SyncService.__init__": {"executed_lines": [240, 241], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.sync": {"executed_lines": [246, 247, 248, 249, 250, 251, 252], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_sync": {"executed_lines": [257, 258], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_vault_sync": {"executed_lines": [263, 264], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.__init__": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.list_entries": {"executed_lines": [280, 281], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.search_entries": {"executed_lines": [305, 306, 307, 308, 309, 310, 311], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.retrieve_entry": {"executed_lines": [314, 315], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.generate_password": {"executed_lines": [318, 319, 320, 321, 322, 323], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_code": {"executed_lines": [326, 327, 330], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [334, 335], "excluded_lines": []}, "EntryService.get_seed_phrase": {"executed_lines": [341, 342], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_managed_account_seed": {"executed_lines": [348, 349], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_ssh_key_pair": {"executed_lines": [355, 356], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_pgp_key": {"executed_lines": [362, 363], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_nostr_key_pair": {"executed_lines": [369, 370], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_secret_mode_enabled": {"executed_lines": [376, 377, 378, 379, 380], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [381, 382, 383], "excluded_lines": []}, "EntryService.get_clipboard_clear_delay": {"executed_lines": [387, 388, 389, 390, 391], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [392, 393, 394], "excluded_lines": []}, "EntryService.copy_to_clipboard": {"executed_lines": [398, 399, 400, 401, 402, 407], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [403, 404, 406], "excluded_lines": []}, "EntryService.add_entry": {"executed_lines": [425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452], "summary": {"covered_lines": 13, "num_statements": 21, "percent_covered": 61.904761904761905, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [428, 430, 432, 434, 436, 438, 440, 442], "excluded_lines": []}, "EntryService.add_totp": {"executed_lines": [464, 465, 466, 475, 476], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_ssh_key": {"executed_lines": [485, 486, 492, 493], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_pgp_key": {"executed_lines": [504, 505, 513, 514], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_nostr_key": {"executed_lines": [523, 524, 530, 531], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_seed": {"executed_lines": [541, 542, 549, 550], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_key_value": {"executed_lines": [555, 556, 559, 560], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_managed_account": {"executed_lines": [569, 570, 576, 577], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [589, 590, 598, 599], "excluded_lines": []}, "EntryService.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [610, 611, 618, 619], "excluded_lines": []}, "EntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [628, 629], "excluded_lines": []}, "EntryService.modify_entry": {"executed_lines": [654, 655, 672], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [682, 683, 686, 687], "excluded_lines": []}, "EntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [696, 697, 700, 701], "excluded_lines": []}, "EntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [704, 705], "excluded_lines": []}, "EntryService.archive_entry": {"executed_lines": [708, 709, 710], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.restore_entry": {"executed_lines": [713, 714, 715], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.export_totp_entries": {"executed_lines": [718, 719, 722], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.display_totp_codes": {"executed_lines": [725, 726], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.load_managed_account": {"executed_lines": [729, 730], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.exit_managed_account": {"executed_lines": [733, 734], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.__init__": {"executed_lines": [741, 742], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get": {"executed_lines": [745, 746], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set": {"executed_lines": [749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [803, 804], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [807, 808], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_secret_mode": {"executed_lines": [811, 812, 813, 814, 815, 816], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_offline_mode": {"executed_lines": [819, 820], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_offline_mode": {"executed_lines": [823, 824, 825, 826], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.__init__": {"executed_lines": [833, 834], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.generate_password": {"executed_lines": [849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878], "summary": {"covered_lines": 19, "num_statements": 26, "percent_covered": 73.07692307692308, "percent_covered_display": "73", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [856, 858, 860, 864, 866, 868, 879], "excluded_lines": []}, "UtilityService.verify_checksum": {"executed_lines": [882, 883], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.update_checksum": {"executed_lines": [886, 887], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.__init__": {"executed_lines": [894, 895], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.get_pubkey": {"executed_lines": [898, 899], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.list_relays": {"executed_lines": [902, 903], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.add_relay": {"executed_lines": [906, 907, 908], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.remove_relay": {"executed_lines": [913, 914, 915], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [920, 921, 923, 924, 925, 926, 927, 928, 929], "excluded_lines": []}, "NostrService._clear_runtime_sync_state": {"executed_lines": [932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [937], "excluded_lines": []}, "NostrService.reset_sync_state": {"executed_lines": [949, 950, 951, 953, 954, 955, 956, 957, 958], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [952], "excluded_lines": []}, "NostrService.start_fresh_namespace": {"executed_lines": [962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [965], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService": {"executed_lines": [121, 122, 127, 128, 129, 134, 135, 136, 141, 142, 143, 146, 151, 152, 155, 156, 157, 162, 163, 168, 169, 170, 175, 176, 181, 182, 189, 190], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService": {"executed_lines": [197, 198, 203, 204, 209, 210, 211, 218, 219, 224, 225], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233], "excluded_lines": []}, "SyncService": {"executed_lines": [240, 241, 246, 247, 248, 249, 250, 251, 252, 257, 258, 263, 264], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService": {"executed_lines": [271, 272, 280, 281, 305, 306, 307, 308, 309, 310, 311, 314, 315, 318, 319, 320, 321, 322, 323, 326, 327, 330, 341, 342, 348, 349, 355, 356, 362, 363, 369, 370, 376, 377, 378, 379, 380, 387, 388, 389, 390, 391, 398, 399, 400, 401, 402, 407, 425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452, 464, 465, 466, 475, 476, 485, 486, 492, 493, 504, 505, 513, 514, 523, 524, 530, 531, 541, 542, 549, 550, 555, 556, 559, 560, 569, 570, 576, 577, 654, 655, 672, 708, 709, 710, 713, 714, 715, 718, 719, 722, 725, 726, 729, 730, 733, 734], "summary": {"covered_lines": 108, "num_statements": 147, "percent_covered": 73.46938775510205, "percent_covered_display": "73", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [334, 335, 381, 382, 383, 392, 393, 394, 403, 404, 406, 428, 430, 432, 434, 436, 438, 440, 442, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705], "excluded_lines": []}, "ConfigService": {"executed_lines": [741, 742, 745, 746, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 803, 804, 807, 808, 811, 812, 813, 814, 815, 816, 819, 820, 823, 824, 825, 826], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService": {"executed_lines": [833, 834, 849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878, 882, 883, 886, 887], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [856, 858, 860, 864, 866, 868, 879], "excluded_lines": []}, "NostrService": {"executed_lines": [894, 895, 898, 899, 902, 903, 906, 907, 908, 913, 914, 915, 932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945, 949, 950, 951, 953, 954, 955, 956, 957, 958, 962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 46, "num_statements": 58, "percent_covered": 79.3103448275862, "percent_covered_display": "79", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [920, 921, 923, 924, 925, 926, 927, 928, 929, 937, 952, 965], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/auth_broker.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": [], "functions": {"_password_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 18], "excluded_lines": []}, "_password_from_keyring": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34], "excluded_lines": []}, "_password_from_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "resolve_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 21, 37, 57], "excluded_lines": []}}, "classes": {"AuthBrokerError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}}}, "src/seedpass/core/backup.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 116, "percent_covered": 16.379310344827587, "percent_covered_display": "16", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 55, 56, 57], "excluded_lines": []}, "BackupManager.create_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93], "excluded_lines": []}, "BackupManager._create_additional_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "excluded_lines": [108, 109]}, "BackupManager.restore_latest_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141], "excluded_lines": []}, "BackupManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164], "excluded_lines": []}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": []}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"BackupManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 97, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109]}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/compat.py": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "functions": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}, "classes": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 276, "percent_covered": 22.82608695652174, "percent_covered_display": "23", "missing_lines": 213, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": [19, 20], "functions": {"ConfigManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [56, 57, 58], "excluded_lines": []}, "ConfigManager.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149], "excluded_lines": []}, "ConfigManager.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [153, 154, 155, 156, 157, 158], "excluded_lines": []}, "ConfigManager.set_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [162, 163, 164, 165, 166], "excluded_lines": []}, "ConfigManager.set_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173], "excluded_lines": []}, "ConfigManager.verify_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180, 181], "excluded_lines": []}, "ConfigManager.change_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188], "excluded_lines": []}, "ConfigManager.set_password_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [192, 193, 194], "excluded_lines": []}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [198, 199, 200, 201, 202], "excluded_lines": []}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [206, 207], "excluded_lines": []}, "ConfigManager.set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 215], "excluded_lines": []}, "ConfigManager.get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [219, 220], "excluded_lines": []}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [224, 225, 226, 227, 228], "excluded_lines": []}, "ConfigManager.get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [232, 233], "excluded_lines": []}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [237, 238, 239, 240, 241], "excluded_lines": []}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [245, 246], "excluded_lines": []}, "ConfigManager.set_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [250, 251, 252], "excluded_lines": []}, "ConfigManager.get_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [256, 257, 258], "excluded_lines": []}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "ConfigManager.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [268, 269, 270], "excluded_lines": []}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [274, 275], "excluded_lines": []}, "ConfigManager.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [279, 280], "excluded_lines": []}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [284, 285, 286, 287, 288], "excluded_lines": []}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [292, 293], "excluded_lines": []}, "ConfigManager.set_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [297, 298, 299, 300, 301], "excluded_lines": []}, "ConfigManager.get_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [305, 306], "excluded_lines": []}, "ConfigManager.get_password_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [311, 313, 314], "excluded_lines": []}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [326, 327, 328], "excluded_lines": []}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [331, 332, 333], "excluded_lines": []}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [336, 337, 338], "excluded_lines": []}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [341, 342, 343], "excluded_lines": []}, "ConfigManager.set_include_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [347, 348, 349], "excluded_lines": []}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [353, 354, 355], "excluded_lines": []}, "ConfigManager.set_special_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [359, 360, 361], "excluded_lines": []}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [365, 366, 367], "excluded_lines": []}, "ConfigManager.set_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [371, 372, 373], "excluded_lines": []}, "ConfigManager.get_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [377, 378], "excluded_lines": []}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [390, 391], "excluded_lines": []}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399], "excluded_lines": []}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [403, 404], "excluded_lines": []}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [407, 408, 409], "excluded_lines": []}, "ConfigManager.get_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [412, 413], "excluded_lines": []}, "ConfigManager.get_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [417, 418, 419, 420, 421], "excluded_lines": []}, "ConfigManager.set_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428, 429], "excluded_lines": []}, "ConfigManager.set_partition_unlock_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443], "excluded_lines": []}, "ConfigManager.is_partition_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}, "classes": {"ConfigManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 213, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 213, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}}, "src/seedpass/core/display_service.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 341, "percent_covered": 7.9178885630498534, "percent_covered_display": "8", "missing_lines": 314, "excluded_lines": 2}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": [14, 15], "functions": {"DisplayService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "DisplayService._manager_module": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [30, 32], "excluded_lines": []}, "DisplayService._confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "DisplayService._copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "DisplayService._timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "DisplayService.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77], "excluded_lines": []}, "DisplayService._display_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "excluded_lines": []}, "DisplayService._display_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176], "excluded_lines": []}, "DisplayService._display_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226], "excluded_lines": []}, "DisplayService._display_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261], "excluded_lines": []}, "DisplayService._display_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290], "excluded_lines": []}, "DisplayService._display_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342], "excluded_lines": []}, "DisplayService._display_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385], "excluded_lines": []}, "DisplayService._display_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430], "excluded_lines": []}, "DisplayService._display_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}, "classes": {"DisplayService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 314, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 314, "excluded_lines": 0}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 332, "percent_covered": 13.855421686746988, "percent_covered_display": "14", "missing_lines": 286, "excluded_lines": 23}, "missing_lines": [42, 43, 44, 51, 54, 55, 73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [11, 12, 13, 15, 196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [42, 43, 44], "excluded_lines": []}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97], "excluded_lines": []}, "EncryptionManager.encrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "EncryptionManager.decrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 2}, "missing_lines": [126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195], "excluded_lines": [196, 197]}, "EncryptionManager.decrypt_legacy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 4}, "missing_lines": [206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241], "excluded_lines": [229, 230, 238, 239]}, "EncryptionManager.resolve_relative_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269], "excluded_lines": []}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [275, 276, 277], "excluded_lines": []}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "excluded_lines": []}, "EncryptionManager._serialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [298, 299, 300, 301], "excluded_lines": []}, "EncryptionManager._deserialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [311, 312, 313, 315, 316, 317, 318, 319, 320, 325], "excluded_lines": [321, 322]}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "excluded_lines": []}, "EncryptionManager.decrypt_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [348, 349, 350, 351, 352, 353], "excluded_lines": []}, "EncryptionManager.get_file_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [356, 357, 358, 359, 360, 361], "excluded_lines": []}, "EncryptionManager.save_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [370, 371, 372, 373, 375, 376, 377], "excluded_lines": []}, "EncryptionManager.load_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 4}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439], "excluded_lines": [430, 431, 432, 433]}, "EncryptionManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [442, 443, 444, 445, 446, 447, 448], "excluded_lines": []}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 7}, "missing_lines": [470, 471, 473, 474, 475, 477, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533], "excluded_lines": [534, 535, 536, 540, 546, 547, 548]}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [478, 479, 481, 482, 483, 484, 485, 486, 487], "excluded_lines": []}, "EncryptionManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591], "excluded_lines": []}, "EncryptionManager.validate_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [599, 600, 601, 602, 603, 604, 605, 606, 607], "excluded_lines": []}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": []}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 280, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 280, "excluded_lines": 19}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548]}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 4}, "missing_lines": [42, 43, 44], "excluded_lines": [11, 12, 13, 15]}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 883, "percent_covered": 8.267270668176671, "percent_covered_display": "8", "missing_lines": 810, "excluded_lines": 3}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76], "excluded_lines": []}, "EntryManager.clear_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "EntryManager._now_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [84], "excluded_lines": []}, "EntryManager._iso_from_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [88], "excluded_lines": []}, "EntryManager._now_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "EntryManager._normalize_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118], "excluded_lines": []}, "EntryManager._normalize_entry_defaults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157], "excluded_lines": []}, "EntryManager._load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185], "excluded_lines": []}, "EntryManager._save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [188, 189, 190, 191, 192, 193, 194], "excluded_lines": []}, "EntryManager.get_next_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214], "excluded_lines": []}, "EntryManager.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309], "excluded_lines": []}, "EntryManager.get_next_totp_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [313, 314, 315, 323], "excluded_lines": []}, "EntryManager.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402], "excluded_lines": []}, "EntryManager.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450], "excluded_lines": []}, "EntryManager.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [455, 456, 457, 458, 459, 461, 463, 464], "excluded_lines": []}, "EntryManager.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515], "excluded_lines": []}, "EntryManager.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536], "excluded_lines": []}, "EntryManager.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585], "excluded_lines": []}, "EntryManager.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [600, 601, 602, 604, 605, 606, 622, 623, 624, 625], "excluded_lines": []}, "EntryManager.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [639, 640, 641, 643, 644, 645, 660, 661, 662, 663], "excluded_lines": []}, "EntryManager.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [676, 677, 678, 679, 680, 681, 682], "excluded_lines": []}, "EntryManager.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730], "excluded_lines": []}, "EntryManager.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755], "excluded_lines": []}, "EntryManager.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803], "excluded_lines": []}, "EntryManager.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825], "excluded_lines": []}, "EntryManager.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885], "excluded_lines": []}, "EntryManager.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908], "excluded_lines": []}, "EntryManager.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928], "excluded_lines": []}, "EntryManager.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949], "excluded_lines": []}, "EntryManager.get_totp_time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [953, 954, 955, 956, 959, 961, 962], "excluded_lines": []}, "EntryManager.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995], "excluded_lines": []}, "EntryManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1003, 1004, 1005, 1006, 1007, 1010], "excluded_lines": []}, "EntryManager.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049], "excluded_lines": []}, "EntryManager.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352], "excluded_lines": []}, "EntryManager.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392], "excluded_lines": []}, "EntryManager.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430], "excluded_lines": []}, "EntryManager.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458], "excluded_lines": []}, "EntryManager.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1462], "excluded_lines": []}, "EntryManager.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1466], "excluded_lines": []}, "EntryManager.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618], "excluded_lines": []}, "EntryManager.list_entries.sort_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510], "excluded_lines": []}, "EntryManager.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700], "excluded_lines": []}, "EntryManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770], "excluded_lines": []}, "EntryManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793], "excluded_lines": []}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831], "excluded_lines": []}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868], "excluded_lines": []}, "EntryManager.get_entry_summaries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}, "classes": {"EntryManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 810, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 810, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 114, "percent_covered": 9.649122807017545, "percent_covered_display": "10", "missing_lines": 103, "excluded_lines": 8}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "EntryService.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 4}, "missing_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [239, 240, 241, 242]}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "excluded_lines": []}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 2}, "missing_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "excluded_lines": [95, 96]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}, "classes": {"EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 6}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [95, 96, 239, 240, 241, 242]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/errors.py": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SeedPassError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/high_risk_partition_store.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "functions": {"_partition_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "_fernet_for_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 21, 22], "excluded_lines": []}, "load_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "save_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 59, 60, 61, 62], "excluded_lines": []}, "load_partition_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [68, 69], "excluded_lines": []}, "migrate_high_risk_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}}}, "src/seedpass/core/manager.py": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 2761, "percent_covered": 8.909815284317276, "percent_covered_display": "9", "missing_lines": 2515, "excluded_lines": 11}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157, 162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206, 217, 218, 222, 223, 224, 225, 226, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857], "functions": {"AuditLogger.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "AuditLogger.log": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "calculate_profile_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188], "excluded_lines": []}, "requires_unlocked": {"executed_lines": [202, 203, 208], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "requires_unlocked.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [204, 205, 206], "excluded_lines": []}, "AuthGuard.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [217, 218], "excluded_lines": []}, "AuthGuard.check_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327], "excluded_lines": []}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [337, 338, 339], "excluded_lines": []}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [347], "excluded_lines": []}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [352, 353, 354, 355, 356, 357], "excluded_lines": []}, "PasswordManager._get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [360, 361, 362, 363, 364], "excluded_lines": []}, "PasswordManager._get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [367, 368, 369, 370, 371, 372, 373, 378, 379], "excluded_lines": []}, "PasswordManager._get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "PasswordManager._derive_seed_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [398, 399, 400, 401, 409, 411, 412, 413, 416], "excluded_lines": []}, "PasswordManager._build_seed_kdf_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [427, 428, 429, 430, 431, 440, 443], "excluded_lines": []}, "PasswordManager._encrypt_parent_seed_compat": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [459, 460, 464, 465, 469], "excluded_lines": []}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [473, 479, 480, 481, 482, 483], "excluded_lines": []}, "PasswordManager.ensure_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [487, 488, 489, 490, 491, 492, 493, 494], "excluded_lines": []}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [505], "excluded_lines": []}, "PasswordManager.parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [516, 517, 518, 519, 521], "excluded_lines": []}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [526, 527, 528, 529, 530, 533, 534, 535, 536], "excluded_lines": []}, "PasswordManager.header_fingerprint_args": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [541, 542, 543, 544, 545, 546], "excluded_lines": []}, "PasswordManager.update_activity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [550, 551, 552, 553, 554, 555], "excluded_lines": []}, "PasswordManager.notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [559, 560, 561, 562, 563, 564], "excluded_lines": []}, "PasswordManager.get_current_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [568, 569, 570, 571, 572, 574, 578, 579], "excluded_lines": []}, "PasswordManager.poll_background_errors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [583, 584, 585, 586, 587, 588, 589, 590, 591], "excluded_lines": []}, "PasswordManager.menu_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [595, 596, 597], "excluded_lines": []}, "PasswordManager.profile_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [601, 602, 603], "excluded_lines": []}, "PasswordManager.entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [607, 608, 609, 610, 611], "excluded_lines": []}, "PasswordManager.display_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [615, 616, 617, 618, 619], "excluded_lines": []}, "PasswordManager.lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [623, 624, 625, 626, 627], "excluded_lines": []}, "PasswordManager.unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673], "excluded_lines": []}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [679, 680, 681, 682, 683, 684, 687], "excluded_lines": []}, "PasswordManager.setup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [693, 694, 696, 699], "excluded_lines": []}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771], "excluded_lines": []}, "PasswordManager.add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848], "excluded_lines": []}, "PasswordManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887], "excluded_lines": []}, "PasswordManager.recover_profile_with_blank_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 64, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 64, "excluded_lines": 0}, "missing_lines": [891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006], "excluded_lines": []}, "PasswordManager.setup_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104], "excluded_lines": []}, "PasswordManager.load_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144], "excluded_lines": []}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1149], "excluded_lines": []}, "PasswordManager.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180], "excluded_lines": []}, "PasswordManager.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205], "excluded_lines": []}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282], "excluded_lines": []}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327], "excluded_lines": []}, "PasswordManager.setup_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366], "excluded_lines": []}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1372], "excluded_lines": []}, "PasswordManager._finalize_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455], "excluded_lines": []}, "PasswordManager.generate_new_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537], "excluded_lines": []}, "PasswordManager.validate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557], "excluded_lines": []}, "PasswordManager.generate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578], "excluded_lines": []}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "PasswordManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1674, 1675, 1676, 1677], "excluded_lines": []}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1663, 1664, 1665, 1668], "excluded_lines": []}, "PasswordManager.initialize_managers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705], "excluded_lines": []}, "PasswordManager._initialize_config_and_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1709, 1713, 1714], "excluded_lines": []}, "PasswordManager._initialize_entry_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744], "excluded_lines": []}, "PasswordManager._initialize_password_generator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1748, 1749], "excluded_lines": []}, "PasswordManager._initialize_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799], "excluded_lines": []}, "PasswordManager._handle_migration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1956], "excluded_lines": []}, "PasswordManager.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1960, 1961, 1962, 1963, 1964, 1967, 1969, 1978, 1979, 1980, 1981, 1984, 1985, 1987], "excluded_lines": []}, "PasswordManager.start_background_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1970, 1971, 1972, 1973, 1974, 1975, 1976], "excluded_lines": []}, "PasswordManager.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1991, 1992, 1993, 1994, 1995], "excluded_lines": []}, "PasswordManager.start_background_relay_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1999, 2004, 2006, 2023, 2024], "excluded_lines": []}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021], "excluded_lines": []}, "PasswordManager.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2028, 2029, 2031, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052], "excluded_lines": []}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039], "excluded_lines": []}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 2}, "missing_lines": [2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115], "excluded_lines": [2108, 2109]}, "PasswordManager.attempt_initial_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2118], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2126], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [2129, 2130, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [2136, 2137]}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163], "excluded_lines": []}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192], "excluded_lines": []}, "PasswordManager._clear_header_add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2195, 2196], "excluded_lines": []}, "PasswordManager._mark_dirty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2206, 2207], "excluded_lines": []}, "PasswordManager._sync_and_pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 2}, "missing_lines": [2211, 2212, 2218, 2219], "excluded_lines": [2213, 2214]}, "PasswordManager._entry_op_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2224, 2225, 2226, 2227, 2228, 2229], "excluded_lines": []}, "PasswordManager._terminal_document_editor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [2246, 2247, 2248, 2250, 2253, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2251], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2254, 2255, 2256, 2257, 2258], "excluded_lines": []}, "PasswordManager.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2308], "excluded_lines": []}, "PasswordManager.handle_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423], "excluded_lines": []}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462], "excluded_lines": []}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513], "excluded_lines": []}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562], "excluded_lines": []}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604], "excluded_lines": []}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667], "excluded_lines": []}, "PasswordManager.handle_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730], "excluded_lines": []}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775], "excluded_lines": []}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802], "excluded_lines": []}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819], "excluded_lines": []}, "PasswordManager._entry_type_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2823, 2824, 2825, 2826], "excluded_lines": []}, "PasswordManager._generate_password_for_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849], "excluded_lines": []}, "PasswordManager._entry_actions_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [2855, 2857, 2863, 2875, 2885, 2900, 2921, 2925, 2930, 2944, 2973], "excluded_lines": []}, "PasswordManager._entry_actions_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2859, 2860, 2861], "excluded_lines": []}, "PasswordManager._entry_actions_menu.toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2864, 2867, 2868, 2870, 2871, 2872, 2873], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_note": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_custom_field": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2922, 2923], "excluded_lines": []}, "PasswordManager._entry_actions_menu.show_qr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2926, 2927, 2928], "excluded_lines": []}, "PasswordManager._entry_actions_menu.export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942], "excluded_lines": []}, "PasswordManager._entry_actions_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971], "excluded_lines": []}, "PasswordManager._entry_edit_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [2979, 2981, 2987, 2995, 3003, 3011, 3024, 3035, 3042, 3049, 3059, 3069, 3089], "excluded_lines": []}, "PasswordManager._entry_edit_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2983, 2984, 2985], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2988, 2989, 2990, 2991, 2992, 2993], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2996, 2997, 2998, 2999, 3000, 3001], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3004, 3005, 3006, 3007, 3008, 3009], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_file_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3025, 3026, 3030, 3031, 3032, 3033], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_username": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3036, 3037, 3038, 3039, 3040], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3043, 3044, 3045, 3046, 3047], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_period": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3050, 3051, 3052, 3053, 3054, 3055, 3057], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3060, 3061, 3062, 3063, 3064, 3065, 3067], "excluded_lines": []}, "PasswordManager._entry_edit_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087], "excluded_lines": []}, "PasswordManager._entry_qr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3125, 3134, 3143, 3149, 3154, 3156], "excluded_lines": [3157, 3158, 3159]}, "PasswordManager._entry_qr_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3121, 3122, 3123], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_public_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3126, 3129, 3130, 3131, 3132], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3135, 3138, 3139, 3140, 3141], "excluded_lines": []}, "PasswordManager._entry_qr_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3144], "excluded_lines": []}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3172], "excluded_lines": []}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207], "excluded_lines": []}, "PasswordManager.handle_modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 194, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 194, "excluded_lines": 0}, "missing_lines": [3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720], "excluded_lines": []}, "PasswordManager.handle_search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778], "excluded_lines": []}, "PasswordManager.display_entry_details": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 2}, "missing_lines": [3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964], "excluded_lines": [3856, 3857]}, "PasswordManager.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3968], "excluded_lines": []}, "PasswordManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005], "excluded_lines": []}, "PasswordManager.handle_archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [4029, 4031, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [4034, 4037], "excluded_lines": []}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4106], "excluded_lines": []}, "PasswordManager.handle_verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146], "excluded_lines": []}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175], "excluded_lines": []}, "PasswordManager.get_encrypted_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195], "excluded_lines": []}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4203, 4204, 4205, 4206, 4207, 4210, 4216], "excluded_lines": []}, "PasswordManager.sync_vault_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284], "excluded_lines": []}, "PasswordManager.sync_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4289], "excluded_lines": []}, "PasswordManager.backup_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4295, 4296, 4297, 4298, 4299, 4300], "excluded_lines": []}, "PasswordManager.restore_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4306, 4307, 4308, 4313, 4314, 4315], "excluded_lines": []}, "PasswordManager.handle_export_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382], "excluded_lines": []}, "PasswordManager.handle_import_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464], "excluded_lines": []}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535], "excluded_lines": []}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632], "excluded_lines": []}, "PasswordManager.verify_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677], "excluded_lines": []}, "PasswordManager.is_valid_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [4690, 4691, 4692, 4693, 4694], "excluded_lines": []}, "PasswordManager.store_hashed_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735], "excluded_lines": []}, "PasswordManager.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809], "excluded_lines": []}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881], "excluded_lines": []}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": []}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 243, "num_statements": 243, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuditLogger": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [217, 218, 222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2471, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2471, "excluded_lines": 11}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857]}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 260, "percent_covered": 94.61538461538461, "percent_covered_display": "95", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206], "excluded_lines": []}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 145, "percent_covered": 13.10344827586207, "percent_covered_display": "13", "missing_lines": 126, "excluded_lines": 8}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [16, 17, 98, 99, 100, 253, 254, 255], "functions": {"MenuHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "MenuHandler.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 3}, "missing_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97], "excluded_lines": [98, 99, 100]}, "MenuHandler.run_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143], "excluded_lines": []}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 3}, "missing_lines": [148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}, "classes": {"MenuHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 126, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 126, "excluded_lines": 6}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [98, 99, 100, 253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}}, "src/seedpass/core/migrations.py": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v0_to_v1": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 26], "excluded_lines": []}, "_v1_to_v2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "_v2_to_v3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "excluded_lines": []}, "_v3_to_v4": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "apply_migrations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 292, "percent_covered": 17.80821917808219, "percent_covered_display": "18", "missing_lines": 240, "excluded_lines": 7}, "missing_lines": [82, 83, 84, 87, 88, 89, 93, 120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488, 493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 568, 569, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571, 572, 573, 574, 575, 576, 577], "functions": {"DeterministicStream.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [82, 83, 84], "excluded_lines": []}, "DeterministicStream.get_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [87, 88, 89], "excluded_lines": []}, "DeterministicStream.current_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [93], "excluded_lines": []}, "PasswordGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137], "excluded_lines": []}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [141, 142, 144, 151, 152, 154, 155, 156], "excluded_lines": []}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [160, 161, 162], "excluded_lines": []}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 177, 178, 179, 180], "excluded_lines": []}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188, 189], "excluded_lines": []}, "PasswordGenerator.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283], "excluded_lines": []}, "PasswordGenerator._count_char_types": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [294, 295, 296, 297, 298], "excluded_lines": []}, "PasswordGenerator._enforce_minimum_counts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343], "excluded_lines": []}, "PasswordGenerator._add_additional_symbols": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365], "excluded_lines": []}, "PasswordGenerator._balance_distribution": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408], "excluded_lines": []}, "PasswordGenerator._enforce_complexity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [493], "excluded_lines": []}, "derive_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [499, 500, 501, 503, 504, 510, 511, 516], "excluded_lines": []}, "derive_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [521], "excluded_lines": []}, "derive_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 1}, "missing_lines": [535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [568, 569], "excluded_lines": []}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 87, 88, 89, 93], "excluded_lines": []}, "PasswordGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 177, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 177, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_pgp_key.DRNG": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 6}, "missing_lines": [568, 569], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 106, "percent_covered": 49.056603773584904, "percent_covered_display": "49", "missing_lines": 54, "excluded_lines": 1}, "missing_lines": [493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "export_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121], "excluded_lines": []}, "import_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.647058823529413, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 7}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 4}, "missing_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}, "classes": {"ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 4}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 6, 8, 9, 11, 15, 20, 27], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "PubSub.unsubscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [17, 18], "excluded_lines": []}, "PubSub.publish": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PubSub": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 6, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 65, "percent_covered": 27.692307692307693, "percent_covered_display": "28", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [18, 19], "excluded_lines": []}, "StateManager._load": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "StateManager._save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 61], "excluded_lines": []}, "StateManager.state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [65], "excluded_lines": []}, "StateManager.update_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [68, 69, 70], "excluded_lines": []}, "StateManager.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "StateManager.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 80, 81, 82, 83], "excluded_lines": []}, "StateManager.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StateManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "StatsManager.display_stats_once": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [14, 15, 16], "excluded_lines": []}, "StatsManager.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StatsManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/sync_conflict.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": [], "functions": {"_canonical": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": []}, "_entry_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [23, 24, 25, 26], "excluded_lines": []}, "_is_empty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [30, 31, 32, 33, 34], "excluded_lines": []}, "_entry_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_is_deleted_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "_entry_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [46, 47], "excluded_lines": []}, "_tombstone_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 60], "excluded_lines": []}, "_prefer_tombstone": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70], "excluded_lines": []}, "_normalize_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91], "excluded_lines": []}, "_merge_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100, 101, 102], "excluded_lines": []}, "_max_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [106, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "_max_tombstone_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "_prefer_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 135, 136], "excluded_lines": []}, "_union_fields_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [140, 141, 152], "excluded_lines": []}, "_merge_list_union": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [156, 157, 158, 159, 160, 161, 162], "excluded_lines": []}, "_merge_equal_ts_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186], "excluded_lines": []}, "merge_index_payloads": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}}}, "src/seedpass/core/totp.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 70, 71, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 31, "num_statements": 71, "percent_covered": 43.66197183098591, "percent_covered_display": "44", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [22, 31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "TotpManager.derive_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "TotpManager.current_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42], "excluded_lines": []}, "TotpManager.current_code_from_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "TotpManager.parse_otpauth": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "excluded_lines": []}, "TotpManager.make_otpauth_uri": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 77, 78], "excluded_lines": []}, "TotpManager.print_progress_bar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "TotpManager.print_qr_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TotpManager": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 41, "percent_covered": 4.878048780487805, "percent_covered_display": "5", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 30, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/seedpass/core/vault.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 140, "percent_covered": 15.0, "percent_covered_display": "15", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36], "excluded_lines": []}, "Vault.set_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "Vault._hkdf_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Vault.load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237], "excluded_lines": []}, "Vault.save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [241], "excluded_lines": []}, "Vault.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [247], "excluded_lines": []}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [264, 267, 270, 271, 272], "excluded_lines": []}, "Vault.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [277], "excluded_lines": []}, "Vault.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/errors.py": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultLockedError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/release_integrity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": [], "functions": {"_file_sha256": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15], "excluded_lines": []}, "collect_artifacts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "excluded_lines": []}, "generate_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 52, 53], "excluded_lines": []}, "parse_checksum_line": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "verify_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 18, 38, 56, 73], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}}}, "src/seedpass/tui_v2/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/tui_v2/app.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 120, 121, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455, 457, 458, 459, 460, 461, 466, 467, 468, 470, 471, 472, 474, 475, 476, 478, 479, 480, 482, 483, 484, 485, 486, 487, 489, 490, 492, 493, 494, 495, 496, 497, 498, 516, 518, 519, 520, 521, 522, 524, 526, 527, 528, 532, 540, 541, 542, 543, 545, 546, 547, 549, 550, 551, 562, 563, 564, 566, 567, 568, 569, 571, 572, 573, 574, 575, 576, 578, 579, 583, 584, 589, 590, 592, 593, 598, 644, 646, 649, 650, 652, 653, 656, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699, 701, 702, 705, 710, 711, 712, 714, 715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766, 768, 769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791, 809, 810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884, 886, 887, 889, 892, 894, 895, 897, 907, 908, 909, 920, 921, 923, 924, 926, 927, 931, 932, 934, 935, 937, 938, 942, 943, 945, 946, 948, 949, 953, 956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071, 1085, 1088, 1089, 1090, 1092, 1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250, 1252, 1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306, 1308, 1309, 1312, 1313, 1314, 1315, 1318, 1319, 1320, 1321, 1322, 1325, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1336, 1337, 1339, 1341, 1344, 1346, 1348, 1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176, 3178, 3185, 3186, 3188, 3189, 3190, 3192, 3193, 3194, 3195, 3197, 3198, 3199, 3200, 3201, 3203, 3204, 3205, 3206, 3208, 3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3234, 3235, 3236, 3237, 3238, 3240, 3241, 3242, 3244, 3262, 3263, 3266, 3267, 3268, 3269, 3270, 3272, 3273, 3276, 3277, 3278, 3279, 3280, 3281, 3283, 3284, 3287, 3290, 3291, 3292, 3294, 3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317, 3319, 3320, 3323, 3326, 3327, 3331, 3332, 3335, 3338, 3339, 3343, 3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370, 3372, 3373, 3375, 3376, 3378, 3379, 3382, 3383, 3384, 3385, 3386, 3389, 3391, 3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423, 3430, 3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466, 3468, 3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3519, 3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537, 3539, 3540, 3546, 3548, 3549, 3551, 3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3575, 3576, 3579, 3580, 3581, 3582, 3583, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 1797, "num_statements": 2250, "percent_covered": 79.86666666666666, "percent_covered_display": "80", "missing_lines": 453, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 348, 406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447, 473, 554, 555, 561, 770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802, 811, 814, 815, 816, 888, 896, 922, 925, 928, 929, 933, 936, 939, 940, 944, 947, 950, 951, 957, 959, 965, 1050, 1053, 1070, 1079, 1099, 1100, 1110, 1148, 1149, 1155, 1229, 1230, 1238, 1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289, 1310, 1316, 1323, 1324, 1326, 1338, 1340, 1345, 1358, 1359, 1368, 1369, 1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174, 3179, 3180, 3181, 3182, 3183, 3187, 3213, 3226, 3227, 3239, 3245, 3257, 3258, 3259, 3260, 3264, 3265, 3274, 3275, 3285, 3286, 3288, 3289, 3296, 3297, 3321, 3322, 3333, 3334, 3345, 3346, 3380, 3381, 3387, 3393, 3394, 3404, 3405, 3412, 3432, 3433, 3438, 3439, 3465, 3470, 3471, 3473, 3474, 3525, 3526, 3527, 3528, 3530, 3531, 3532, 3554, 3555, 3577, 3578, 3586, 3587, 3588, 3589, 3590, 3596, 3597], "excluded_lines": [115, 116], "functions": {"check_tui2_runtime": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "parse_palette_command": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35, 37], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "pagination_window": {"executed_lines": [47, 48, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "truncate_entry_for_display": {"executed_lines": [61, 62, 63, 65, 66, 67, 70, 71], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [64], "excluded_lines": []}, "render_qr_ascii": {"executed_lines": [76, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2": {"executed_lines": [104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 359, 457, 470, 478, 489, 492, 518, 526, 532, 545, 549, 566, 571, 578, 592, 646, 652, 658, 701, 714, 768, 809, 886, 894, 907, 908, 920, 931, 942, 953, 1085, 1092, 1176, 1189, 1200, 1219, 1220, 1227, 1252, 1308, 1312, 1318, 1328, 1336, 1348, 1376, 1377, 1385, 3178, 3185, 3192, 3197, 3203, 3208, 3219, 3234, 3244, 3262, 3272, 3283, 3294, 3319, 3331, 3343, 3357, 3372, 3375, 3378, 3391, 3430, 3468, 3519, 3539, 3548, 3551, 3575, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 104, "num_statements": 107, "percent_covered": 97.19626168224299, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [106, 3596, 3597], "excluded_lines": [115, 116]}, "launch_tui2.EntryListItem.__init__": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.compose": {"executed_lines": [281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [348], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_mount": {"executed_lines": [360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455], "summary": {"covered_lines": 49, "num_statements": 67, "percent_covered": 73.13432835820896, "percent_covered_display": "73", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_status": {"executed_lines": [458, 459, 460, 461, 466, 467, 468], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._log_activity": {"executed_lines": [471, 472, 474, 475, 476], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [473], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_activity_panel": {"executed_lines": [479, 480, 482, 483, 484, 485, 486, 487], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_secret_panel": {"executed_lines": [490], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_help_overlay": {"executed_lines": [493, 494, 495, 496, 497, 498, 516], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_focus_style": {"executed_lines": [519, 520, 521, 522, 524], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_doc_edit_help": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._record_failure": {"executed_lines": [540, 541, 542, 543], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clear_failure": {"executed_lines": [546, 547], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._retry_initialize_service": {"executed_lines": [550, 551, 562, 563, 564], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [554, 555, 561], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_filter_kinds": {"executed_lines": [567, 568, 569], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_archive_scope_flags": {"executed_lines": [572, 573, 574, 575, 576], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_summary": {"executed_lines": [579, 583, 584, 589, 590], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_filters_panel": {"executed_lines": [593, 598, 644], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_entry_label": {"executed_lines": [649, 650], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._total_pages": {"executed_lines": [653, 656], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_current_page": {"executed_lines": [659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_detail_text": {"executed_lines": [702, 705, 710, 711, 712], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_entries": {"executed_lines": [715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_entry": {"executed_lines": [769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791], "summary": {"covered_lines": 12, "num_statements": 26, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_links_panel": {"executed_lines": [810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884], "summary": {"covered_lines": 32, "num_statements": 36, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [811, 814, 815, 816], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_selected_document": {"executed_lines": [887, 889, 892], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [888], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_kind": {"executed_lines": [895, 897], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [896], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._kind_icon": {"executed_lines": [909], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_secret_mode_enabled": {"executed_lines": [921, 923, 924, 926, 927], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [922, 925, 928, 929], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clipboard_clear_delay": {"executed_lines": [932, 934, 935, 937, 938], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [933, 936, 939, 940], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._copy_to_clipboard": {"executed_lines": [943, 945, 946, 948, 949], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [944, 947, 950, 951], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._resolve_selected_sensitive_payload": {"executed_lines": [956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071], "summary": {"covered_lines": 38, "num_statements": 45, "percent_covered": 84.44444444444444, "percent_covered_display": "84", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [957, 959, 965, 1050, 1053, 1070, 1079], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._requires_confirm": {"executed_lines": [1088, 1089, 1090], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_sensitive_panel": {"executed_lines": [1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174], "summary": {"covered_lines": 30, "num_statements": 36, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1099, 1100, 1110, 1148, 1149, 1155], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_visible": {"executed_lines": [1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_palette_visible": {"executed_lines": [1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_totp_board_visible": {"executed_lines": [1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._totp_source": {"executed_lines": [1221, 1222, 1223, 1224, 1225], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_totp_rows": {"executed_lines": [1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1229, 1230, 1238], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_totp_board": {"executed_lines": [1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306], "summary": {"covered_lines": 18, "num_statements": 26, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._tick_totp_board": {"executed_lines": [1309], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1310], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._get_document_editor_text": {"executed_lines": [1313, 1314, 1315], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1316], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_text": {"executed_lines": [1319, 1320, 1321, 1322, 1325], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1323, 1324, 1326], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._mark_doc_dirty": {"executed_lines": [1329, 1330, 1331, 1332, 1333, 1334], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_entry_payload": {"executed_lines": [1337, 1339, 1341, 1344, 1346], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1338, 1340, 1345], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_selected_modify": {"executed_lines": [1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1358, 1359, 1368, 1369], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._parse_toggle_token": {"executed_lines": [1378, 1379, 1380, 1381, 1382, 1383], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._run_palette_command": {"executed_lines": [1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176], "summary": {"covered_lines": 988, "num_statements": 1281, "percent_covered": 77.1272443403591, "percent_covered_display": "77", "missing_lines": 293, "excluded_lines": 0}, "missing_lines": [1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3179, 3180, 3181, 3182, 3183], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_help": {"executed_lines": [3186, 3188, 3189, 3190], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3187], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_left": {"executed_lines": [3193, 3194, 3195], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_center": {"executed_lines": [3198, 3199, 3200, 3201], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_right": {"executed_lines": [3204, 3205, 3206], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_jump": {"executed_lines": [3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3213], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_retry_last_error": {"executed_lines": [3220, 3221, 3222, 3223, 3224, 3225], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3226, 3227], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_search": {"executed_lines": [3235, 3236, 3237, 3238, 3240, 3241, 3242], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3239], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3245, 3257, 3258, 3259, 3260], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_archive_scope": {"executed_lines": [3263, 3266, 3267, 3268, 3269, 3270], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3264, 3265], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_page": {"executed_lines": [3273, 3276, 3277, 3278, 3279, 3280, 3281], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3274, 3275], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_page": {"executed_lines": [3284, 3287, 3290, 3291, 3292], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3285, 3286, 3288, 3289], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_link_filter": {"executed_lines": [3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3296, 3297], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_link": {"executed_lines": [3320, 3323, 3326, 3327], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3321, 3322], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_link": {"executed_lines": [3332, 3335, 3338, 3339], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3333, 3334], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_link_target": {"executed_lines": [3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3345, 3346], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_palette": {"executed_lines": [3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_reveal_selected": {"executed_lines": [3373], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_show_qr": {"executed_lines": [3376], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_totp_board": {"executed_lines": [3379, 3382, 3383, 3384, 3385, 3386, 3389], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3380, 3381, 3387], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_archive": {"executed_lines": [3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3393, 3394, 3404, 3405, 3412], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_edit_document": {"executed_lines": [3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3432, 3433, 3438, 3439, 3465], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_save_document": {"executed_lines": [3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512], "summary": {"covered_lines": 25, "num_statements": 29, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3470, 3471, 3473, 3474], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cancel_document_edit": {"executed_lines": [3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537], "summary": {"covered_lines": 11, "num_statements": 18, "percent_covered": 61.111111111111114, "percent_covered_display": "61", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3525, 3526, 3527, 3528, 3530, 3531, 3532], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_changed": {"executed_lines": [3540, 3546], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_text_area_changed": {"executed_lines": [3549], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_submitted": {"executed_lines": [3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3554, 3555], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_selected": {"executed_lines": [3576, 3579, 3580, 3581, 3582, 3583], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3577, 3578], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_highlighted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3586, 3587, 3588, 3589, 3590], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 40, 57, 74, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"launch_tui2.EntryListItem": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2": {"executed_lines": [281, 282, 319, 320, 321, 322, 323, 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 342, 345, 346, 352, 356, 357, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 389, 390, 391, 397, 400, 401, 409, 410, 418, 419, 425, 426, 432, 433, 441, 442, 448, 449, 450, 451, 452, 455, 458, 459, 460, 461, 466, 467, 468, 471, 472, 474, 475, 476, 479, 480, 482, 483, 484, 485, 486, 487, 490, 493, 494, 495, 496, 497, 498, 516, 519, 520, 521, 522, 524, 527, 528, 540, 541, 542, 543, 546, 547, 550, 551, 562, 563, 564, 567, 568, 569, 572, 573, 574, 575, 576, 579, 583, 584, 589, 590, 593, 598, 644, 649, 650, 653, 656, 659, 660, 661, 662, 663, 664, 665, 666, 667, 670, 673, 674, 675, 676, 677, 679, 682, 683, 684, 685, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699, 702, 705, 710, 711, 712, 715, 716, 717, 720, 721, 724, 725, 726, 727, 728, 729, 731, 732, 733, 739, 740, 743, 744, 747, 748, 749, 750, 751, 752, 760, 762, 763, 764, 765, 766, 769, 771, 772, 773, 782, 783, 784, 785, 786, 789, 790, 791, 810, 817, 818, 819, 820, 823, 824, 825, 831, 833, 834, 836, 843, 844, 845, 847, 848, 852, 853, 854, 860, 862, 874, 875, 876, 877, 878, 879, 880, 882, 883, 884, 887, 889, 892, 895, 897, 909, 921, 923, 924, 926, 927, 932, 934, 935, 937, 938, 943, 945, 946, 948, 949, 956, 958, 961, 964, 967, 971, 972, 974, 975, 976, 979, 987, 988, 989, 991, 992, 1000, 1001, 1002, 1004, 1005, 1013, 1014, 1015, 1016, 1017, 1018, 1020, 1023, 1037, 1038, 1041, 1049, 1065, 1066, 1067, 1068, 1071, 1088, 1089, 1090, 1095, 1096, 1112, 1118, 1119, 1124, 1128, 1133, 1136, 1138, 1139, 1140, 1143, 1144, 1145, 1146, 1147, 1156, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1172, 1173, 1174, 1177, 1178, 1179, 1180, 1181, 1183, 1184, 1185, 1186, 1187, 1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1221, 1222, 1223, 1224, 1225, 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1250, 1253, 1255, 1260, 1261, 1262, 1272, 1273, 1274, 1280, 1285, 1286, 1287, 1288, 1290, 1295, 1298, 1305, 1306, 1309, 1313, 1314, 1315, 1319, 1320, 1321, 1322, 1325, 1329, 1330, 1331, 1332, 1333, 1334, 1337, 1339, 1341, 1344, 1346, 1357, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1378, 1379, 1380, 1381, 1382, 1383, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1479, 1480, 1483, 1484, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1502, 1503, 1504, 1505, 1513, 1515, 1516, 1519, 1520, 1523, 1524, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1554, 1555, 1556, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567, 1568, 1571, 1579, 1581, 1582, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1607, 1609, 1610, 1613, 1614, 1617, 1618, 1619, 1620, 1621, 1624, 1625, 1630, 1631, 1632, 1633, 1641, 1643, 1644, 1647, 1648, 1649, 1650, 1651, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1674, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1709, 1710, 1711, 1712, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1780, 1781, 1786, 1787, 1788, 1789, 1797, 1799, 1800, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1846, 1848, 1849, 1850, 1851, 1860, 1861, 1862, 1863, 1864, 1865, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1897, 1898, 1902, 1903, 1908, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1929, 1931, 1932, 1933, 1934, 1935, 1941, 1943, 1944, 1945, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1964, 1969, 1972, 1978, 1980, 1981, 1982, 1983, 1984, 1985, 1988, 1989, 1993, 1994, 1999, 2000, 2005, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2023, 2026, 2032, 2033, 2034, 2038, 2039, 2050, 2051, 2052, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2071, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2086, 2087, 2088, 2092, 2093, 2104, 2105, 2106, 2109, 2110, 2116, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2142, 2143, 2144, 2145, 2146, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2164, 2167, 2168, 2169, 2170, 2173, 2174, 2176, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2192, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2210, 2211, 2212, 2215, 2216, 2217, 2219, 2222, 2223, 2224, 2232, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2269, 2271, 2274, 2275, 2283, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2300, 2301, 2302, 2303, 2311, 2313, 2314, 2315, 2316, 2317, 2320, 2321, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2336, 2337, 2338, 2339, 2340, 2341, 2350, 2352, 2353, 2354, 2355, 2356, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2368, 2369, 2370, 2371, 2379, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2393, 2394, 2397, 2398, 2399, 2400, 2408, 2410, 2411, 2412, 2413, 2414, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2426, 2427, 2428, 2429, 2437, 2439, 2440, 2441, 2442, 2443, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2455, 2456, 2457, 2458, 2466, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2479, 2480, 2483, 2484, 2485, 2486, 2494, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2519, 2521, 2522, 2523, 2524, 2525, 2528, 2529, 2532, 2533, 2534, 2535, 2543, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2556, 2557, 2558, 2561, 2562, 2563, 2569, 2570, 2571, 2579, 2581, 2582, 2583, 2584, 2585, 2588, 2589, 2593, 2594, 2595, 2596, 2604, 2606, 2607, 2608, 2609, 2610, 2613, 2614, 2617, 2618, 2619, 2620, 2628, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2641, 2642, 2643, 2644, 2654, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2669, 2670, 2671, 2672, 2682, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2697, 2698, 2706, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2717, 2718, 2726, 2728, 2729, 2730, 2731, 2732, 2735, 2736, 2739, 2740, 2741, 2742, 2750, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2763, 2764, 2765, 2766, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2809, 2810, 2811, 2812, 2813, 2821, 2823, 2824, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2857, 2858, 2859, 2860, 2861, 2863, 2866, 2867, 2868, 2878, 2880, 2881, 2884, 2885, 2886, 2887, 2888, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2901, 2902, 2910, 2912, 2913, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2928, 2929, 2930, 2933, 2934, 2935, 2944, 2946, 2947, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2965, 2967, 2968, 2973, 2974, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2996, 2998, 2999, 3002, 3003, 3004, 3005, 3006, 3011, 3012, 3013, 3014, 3015, 3023, 3025, 3029, 3033, 3036, 3037, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3056, 3057, 3059, 3060, 3063, 3064, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3082, 3083, 3084, 3087, 3088, 3094, 3096, 3097, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3115, 3116, 3117, 3120, 3121, 3127, 3129, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3155, 3156, 3157, 3158, 3159, 3166, 3169, 3172, 3176, 3186, 3188, 3189, 3190, 3193, 3194, 3195, 3198, 3199, 3200, 3201, 3204, 3205, 3206, 3209, 3210, 3211, 3212, 3214, 3215, 3216, 3217, 3220, 3221, 3222, 3223, 3224, 3225, 3235, 3236, 3237, 3238, 3240, 3241, 3242, 3263, 3266, 3267, 3268, 3269, 3270, 3273, 3276, 3277, 3278, 3279, 3280, 3281, 3284, 3287, 3290, 3291, 3292, 3295, 3298, 3299, 3300, 3301, 3309, 3314, 3315, 3316, 3317, 3320, 3323, 3326, 3327, 3332, 3335, 3338, 3339, 3344, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3370, 3373, 3376, 3379, 3382, 3383, 3384, 3385, 3386, 3389, 3392, 3395, 3396, 3397, 3399, 3400, 3403, 3407, 3408, 3409, 3410, 3411, 3414, 3415, 3416, 3419, 3420, 3421, 3422, 3423, 3431, 3434, 3435, 3436, 3437, 3441, 3442, 3443, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 3459, 3460, 3461, 3462, 3463, 3466, 3469, 3472, 3476, 3477, 3480, 3481, 3482, 3483, 3489, 3490, 3491, 3492, 3493, 3495, 3496, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3520, 3521, 3522, 3523, 3524, 3529, 3533, 3534, 3535, 3536, 3537, 3540, 3546, 3549, 3552, 3553, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3576, 3579, 3580, 3581, 3582, 3583], "summary": {"covered_lines": 1642, "num_statements": 2090, "percent_covered": 78.56459330143541, "percent_covered_display": "79", "missing_lines": 448, "excluded_lines": 0}, "missing_lines": [348, 406, 407, 408, 415, 416, 417, 422, 423, 424, 429, 430, 431, 438, 439, 440, 445, 446, 447, 473, 554, 555, 561, 770, 774, 775, 778, 779, 780, 781, 792, 793, 796, 797, 800, 801, 802, 811, 814, 815, 816, 888, 896, 922, 925, 928, 929, 933, 936, 939, 940, 944, 947, 950, 951, 957, 959, 965, 1050, 1053, 1070, 1079, 1099, 1100, 1110, 1148, 1149, 1155, 1229, 1230, 1238, 1254, 1256, 1259, 1263, 1264, 1270, 1281, 1289, 1310, 1316, 1323, 1324, 1326, 1338, 1340, 1345, 1358, 1359, 1368, 1369, 1477, 1478, 1486, 1487, 1506, 1507, 1517, 1518, 1526, 1527, 1540, 1541, 1542, 1557, 1558, 1565, 1570, 1572, 1573, 1583, 1584, 1592, 1593, 1600, 1601, 1611, 1612, 1622, 1623, 1634, 1635, 1645, 1646, 1652, 1653, 1667, 1668, 1678, 1679, 1687, 1688, 1713, 1714, 1724, 1725, 1731, 1732, 1746, 1747, 1757, 1758, 1764, 1765, 1777, 1778, 1779, 1790, 1791, 1801, 1802, 1808, 1809, 1823, 1824, 1838, 1839, 1852, 1858, 1866, 1867, 1870, 1871, 1872, 1895, 1896, 1899, 1900, 1901, 1952, 1953, 1960, 1961, 1962, 1986, 1987, 1990, 1991, 1992, 2021, 2022, 2024, 2025, 2035, 2036, 2037, 2064, 2080, 2081, 2089, 2090, 2091, 2147, 2148, 2156, 2157, 2163, 2165, 2166, 2178, 2179, 2191, 2193, 2194, 2213, 2214, 2225, 2226, 2247, 2248, 2249, 2266, 2267, 2276, 2277, 2295, 2296, 2298, 2299, 2304, 2305, 2318, 2319, 2322, 2323, 2324, 2334, 2335, 2342, 2343, 2344, 2357, 2358, 2366, 2367, 2372, 2373, 2390, 2391, 2392, 2395, 2396, 2401, 2402, 2415, 2416, 2424, 2425, 2430, 2431, 2444, 2445, 2453, 2454, 2459, 2460, 2477, 2478, 2481, 2482, 2487, 2488, 2501, 2502, 2511, 2512, 2513, 2526, 2527, 2530, 2531, 2536, 2537, 2554, 2555, 2559, 2560, 2567, 2568, 2572, 2573, 2586, 2587, 2590, 2591, 2592, 2597, 2598, 2611, 2612, 2615, 2616, 2621, 2622, 2639, 2640, 2647, 2648, 2665, 2668, 2675, 2676, 2689, 2690, 2695, 2699, 2700, 2713, 2714, 2719, 2720, 2733, 2734, 2737, 2738, 2743, 2744, 2761, 2762, 2767, 2768, 2790, 2791, 2814, 2815, 2825, 2826, 2870, 2871, 2872, 2882, 2883, 2889, 2890, 2891, 2903, 2904, 2914, 2915, 2936, 2937, 2943, 2948, 2949, 2961, 2964, 2969, 2972, 2989, 2990, 3000, 3001, 3007, 3010, 3016, 3017, 3026, 3027, 3030, 3031, 3034, 3035, 3038, 3039, 3054, 3055, 3061, 3062, 3098, 3099, 3130, 3131, 3160, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3170, 3171, 3173, 3174, 3179, 3180, 3181, 3182, 3183, 3187, 3213, 3226, 3227, 3239, 3245, 3257, 3258, 3259, 3260, 3264, 3265, 3274, 3275, 3285, 3286, 3288, 3289, 3296, 3297, 3321, 3322, 3333, 3334, 3345, 3346, 3380, 3381, 3387, 3393, 3394, 3404, 3405, 3412, 3432, 3433, 3438, 3439, 3465, 3470, 3471, 3473, 3474, 3525, 3526, 3527, 3528, 3530, 3531, 3532, 3554, 3555, 3577, 3578, 3586, 3587, 3588, 3589, 3590], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 359, 457, 470, 478, 489, 492, 518, 526, 532, 545, 549, 566, 571, 578, 592, 646, 652, 658, 701, 714, 768, 809, 886, 894, 907, 908, 920, 931, 942, 953, 1085, 1092, 1176, 1189, 1200, 1219, 1220, 1227, 1252, 1308, 1312, 1318, 1328, 1336, 1348, 1376, 1377, 1385, 3178, 3185, 3192, 3197, 3203, 3208, 3219, 3234, 3244, 3262, 3272, 3283, 3294, 3319, 3331, 3343, 3357, 3372, 3375, 3378, 3391, 3430, 3468, 3519, 3539, 3548, 3551, 3575, 3585, 3592, 3593, 3594, 3595], "summary": {"covered_lines": 153, "num_statements": 158, "percent_covered": 96.83544303797468, "percent_covered_display": "97", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 3596, 3597], "excluded_lines": [115, 116]}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3, 6, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": []}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}}, "src/seedpass_gui/app.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 316, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 316, "excluded_lines": 24}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 150, 151, 152, 154, 155, 156, 157, 158, 159, 161, 162, 163, 165, 166, 167, 169, 170, 171, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 207, 210, 211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335, 338, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 354, 355, 356, 357, 358, 359, 368, 371, 374, 375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 396, 398, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 423, 424, 427, 430, 431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 458, 459, 460, 461, 462, 463, 467, 468, 470, 471, 472, 473, 474, 475, 476, 480, 483, 485, 488], "excluded_lines": [57, 58, 59, 464, 465, 466, 477, 478, 479, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 503, 504, 505], "functions": {"LockScreenWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "excluded_lines": []}, "LockScreenWindow.handle_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "excluded_lines": []}, "MainWindow.refresh_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 152], "excluded_lines": []}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": []}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [170, 171], "excluded_lines": []}, "MainWindow.start_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [176, 179], "excluded_lines": []}, "MainWindow.start_vault_sync._runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [177], "excluded_lines": []}, "MainWindow.sync_started": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "MainWindow.sync_finished": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [186, 187], "excluded_lines": []}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [190, 191, 192, 194, 195, 196], "excluded_lines": []}, "MainWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "excluded_lines": []}, "EntryDialog.save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 51, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 51, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352], "excluded_lines": []}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391], "excluded_lines": []}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [394, 395, 396], "excluded_lines": []}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421], "excluded_lines": []}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [424], "excluded_lines": []}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451], "excluded_lines": []}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [454, 455, 456], "excluded_lines": []}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [459, 460, 461, 462, 463, 467, 468], "excluded_lines": [464, 465, 466]}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [471, 472, 473, 474, 475, 476, 480], "excluded_lines": [477, 478, 479]}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [485], "excluded_lines": []}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [504, 505]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "excluded_lines": [489, 503]}}, "classes": {"LockScreenWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 75, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 75, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 176, 177, 179, 183, 186, 187, 190, 191, 192, 194, 195, 196, 199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424], "excluded_lines": []}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480], "excluded_lines": [464, 465, 466, 477, 478, 479]}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 485, 488], "excluded_lines": [489, 503, 504, 505]}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 123, "percent_covered": 50.40650406504065, "percent_covered_display": "50", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 205, 207, 208, 210, 211, 212, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mute_logging": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "clean_pubsub": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_addoption": {"executed_lines": [61, 67, 73, 79], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_configure": {"executed_lines": [88, 89, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_collection_modifyitems": {"executed_lines": [98, 105, 106, 107, 108, 111, 112, 113, 114], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102, 103, 109, 115], "excluded_lines": []}, "vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "password_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [146, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "make_dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 188, 220], "excluded_lines": []}, "make_dummy_nostr_client._make": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [205], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [225], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 47, 48, 52, 53, 60, 87, 95, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [205, 208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 120, "percent_covered": 51.666666666666664, "percent_covered_display": "52", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": []}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 167, "percent_covered": 34.131736526946106, "percent_covered_display": "34", "missing_lines": 110, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39, 44, 45, 46, 47, 50, 55, 56, 57, 60, 65, 66, 67, 68, 70, 71, 72, 76, 77, 80, 86, 90, 94, 98, 103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136, 141, 145, 150, 153, 157, 162, 167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "DummyUnsignedEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [55, 56, 57], "excluded_lines": []}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [60], "excluded_lines": []}, "DummyBuilder.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72], "excluded_lines": []}, "DummyBuilder.tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "DummyBuilder.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "DummyTag.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [86], "excluded_lines": []}, "DummyTag.event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [90], "excluded_lines": []}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyTag.expiration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [98], "excluded_lines": []}, "DummyFilter.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": []}, "DummyFilter.author": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [110], "excluded_lines": []}, "DummyFilter.kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 115, 116, 118, 119], "excluded_lines": []}, "DummyFilter.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [122, 123], "excluded_lines": []}, "DummyFilter.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [126, 127, 128], "excluded_lines": []}, "DummyFilter.limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [131, 132], "excluded_lines": []}, "DummyFilter.since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [135, 136], "excluded_lines": []}, "DummyTimestamp.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [141], "excluded_lines": []}, "DummyTimestamp.from_secs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [145], "excluded_lines": []}, "DummyEventId.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [150], "excluded_lines": []}, "DummyEventId.to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [153], "excluded_lines": []}, "DummyEventId.parse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "DummySendResult.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172], "excluded_lines": []}, "DummyRelayClient.add_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [175], "excluded_lines": []}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [178], "excluded_lines": []}, "DummyRelayClient.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [181], "excluded_lines": []}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "DummyRelayClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "excluded_lines": []}, "DummyRelayClient.fetch_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [228], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 50], "excluded_lines": []}, "DummyUnsignedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 60], "excluded_lines": []}, "DummyBuilder": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72, 76, 77, 80], "excluded_lines": []}, "DummyTag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [86, 90, 94, 98], "excluded_lines": []}, "DummyFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "excluded_lines": []}, "DummyTimestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [141, 145], "excluded_lines": []}, "DummyEventId": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [150, 153, 157], "excluded_lines": []}, "DummySendResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [228, 231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 65, "percent_covered": 87.6923076923077, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}}}, "src/tests/test_core_api_services.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 77, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 96, 97, 100, 103, 105, 106, 107, 108, 112, 114, 117, 120, 122, 123, 124, 126, 128, 129, 130, 131, 133, 134, 136, 137, 138, 140, 141, 142, 144, 148, 149, 150, 152, 154, 155, 158, 159, 160, 161, 163, 164, 165, 167, 168, 170, 171, 172, 174, 175, 177, 178, 179, 181, 185, 186, 187, 189, 192, 193, 194, 195, 197, 198, 199, 201, 203, 206, 207, 209, 210, 212, 214, 217, 219, 220, 221, 223, 224, 225, 228, 229, 230, 231, 233, 234, 235, 237, 240, 242, 243, 244, 246, 249, 251, 252, 256, 257, 259, 260, 264, 265, 267, 268, 272, 273, 275, 276, 277, 278, 280, 281, 283, 285, 286, 287, 289, 291, 292, 294, 296, 297, 299, 301, 302, 304, 305, 306, 308, 310, 311, 313, 314, 315, 316, 319, 321, 322, 325, 326, 329, 331, 332, 333, 334, 337, 339, 340, 341, 342, 345, 347, 348, 349, 350, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 372, 374, 375, 376, 378, 379, 381, 383, 384, 385, 387, 388, 390, 392, 393, 394, 396, 397, 399, 401, 402, 403, 405, 406, 408, 410, 411, 412, 414, 415, 417, 419, 420, 421, 423, 424, 426, 428, 429, 430, 432, 433, 435, 437, 438, 439, 441, 442, 444, 461, 463, 464, 466, 467, 469, 470, 472, 473, 475, 476, 478, 480, 481, 483, 484, 485, 487, 488, 489, 491, 492, 493, 496, 497, 498, 499, 501, 502, 503, 505, 508, 510, 511, 512, 514, 515, 516, 520, 527, 528, 532, 533, 534, 536, 537, 538, 540, 541, 542, 544, 545, 547, 550, 553, 554, 556, 557, 558, 560, 561, 563, 564, 567, 568, 569, 570, 572, 573, 576, 577, 579, 583, 584, 587, 589, 590, 591, 593, 594, 595, 598, 599, 600, 601, 603, 604, 605, 607, 608, 609, 611, 612, 613, 615, 616, 618, 619, 620, 622, 623, 625, 626, 627, 629, 632, 633, 634, 635, 636, 638, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 385, "num_statements": 385, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"mock_manager": {"executed_lines": [43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mock_bus": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.service": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_vault": {"executed_lines": [76, 77, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_vault": {"executed_lines": [83, 84, 86, 87], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_profile": {"executed_lines": [90, 91, 92, 94, 96, 97, 100, 103], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_profile": {"executed_lines": [106, 107, 108, 112, 114, 117, 120], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_change_password": {"executed_lines": [123, 124, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_unlock": {"executed_lines": [129, 130, 131, 133, 134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_lock": {"executed_lines": [137, 138], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_backup_parent_seed": {"executed_lines": [141, 142, 144], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_stats": {"executed_lines": [149, 150, 152, 154, 155], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.service": {"executed_lines": [161], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_list_profiles": {"executed_lines": [164, 165, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_add_profile": {"executed_lines": [171, 172, 174, 175], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_remove_profile": {"executed_lines": [178, 179, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_switch_profile": {"executed_lines": [186, 187, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.service": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync": {"executed_lines": [198, 199, 201, 203, 206, 207], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync_none": {"executed_lines": [210, 212, 214, 217], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_sync": {"executed_lines": [220, 221], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_vault_sync": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.service": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_list_entries": {"executed_lines": [234, 235, 237, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries": {"executed_lines": [243, 244, 246, 249], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_default_excludes_archived": {"executed_lines": [252, 256, 257], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_include_archived": {"executed_lines": [260, 264, 265], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_archived_only": {"executed_lines": [268, 272, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_retrieve_entry": {"executed_lines": [276, 277, 278, 280, 281], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_default": {"executed_lines": [285, 286, 287, 289, 291, 292], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_custom": {"executed_lines": [296, 297, 299, 301, 302], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_totp_code": {"executed_lines": [305, 306, 308, 310, 311], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_seed_phrase": {"executed_lines": [314, 315, 316, 319], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_managed_account_seed": {"executed_lines": [322, 325, 326, 329], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_ssh_key_pair": {"executed_lines": [332, 333, 334, 337], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_pgp_key": {"executed_lines": [340, 341, 342, 345], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_nostr_key_pair": {"executed_lines": [348, 349, 350, 353], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_secret_mode_enabled": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_clipboard_clear_delay": {"executed_lines": [360, 361], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_copy_to_clipboard": {"executed_lines": [364, 365, 366, 367], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_entry": {"executed_lines": [370, 372, 374, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_totp": {"executed_lines": [379, 381, 383, 384, 385], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_ssh_key": {"executed_lines": [388, 390, 392, 393, 394], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_pgp_key": {"executed_lines": [397, 399, 401, 402, 403], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_nostr_key": {"executed_lines": [406, 408, 410, 411, 412], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_seed": {"executed_lines": [415, 417, 419, 420, 421], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_key_value": {"executed_lines": [424, 426, 428, 429, 430], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_managed_account": {"executed_lines": [433, 435, 437, 438, 439], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_modify_entry": {"executed_lines": [442, 444, 461], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_archive_entry": {"executed_lines": [464, 466, 467], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_restore_entry": {"executed_lines": [470, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_export_totp_entries": {"executed_lines": [476, 478, 480, 481], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_display_totp_codes": {"executed_lines": [484, 485], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_load_managed_account": {"executed_lines": [488, 489], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_exit_managed_account": {"executed_lines": [492, 493], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.service": {"executed_lines": [499], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get": {"executed_lines": [502, 503, 505, 508], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_simple": {"executed_lines": [511, 512], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_bool": {"executed_lines": [515, 516], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_relays": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_invalid_key": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_secret_mode_enabled": {"executed_lines": [537, 538], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_clipboard_clear_delay": {"executed_lines": [541, 542], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_secret_mode": {"executed_lines": [545, 547, 550, 553, 554], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_offline_mode": {"executed_lines": [557, 558], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_offline_mode": {"executed_lines": [561, 563, 564], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.service": {"executed_lines": [570], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_generate_password": {"executed_lines": [573, 576, 577, 579, 583, 584, 587], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_verify_checksum": {"executed_lines": [590, 591], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_update_checksum": {"executed_lines": [594, 595], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.service": {"executed_lines": [601], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_get_pubkey": {"executed_lines": [604, 605], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_list_relays": {"executed_lines": [608, 609], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_add_relay": {"executed_lines": [612, 613, 615, 616], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_remove_relay": {"executed_lines": [619, 620, 622, 623], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_reset_sync_state": {"executed_lines": [626, 627, 629, 632, 633, 634, 635, 636], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_start_fresh_namespace": {"executed_lines": [639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 63, 64, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MockPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService": {"executed_lines": [73, 76, 77, 79, 80, 83, 84, 86, 87, 90, 91, 92, 94, 96, 97, 100, 103, 106, 107, 108, 112, 114, 117, 120, 123, 124, 126, 129, 130, 131, 133, 134, 137, 138, 141, 142, 144, 149, 150, 152, 154, 155], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService": {"executed_lines": [161, 164, 165, 167, 168, 171, 172, 174, 175, 178, 179, 181, 186, 187, 189], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService": {"executed_lines": [195, 198, 199, 201, 203, 206, 207, 210, 212, 214, 217, 220, 221, 224, 225], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService": {"executed_lines": [231, 234, 235, 237, 240, 243, 244, 246, 249, 252, 256, 257, 260, 264, 265, 268, 272, 273, 276, 277, 278, 280, 281, 285, 286, 287, 289, 291, 292, 296, 297, 299, 301, 302, 305, 306, 308, 310, 311, 314, 315, 316, 319, 322, 325, 326, 329, 332, 333, 334, 337, 340, 341, 342, 345, 348, 349, 350, 353, 356, 357, 360, 361, 364, 365, 366, 367, 370, 372, 374, 375, 376, 379, 381, 383, 384, 385, 388, 390, 392, 393, 394, 397, 399, 401, 402, 403, 406, 408, 410, 411, 412, 415, 417, 419, 420, 421, 424, 426, 428, 429, 430, 433, 435, 437, 438, 439, 442, 444, 461, 464, 466, 467, 470, 472, 473, 476, 478, 480, 481, 484, 485, 488, 489, 492, 493], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService": {"executed_lines": [499, 502, 503, 505, 508, 511, 512, 515, 516, 527, 528, 533, 534, 537, 538, 541, 542, 545, 547, 550, 553, 554, 557, 558, 561, 563, 564], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService": {"executed_lines": [570, 573, 576, 577, 579, 583, 584, 587, 590, 591, 594, 595], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService": {"executed_lines": [601, 604, 605, 608, 609, 612, 613, 615, 616, 619, 620, 622, 623, 626, 627, 629, 632, 633, 634, 635, 636, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 121, "num_statements": 121, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_action_matrix.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 85, 86, 88, 90, 97, 98, 107, 109, 119, 120, 121, 130, 132, 135, 136, 137, 145, 147, 157, 158, 159, 168, 170, 173, 174, 175, 183, 185, 194, 195, 196, 204, 206, 209, 210, 211, 219, 221, 229, 230, 231, 232, 233, 240, 242, 245, 246, 247, 254, 256, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 290, 291, 293, 297, 306, 310, 311, 312, 314, 321, 328, 335, 336, 338, 339, 341, 342, 343, 345, 346, 347, 348, 350, 351, 353, 355, 356, 357, 358, 360, 368, 369, 374, 377, 378, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725, 728, 729, 730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 431, "num_statements": 471, "percent_covered": 91.50743099787685, "percent_covered_display": "92", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398, 679, 681], "excluded_lines": [], "functions": {"MatrixEntryService.__init__": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService._next_id": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.search_entries": {"executed_lines": [56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 69], "excluded_lines": []}, "MatrixEntryService.retrieve_entry": {"executed_lines": [86, 88], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [87], "excluded_lines": []}, "MatrixEntryService.add_entry": {"executed_lines": [97, 98, 107], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_totp": {"executed_lines": [119, 120, 121, 130], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_key_value": {"executed_lines": [135, 136, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_document": {"executed_lines": [157, 158, 159, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_ssh_key": {"executed_lines": [173, 174, 175, 183], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_pgp_key": {"executed_lines": [194, 195, 196, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_nostr_key": {"executed_lines": [209, 210, 211, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_seed": {"executed_lines": [229, 230, 231, 232, 233, 240], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_managed_account": {"executed_lines": [245, 246, 247, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.export_document_file": {"executed_lines": [263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [267, 271, 275], "excluded_lines": []}, "MatrixEntryService.modify_entry": {"executed_lines": [283, 284, 285, 286, 287, 288], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.generate_password": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [294, 295], "excluded_lines": []}, "MatrixEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [298, 299], "excluded_lines": []}, "MatrixEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [307, 308], "excluded_lines": []}, "MatrixEntryService.get_totp_code": {"executed_lines": [311, 312], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [315, 316], "excluded_lines": []}, "MatrixEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [322, 323], "excluded_lines": []}, "MatrixEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [329, 330], "excluded_lines": []}, "MatrixEntryService.get_secret_mode_enabled": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_clipboard_clear_delay": {"executed_lines": [339], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.copy_to_clipboard": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.archive_entry": {"executed_lines": [346, 347, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.restore_entry": {"executed_lines": [351, 353], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [352], "excluded_lines": []}, "MatrixEntryService.get_links": {"executed_lines": [356, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_link": {"executed_lines": [368, 369], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [370, 371, 372], "excluded_lines": []}, "MatrixEntryService.remove_link": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 12, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "excluded_lines": []}, "MatrixEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [391, 392, 393, 394, 395], "excluded_lines": []}, "MatrixEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [398], "excluded_lines": []}, "_build_app": {"executed_lines": [402, 404, 407, 411, 412, 413, 414], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [405], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status": {"executed_lines": [418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success": {"executed_lines": [423, 424, 426, 432, 433, 434, 435, 436, 437, 438, 442, 443], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success._factory": {"executed_lines": [427, 428, 429, 430], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_service_unavailable_and_no_retry": {"executed_lines": [448, 449, 450, 451, 454, 455, 456], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_actions_palette_events_and_guards": {"executed_lines": [461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725], "summary": {"covered_lines": 214, "num_statements": 216, "percent_covered": 99.07407407407408, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [679, 681], "excluded_lines": []}, "test_tui2_matrix_failure_paths_and_retry": {"executed_lines": [730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 417, 421, 422, 446, 447, 459, 460, 728, 729], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MatrixEntryService": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 86, 88, 97, 98, 107, 119, 120, 121, 130, 135, 136, 137, 145, 157, 158, 159, 168, 173, 174, 175, 183, 194, 195, 196, 204, 209, 210, 211, 219, 229, 230, 231, 232, 233, 240, 245, 246, 247, 254, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 283, 284, 285, 286, 287, 288, 291, 311, 312, 336, 339, 342, 343, 346, 347, 348, 351, 353, 356, 357, 358, 368, 369, 377, 378], "summary": {"covered_lines": 109, "num_statements": 147, "percent_covered": 74.14965986394557, "percent_covered_display": "74", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 675, 676, 677, 683, 686, 687, 688, 689, 691, 692, 693, 694, 695, 696, 697, 698, 700, 703, 706, 709, 712, 715, 717, 718, 719, 720, 721, 722, 724, 725, 728, 729, 730, 741, 742, 743, 744, 745, 746, 748, 749, 750, 752, 753, 754, 756, 757, 758, 760, 761, 762, 764, 765, 766, 767, 768, 769], "summary": {"covered_lines": 322, "num_statements": 324, "percent_covered": 99.38271604938272, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [679, 681], "excluded_lines": []}}}, "src/tests/test_tui_v2_helpers.py": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_palette_command_ok": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_empty": {"executed_lines": [20, 21], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_unbalanced_quotes": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_normalizes_page": {"executed_lines": [30, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_empty": {"executed_lines": [40, 43, 44, 45, 46], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_rejects_nonpositive_page_size": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_no_content": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_truncates_content": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_render_qr_ascii_nonempty": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_large_vault_sizes": {"executed_lines": [75, 76, 79, 80, 81], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 13, 19, 24, 29, 39, 49, 54, 59, 65, 72, 73], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_parity_scenarios.py": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 56, 57, 59, 66, 67, 69, 70, 72, 73, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 91, "num_statements": 111, "percent_covered": 81.98198198198199, "percent_covered_display": "82", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [15, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 43], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [83, 84, 85], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "_build_app": {"executed_lines": [103, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [106], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [120, 121, 122, 123], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [127], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_filters_cover_all_entry_kinds": {"executed_lines": [132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_archive_restore_roundtrip_non_document": {"executed_lines": [166, 169, 171, 172, 173, 174, 175, 177, 178, 179], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_edit_document_guard_for_non_document": {"executed_lines": [184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 115, 119, 126, 130, 131, 164, 165, 182, 183], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 57, 67, 70, 73], "summary": {"covered_lines": 21, "num_statements": 41, "percent_covered": 51.21951219512195, "percent_covered_display": "51", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_textual_interactions.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 31, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 70, 71, 73, 80, 81, 90, 92, 101, 102, 103, 112, 114, 115, 116, 124, 126, 127, 128, 136, 138, 141, 142, 143, 151, 153, 162, 163, 164, 172, 174, 177, 178, 179, 187, 189, 197, 198, 199, 200, 201, 208, 210, 213, 214, 215, 222, 224, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 250, 251, 252, 253, 255, 257, 258, 260, 261, 262, 264, 265, 266, 273, 274, 275, 277, 278, 279, 281, 282, 283, 284, 285, 292, 294, 295, 296, 301, 308, 309, 310, 315, 316, 318, 319, 321, 322, 323, 325, 328, 331, 332, 334, 342, 343, 350, 352, 355, 356, 357, 363, 364, 366, 367, 368, 369, 371, 373, 374, 377, 378, 379, 380, 381, 382, 383, 385, 386, 388, 389, 390, 391, 393, 395, 396, 397, 398, 399, 401, 402, 403, 405, 406, 408, 409, 410, 412, 414, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 431, 432, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 456, 457, 458, 459, 460, 462, 463, 465, 466, 468, 469, 471, 473, 474, 476, 478, 479, 480, 482, 483, 485, 486, 487, 490, 491, 492, 495, 496, 497, 498, 500, 501, 502, 504, 505, 508, 509, 510, 511, 513, 514, 516, 517, 520, 521, 522, 523, 524, 526, 527, 528, 529, 530, 532, 533, 534, 536, 537, 538, 539, 540, 541, 542, 543, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786, 789, 790, 791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 825, 826, 827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845, 848, 849, 850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892, 895, 896, 897, 901, 903, 904, 905, 907, 908, 910, 911, 912, 915, 916, 917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967, 970, 971, 972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012, 1015, 1016, 1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1080, 1081, 1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1139, 1140, 1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1209, 1210, 1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298, 1301, 1302, 1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490, 1496, 1497, 1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 970, "num_statements": 994, "percent_covered": 97.58551307847083, "percent_covered_display": "98", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370, 392, 404, 411, 413, 453, 470, 475, 701, 703], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService._next_id": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_entry": {"executed_lines": [80, 81, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_totp": {"executed_lines": [101, 102, 103, 112], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_key_value": {"executed_lines": [115, 116, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_document": {"executed_lines": [127, 128, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_ssh_key": {"executed_lines": [141, 142, 143, 151], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_pgp_key": {"executed_lines": [162, 163, 164, 172], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_nostr_key": {"executed_lines": [177, 178, 179, 187], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_seed": {"executed_lines": [197, 198, 199, 200, 201, 208], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_managed_account": {"executed_lines": [213, 214, 215, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_document_file": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [235, 239, 243], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [251, 252, 253, 255], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [254], "excluded_lines": []}, "FakeEntryService.generate_password": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_seed_phrase": {"executed_lines": [261, 262], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [265, 266], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_secret": {"executed_lines": [274, 275], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_code": {"executed_lines": [278, 279], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_totp_entries": {"executed_lines": [282, 283, 284, 285, 292], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [286], "excluded_lines": []}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [295, 296], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [302, 303], "excluded_lines": []}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [309, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [316], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [322, 323], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [326], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [329], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [342, 343, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [355, 356, 357, 363, 364], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [358, 359, 360, 361, 362], "excluded_lines": []}, "FakeEntryService.load_managed_account": {"executed_lines": [367, 368, 369, 371], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [370], "excluded_lines": []}, "FakeEntryService.exit_managed_account": {"executed_lines": [374], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.__init__": {"executed_lines": [379, 380, 381, 382, 383], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.list_profiles": {"executed_lines": [386], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.switch_profile": {"executed_lines": [389, 390, 391, 393], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [392], "excluded_lines": []}, "FakeProfileService.add_profile": {"executed_lines": [396, 397, 398, 399], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.remove_profile": {"executed_lines": [402, 403, 405, 406], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [404], "excluded_lines": []}, "FakeProfileService.rename_profile": {"executed_lines": [409, 410, 412, 414], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [411, 413], "excluded_lines": []}, "FakeConfigService.__init__": {"executed_lines": [419, 420, 421, 422, 423, 424, 425], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_secret_mode": {"executed_lines": [428, 429], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_offline_mode": {"executed_lines": [432], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set": {"executed_lines": [435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService.__init__": {"executed_lines": [458, 459, 460], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.get_pubkey": {"executed_lines": [463], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.list_relays": {"executed_lines": [466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.add_relay": {"executed_lines": [469, 471], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [470], "excluded_lines": []}, "FakeNostrService.remove_relay": {"executed_lines": [474, 476], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [475], "excluded_lines": []}, "FakeNostrService.reset_relays": {"executed_lines": [479, 480], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.reset_sync_state": {"executed_lines": [483], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [486, 487], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncResult.__init__": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.__init__": {"executed_lines": [497, 498], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.sync": {"executed_lines": [501, 502], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.__init__": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.verify_checksum": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.update_checksum": {"executed_lines": [517], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.__init__": {"executed_lines": [522, 523, 524], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.export_vault": {"executed_lines": [527, 528, 529, 530], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.import_vault": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.backup_parent_seed": {"executed_lines": [537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app": {"executed_lines": [556, 558, 561, 583, 584, 585, 586], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [559], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [590], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [594], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_filters_text": {"executed_lines": [598], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [602, 603, 604, 605, 606], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_pagination_and_search_flow": {"executed_lines": [611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_archive_scope_filters": {"executed_lines": [636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_document_edit_save_flow": {"executed_lines": [674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}, "test_tui2_textual_link_commands_and_neighbor_open": {"executed_lines": [717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_reveal_and_qr_flow": {"executed_lines": [743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_keyboard_reveal_and_qr": {"executed_lines": [791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filters_panel_tracks_selected_entry": {"executed_lines": [827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_sensitive_confirm_and_secret_mode_clipboard": {"executed_lines": [850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_retry_after_search_failure": {"executed_lines": [897, 901, 903, 904, 905, 907, 908, 910, 911, 912], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands": {"executed_lines": [917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands_validation_errors": {"executed_lines": [972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export": {"executed_lines": [1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export_validation": {"executed_lines": [1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_non_document_kinds": {"executed_lines": [1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_validation": {"executed_lines": [1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_view_timer_and_copy": {"executed_lines": [1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_secret_mode_and_validation": {"executed_lines": [1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_commands": {"executed_lines": [1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_session_palette_commands": {"executed_lines": [1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_validation": {"executed_lines": [1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 589, 593, 597, 601, 609, 610, 634, 635, 672, 673, 715, 716, 741, 742, 789, 790, 825, 826, 848, 849, 895, 896, 915, 916, 970, 971, 1015, 1016, 1080, 1081, 1139, 1140, 1209, 1210, 1250, 1251, 1301, 1302, 1340, 1341, 1496, 1497, 1529, 1530], "summary": {"covered_lines": 123, "num_statements": 123, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26, 29, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 71, 80, 81, 90, 101, 102, 103, 112, 115, 116, 124, 127, 128, 136, 141, 142, 143, 151, 162, 163, 164, 172, 177, 178, 179, 187, 197, 198, 199, 200, 201, 208, 213, 214, 215, 222, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 251, 252, 253, 255, 258, 261, 262, 265, 266, 274, 275, 278, 279, 282, 283, 284, 285, 292, 295, 296, 309, 310, 316, 319, 322, 323, 332, 342, 343, 350, 355, 356, 357, 363, 364, 367, 368, 369, 371, 374], "summary": {"covered_lines": 118, "num_statements": 133, "percent_covered": 88.7218045112782, "percent_covered_display": "89", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370], "excluded_lines": []}, "FakeProfileService": {"executed_lines": [379, 380, 381, 382, 383, 386, 389, 390, 391, 393, 396, 397, 398, 399, 402, 403, 405, 406, 409, 410, 412, 414], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [392, 404, 411, 413], "excluded_lines": []}, "FakeConfigService": {"executed_lines": [419, 420, 421, 422, 423, 424, 425, 428, 429, 432, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService": {"executed_lines": [458, 459, 460, 463, 466, 469, 471, 474, 476, 479, 480, 483, 486, 487], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [470, 475], "excluded_lines": []}, "FakeSyncResult": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService": {"executed_lines": [497, 498, 501, 502, 505], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService": {"executed_lines": [510, 511, 514, 517], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService": {"executed_lines": [522, 523, 524, 527, 528, 529, 530, 533, 534, 537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 762, 764, 765, 767, 768, 769, 770, 772, 773, 774, 775, 776, 777, 779, 780, 781, 782, 784, 785, 786, 789, 790, 791, 804, 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 825, 826, 827, 833, 835, 836, 837, 838, 839, 841, 842, 843, 844, 845, 848, 849, 850, 868, 869, 870, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888, 890, 891, 892, 895, 896, 897, 901, 903, 904, 905, 907, 908, 910, 911, 912, 915, 916, 917, 918, 920, 921, 923, 924, 925, 926, 928, 929, 930, 931, 932, 934, 935, 936, 937, 939, 940, 941, 942, 944, 945, 946, 947, 949, 950, 951, 952, 954, 955, 956, 957, 959, 960, 961, 962, 964, 965, 966, 967, 970, 971, 972, 973, 975, 976, 978, 979, 980, 982, 983, 984, 986, 987, 988, 990, 991, 992, 994, 995, 996, 998, 999, 1000, 1002, 1003, 1004, 1006, 1007, 1008, 1010, 1011, 1012, 1015, 1016, 1019, 1036, 1038, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1080, 1081, 1084, 1090, 1092, 1093, 1094, 1095, 1096, 1098, 1099, 1100, 1102, 1103, 1104, 1106, 1107, 1108, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, 1120, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1139, 1140, 1141, 1170, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1209, 1210, 1211, 1217, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232, 1233, 1235, 1236, 1237, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1292, 1293, 1294, 1296, 1297, 1298, 1301, 1302, 1303, 1315, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1359, 1360, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1480, 1482, 1485, 1486, 1490, 1496, 1497, 1498, 1504, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1554, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1572, 1573, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590, 1592, 1593, 1594, 1596, 1597, 1598, 1600, 1601, 1602, 1604, 1605, 1606, 1608, 1609, 1610, 1612, 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1633, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1644, 1645, 1646, 1648, 1649, 1650, 1652, 1653, 1654, 1656, 1657, 1658, 1660, 1661, 1662, 1667, 1668, 1669, 1671, 1672, 1673, 1675, 1676, 1677, 1679, 1680, 1681, 1683, 1684, 1685], "summary": {"covered_lines": 768, "num_statements": 770, "percent_covered": 99.74025974025975, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}}}, "src/utils/__init__.py": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}, "classes": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}}, "src/utils/atomic_write.py": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/checksum.py": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "json_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [36, 37], "excluded_lines": []}, "calculate_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137], "excluded_lines": []}, "verify_and_update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 155, 156, 157, 158, 160, 161, 162], "excluded_lines": []}, "initialize_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198], "excluded_lines": []}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}, "": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}}}, "src/utils/clipboard.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29], "excluded_lines": []}, "copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [38, 40, 42, 46, 47, 48, 49], "excluded_lines": []}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [43, 44], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": []}}}, "src/utils/color_scheme.py": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "color_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": []}}}, "src/utils/file_lock.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"_get_portalocker_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24], "excluded_lines": []}, "exclusive_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41], "excluded_lines": []}, "shared_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/fingerprint.py": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}, "": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 122, "percent_covered": 18.852459016393443, "percent_covered_display": "19", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37], "excluded_lines": []}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [50, 51, 53, 54], "excluded_lines": []}, "FingerprintManager._ensure_app_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64, 67], "excluded_lines": []}, "FingerprintManager._load_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88], "excluded_lines": []}, "FingerprintManager._save_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [94, 95, 100, 104, 107, 108, 109], "excluded_lines": []}, "FingerprintManager.add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "FingerprintManager.remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183], "excluded_lines": []}, "FingerprintManager.list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [192, 193], "excluded_lines": []}, "FingerprintManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [205, 206, 207, 208, 209, 211, 212], "excluded_lines": []}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": []}, "FingerprintManager.get_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [227], "excluded_lines": []}, "FingerprintManager.display_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [231, 232], "excluded_lines": []}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FingerprintManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 99, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/imghdr_stub.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": [], "functions": {"what": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "excluded_lines": []}, "test_jpeg": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59], "excluded_lines": []}, "test_png": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [67, 68], "excluded_lines": []}, "test_gif": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "test_tiff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [85, 86], "excluded_lines": []}, "test_rgb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [94, 95], "excluded_lines": []}, "test_pbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [103, 104], "excluded_lines": []}, "test_pgm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [112, 113], "excluded_lines": []}, "test_ppm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [121, 122], "excluded_lines": []}, "test_rast": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [130, 131], "excluded_lines": []}, "test_xbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [139, 140], "excluded_lines": []}, "test_bmp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [148, 149], "excluded_lines": []}, "test_webp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [157, 158], "excluded_lines": []}, "test_exr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": []}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22], "excluded_lines": []}, "_timed_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 2}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "excluded_lines": [27, 28]}, "timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 58], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [9, 10]}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28]}}}, "src/utils/key_derivation.py": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133], "excluded_lines": []}, "derive_key_from_password_argon2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 3}, "missing_lines": [147, 148, 149, 151, 152, 153, 155, 156, 157, 166], "excluded_lines": [167, 168, 169]}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": []}, "derive_index_key_seed_only": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219], "excluded_lines": []}, "derive_index_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [224], "excluded_lines": []}, "derive_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": []}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [49, 50]}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169]}}}, "src/utils/key_hierarchy.py": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": [], "functions": {"kd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}}}, "src/utils/key_validation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": [], "functions": {"validate_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20], "excluded_lines": []}, "validate_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 35, 36, 37, 38], "excluded_lines": []}, "validate_pgp_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [43, 44, 45, 46, 47, 48], "excluded_lines": []}, "validate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "validate_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 69], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": []}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 13}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "pause_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "resume_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "console_logging_paused": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 51], "excluded_lines": []}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [59, 60], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}, "classes": {"ConsolePauseFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 21, 22, 23]}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 22, "percent_covered": 36.36363636363637, "percent_covered_display": "36", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23], "excluded_lines": []}, "InMemorySecret.get_bytes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [27, 28, 29], "excluded_lines": []}, "InMemorySecret.wipe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36], "excluded_lines": []}, "InMemorySecret.get_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"InMemorySecret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/password_prompt.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [39], "excluded_lines": []}, "_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [59, 60, 61, 62], "excluded_lines": []}, "prompt_new_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": []}, "prompt_existing_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": []}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [268], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": []}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48], "excluded_lines": []}, "_masked_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "excluded_lines": [53, 54]}, "_masked_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 2}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "excluded_lines": [78, 79]}, "masked_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [109, 110, 111, 112, 113, 114, 118], "excluded_lines": [115, 116]}, "prompt_seed_words": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15]}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116]}}}, "src/utils/terminal_utils.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26], "excluded_lines": [21, 22, 25]}, "clear_screen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "clear_and_print_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "clear_and_print_profile_chain": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "clear_header_with_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 3}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113], "excluded_lines": [102, 103, 104]}, "pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104]}}}}, "totals": {"covered_lines": 5759, "num_statements": 18750, "percent_covered": 30.714666666666666, "percent_covered_display": "31", "missing_lines": 12991, "excluded_lines": 206}} \ No newline at end of file diff --git a/artifacts/coverage/coverage.tui2_gate.json b/artifacts/coverage/coverage.tui2_gate.json new file mode 100644 index 00000000..8d15c3f1 --- /dev/null +++ b/artifacts/coverage/coverage.tui2_gate.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.10.1", "timestamp": "2026-03-02T09:30:54.167906", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 61, 83], "summary": {"covered_lines": 18, "num_statements": 23, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}}, "src/local_bip85/bip85.py": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 74, "percent_covered": 25.675675675675677, "percent_covered_display": "26", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "BIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "BIP85.derive_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146], "excluded_lines": []}, "BIP85.derive_symmetric_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 104, 106, 107, 110, 113, 117, 118, 119, 120, 121, 122, 125, 126, 127, 128, 129, 131, 137, 138, 141, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 155, 156, 157], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 124, 148], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/main.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65], "excluded_lines": []}, "load_global_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82], "excluded_lines": []}, "configure_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 130, 132], "excluded_lines": []}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147], "excluded_lines": []}, "get_notification_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163], "excluded_lines": []}, "handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208], "excluded_lines": []}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [217, 218, 219, 220, 221], "excluded_lines": []}, "handle_remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 255, 258, 261, 262, 269, 271, 272, 273, 274], "excluded_lines": []}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [249, 250, 251, 252, 253], "excluded_lines": []}, "handle_list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296], "excluded_lines": []}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314], "excluded_lines": []}, "_display_live_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 2}, "missing_lines": [325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361], "excluded_lines": [334, 335]}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [366, 367], "excluded_lines": [368, 369, 370]}, "print_matches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406], "excluded_lines": []}, "handle_post_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443], "excluded_lines": []}, "handle_retrieve_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481], "excluded_lines": []}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "excluded_lines": []}, "_safe_close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [503, 504, 505, 506, 507, 508, 509], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [514, 515, 516, 517, 518, 519, 520, 521, 522], "excluded_lines": []}, "handle_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553], "excluded_lines": []}, "handle_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590], "excluded_lines": []}, "handle_reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609], "excluded_lines": []}, "_get_profile_state_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [614, 615, 616, 617, 618, 619, 620, 622], "excluded_lines": []}, "_clear_nostr_runtime_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639], "excluded_lines": []}, "handle_reset_nostr_sync_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665], "excluded_lines": []}, "handle_start_fresh_nostr_namespace": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708], "excluded_lines": []}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742], "excluded_lines": []}, "handle_set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791], "excluded_lines": []}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840], "excluded_lines": []}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859], "excluded_lines": []}, "handle_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910], "excluded_lines": []}, "handle_toggle_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947], "excluded_lines": []}, "handle_toggle_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "handle_profiles_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038], "excluded_lines": []}, "handle_nostr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112], "excluded_lines": []}, "handle_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 127, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 127, "excluded_lines": 0}, "missing_lines": [1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266], "excluded_lines": []}, "display_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 190, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 190, "excluded_lines": 0}, "missing_lines": [1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751], "excluded_lines": []}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 72, 85, 117, 118, 135, 150, 166, 167, 211, 224, 277, 299, 317, 364, 373, 409, 446, 484, 501, 512, 525, 556, 593, 612, 625, 642, 668, 711, 745, 794, 843, 862, 913, 950, 988, 1041, 1115, 1269, 1487, 1754, 1755], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1274, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1274, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 41, 42, 43, 48, 50, 52, 59, 61, 62, 63, 64, 65, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 88, 89, 91, 92, 93, 94, 96, 97, 99, 102, 103, 105, 106, 107, 108, 109, 111, 113, 114, 117, 118, 125, 126, 127, 128, 129, 130, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 173, 174, 175, 176, 182, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 201, 202, 203, 205, 206, 207, 208, 211, 217, 218, 219, 220, 221, 224, 226, 227, 228, 229, 230, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 246, 248, 249, 250, 251, 252, 253, 255, 258, 261, 262, 269, 271, 272, 273, 274, 277, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 299, 303, 304, 305, 306, 307, 309, 310, 311, 312, 313, 314, 317, 325, 326, 327, 328, 329, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 366, 367, 373, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 437, 438, 439, 440, 441, 443, 446, 448, 449, 450, 451, 457, 458, 460, 461, 464, 465, 466, 467, 468, 469, 470, 476, 477, 478, 479, 481, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 553, 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 581, 582, 583, 584, 585, 586, 587, 588, 590, 593, 595, 596, 597, 598, 599, 601, 602, 603, 604, 605, 606, 607, 609, 612, 614, 615, 616, 617, 618, 619, 620, 622, 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 642, 644, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 661, 662, 663, 665, 668, 670, 673, 674, 675, 676, 677, 678, 679, 680, 686, 687, 689, 690, 691, 692, 693, 699, 704, 705, 706, 708, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 745, 747, 748, 750, 751, 752, 753, 754, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 794, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 811, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 839, 840, 843, 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 859, 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 913, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 988, 990, 991, 996, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1059, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1123, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1222, 1223, 1226, 1228, 1233, 1235, 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1269, 1277, 1288, 1289, 1290, 1291, 1292, 1293, 1298, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1317, 1318, 1319, 1320, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1337, 1338, 1340, 1343, 1344, 1345, 1346, 1347, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1363, 1364, 1365, 1366, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1398, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1510, 1515, 1520, 1526, 1528, 1529, 1530, 1536, 1537, 1539, 1540, 1542, 1543, 1545, 1546, 1548, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1693, 1694, 1695, 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1754, 1755], "excluded_lines": [334, 335, 368, 369, 370]}}}, "src/nostr/__init__.py": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "": {"executed_lines": [3, 5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 58, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 34, "excluded_lines": 2}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}, "classes": {"NostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 33, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26], "excluded_lines": []}, "Keys.hex_to_bech32": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 32], "excluded_lines": []}, "Keys.bech32_to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40], "excluded_lines": []}, "Keys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Keys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 155, "percent_covered": 16.774193548387096, "percent_covered_display": "17", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30], "excluded_lines": []}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "ConnectionHandler._connect_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67], "excluded_lines": []}, "ConnectionHandler._ping_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": []}, "ConnectionHandler.check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [105, 106, 107], "excluded_lines": []}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": []}, "ConnectionHandler.publish_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153], "excluded_lines": []}, "ConnectionHandler.update_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [157, 158, 159, 160, 161, 162], "excluded_lines": []}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": []}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": []}, "ConnectionHandler.close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConnectionHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 129, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 84, "percent_covered": 22.61904761904762, "percent_covered_display": "23", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62], "excluded_lines": []}, "KeyManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78], "excluded_lines": []}, "KeyManager.generate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [82, 83, 85, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": []}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": []}, "KeyManager.get_public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [129], "excluded_lines": []}, "KeyManager.get_private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [138], "excluded_lines": []}, "KeyManager.get_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [147, 148, 149, 150, 151, 152, 153, 154, 155], "excluded_lines": []}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 264, "percent_covered": 10.984848484848484, "percent_covered_display": "11", "missing_lines": 235, "excluded_lines": 11}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46], "excluded_lines": []}, "new_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [57, 58, 59], "excluded_lines": []}, "SnapshotHandler.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "excluded_lines": []}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219], "excluded_lines": []}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 11}, "missing_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310], "excluded_lines": []}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346], "excluded_lines": []}, "SnapshotHandler.publish_delta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "excluded_lines": []}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "excluded_lines": []}, "SnapshotHandler.get_current_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [434, 435], "excluded_lines": []}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [438, 439], "excluded_lines": []}, "SnapshotHandler.get_delta_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [442, 443], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SnapshotHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 225, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 225, "excluded_lines": 11}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59], "excluded_lines": []}}}, "src/seedpass/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/api.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": [], "functions": {"dynamic_cors_headers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93], "excluded_lines": []}, "_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100], "excluded_lines": []}, "_check_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "_enforce_rate_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129], "excluded_lines": []}, "_request_rate_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [133, 134, 135], "excluded_lines": []}, "_enforce_unlock_attempt_limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150], "excluded_lines": []}, "_record_unlock_failure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "start_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205], "excluded_lines": []}, "_require_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [209, 210, 211], "excluded_lines": []}, "_require_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [216, 217, 218], "excluded_lines": []}, "_validate_encryption_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231], "excluded_lines": []}, "_header_truthy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [235], "excluded_lines": []}, "_active_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [239], "excluded_lines": []}, "_policy_isolation_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 252, 253], "excluded_lines": []}, "_require_high_risk_session": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": []}, "_hydrate_partitioned_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285], "excluded_lines": []}, "_job_profile_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [289, 290, 291], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [295], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [301, 311, 324], "excluded_lines": []}, "_template_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [328], "excluded_lines": []}, "_load_template_signing_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [332, 333, 334, 335, 336, 337, 338, 339], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [343], "excluded_lines": []}, "_template_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [347, 352, 353, 354, 355, 356, 357, 358, 359, 360], "excluded_lines": []}, "_template_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [364, 365, 366, 367, 368, 369, 372, 373], "excluded_lines": []}, "_build_job_profile_template_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438], "excluded_lines": []}, "_mask_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [442, 443, 444], "excluded_lines": []}, "search_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [451, 452, 453, 454, 455], "excluded_lines": []}, "high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [472, 473, 474, 475, 476], "excluded_lines": []}, "high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519], "excluded_lines": []}, "high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540], "excluded_lines": []}, "list_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [549, 550, 551, 552], "excluded_lines": []}, "create_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601], "excluded_lines": []}, "revoke_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 614], "excluded_lines": []}, "run_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682], "excluded_lines": []}, "template_agent_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [709, 710, 711, 712, 713, 714], "excluded_lines": []}, "template_agent_job_profile_post": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [731, 732, 733, 734, 735, 736], "excluded_lines": []}, "verify_agent_job_profile_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777], "excluded_lines": []}, "check_agent_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938], "excluded_lines": []}, "agent_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [947, 948, 949, 950], "excluded_lines": []}, "agent_recovery_drills_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [959, 960, 961, 962, 963], "excluded_lines": []}, "get_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "create_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143], "excluded_lines": []}, "update_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181], "excluded_lines": []}, "get_entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198], "excluded_lines": []}, "add_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223], "excluded_lines": []}, "remove_entry_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247], "excluded_lines": []}, "import_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276], "excluded_lines": []}, "export_document_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303], "excluded_lines": []}, "archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1311, 1312, 1313, 1314, 1315], "excluded_lines": []}, "unarchive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1323, 1324, 1325, 1326, 1327], "excluded_lines": []}, "get_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345], "excluded_lines": []}, "update_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384], "excluded_lines": []}, "set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406], "excluded_lines": []}, "list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1413, 1414, 1415], "excluded_lines": []}, "add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1423, 1424, 1425, 1426, 1427], "excluded_lines": []}, "remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1435, 1436, 1437, 1438, 1439], "excluded_lines": []}, "select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1447, 1448, 1449, 1451, 1452, 1453, 1454], "excluded_lines": []}, "export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490], "excluded_lines": []}, "get_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517], "excluded_lines": []}, "get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1525, 1526, 1527, 1528], "excluded_lines": []}, "get_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545], "excluded_lines": []}, "get_nostr_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1550, 1551, 1552, 1553], "excluded_lines": []}, "list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1559, 1560, 1561, 1562, 1563], "excluded_lines": []}, "add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586], "excluded_lines": []}, "remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607], "excluded_lines": []}, "reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1631, 1632, 1633, 1634, 1635], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683], "excluded_lines": []}, "verify_export_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1699, 1700, 1701, 1702], "excluded_lines": []}, "export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0}, "missing_lines": [1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794], "excluded_lines": []}, "import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853], "excluded_lines": []}, "import_vault._handle_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1822, 1823, 1824, 1825, 1826, 1827, 1829], "excluded_lines": []}, "backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926], "excluded_lines": []}, "change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1934, 1935, 1936, 1937, 1939], "excluded_lines": []}, "generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966], "excluded_lines": []}, "lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1974, 1975, 1976, 1977], "excluded_lines": []}, "unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997], "excluded_lines": []}, "shutdown_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2008, 2009, 2011], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 178, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 31, 41, 42, 51, 52, 58, 65, 66, 68, 69, 70, 71, 72, 73, 75, 77, 78, 81, 82, 96, 103, 114, 132, 138, 158, 168, 182, 208, 214, 221, 234, 238, 246, 256, 270, 288, 294, 298, 327, 331, 342, 346, 363, 383, 441, 447, 448, 468, 469, 485, 486, 526, 527, 543, 544, 555, 556, 604, 605, 617, 618, 699, 700, 724, 725, 746, 747, 785, 786, 860, 861, 889, 890, 916, 917, 941, 942, 953, 954, 966, 967, 988, 989, 1146, 1147, 1184, 1185, 1201, 1202, 1226, 1227, 1250, 1251, 1279, 1280, 1306, 1307, 1318, 1319, 1330, 1331, 1348, 1349, 1387, 1388, 1409, 1410, 1418, 1419, 1430, 1431, 1442, 1443, 1457, 1458, 1493, 1494, 1520, 1521, 1531, 1532, 1548, 1549, 1556, 1557, 1566, 1567, 1589, 1590, 1610, 1611, 1626, 1627, 1638, 1639, 1650, 1651, 1694, 1695, 1713, 1714, 1797, 1798, 1856, 1857, 1929, 1930, 1942, 1943, 1969, 1970, 1980, 1981, 2004, 2005], "summary": {"covered_lines": 178, "num_statements": 1015, "percent_covered": 17.536945812807883, "percent_covered_display": "18", "missing_lines": 837, "excluded_lines": 0}, "missing_lines": [83, 84, 89, 90, 91, 92, 93, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 129, 133, 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 159, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 210, 211, 216, 217, 218, 227, 228, 229, 230, 231, 235, 239, 247, 248, 249, 250, 251, 252, 253, 259, 260, 261, 262, 263, 264, 265, 266, 267, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 295, 301, 311, 324, 328, 332, 333, 334, 335, 336, 337, 338, 339, 343, 347, 352, 353, 354, 355, 356, 357, 358, 359, 360, 364, 365, 366, 367, 368, 369, 372, 373, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, 412, 422, 423, 427, 428, 433, 434, 435, 436, 437, 438, 442, 443, 444, 451, 452, 453, 454, 455, 472, 473, 474, 475, 476, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 513, 514, 515, 516, 517, 518, 519, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, 552, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 599, 600, 601, 610, 611, 612, 613, 614, 624, 625, 626, 627, 628, 629, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 648, 649, 650, 651, 652, 653, 669, 670, 671, 672, 673, 682, 709, 710, 711, 712, 713, 714, 731, 732, 733, 734, 735, 736, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 775, 776, 777, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 809, 810, 811, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 838, 839, 840, 848, 849, 850, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 879, 880, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 938, 947, 948, 949, 950, 959, 960, 961, 962, 963, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 1000, 1001, 1002, 1004, 1006, 1007, 1017, 1019, 1030, 1032, 1033, 1034, 1043, 1044, 1045, 1050, 1052, 1053, 1058, 1059, 1060, 1065, 1067, 1068, 1075, 1076, 1077, 1082, 1084, 1085, 1090, 1091, 1092, 1097, 1099, 1100, 1109, 1111, 1112, 1113, 1118, 1119, 1120, 1125, 1127, 1128, 1133, 1141, 1143, 1158, 1159, 1160, 1161, 1162, 1179, 1180, 1181, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1221, 1222, 1223, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1245, 1246, 1247, 1257, 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1272, 1273, 1274, 1275, 1276, 1287, 1288, 1289, 1291, 1292, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1311, 1312, 1313, 1314, 1315, 1323, 1324, 1325, 1326, 1327, 1334, 1335, 1336, 1337, 1340, 1341, 1343, 1344, 1345, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1375, 1377, 1378, 1380, 1381, 1383, 1384, 1392, 1393, 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1413, 1414, 1415, 1423, 1424, 1425, 1426, 1427, 1435, 1436, 1437, 1438, 1439, 1447, 1448, 1449, 1451, 1452, 1453, 1454, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1480, 1484, 1488, 1489, 1490, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1512, 1514, 1517, 1525, 1526, 1527, 1528, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1550, 1551, 1552, 1553, 1559, 1560, 1561, 1562, 1563, 1571, 1572, 1573, 1574, 1576, 1577, 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1631, 1632, 1633, 1634, 1635, 1643, 1644, 1645, 1646, 1647, 1658, 1659, 1661, 1662, 1663, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1683, 1699, 1700, 1701, 1702, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1738, 1739, 1750, 1751, 1752, 1753, 1757, 1761, 1762, 1763, 1764, 1768, 1769, 1774, 1775, 1776, 1780, 1781, 1782, 1790, 1791, 1792, 1793, 1794, 1802, 1803, 1804, 1806, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1834, 1836, 1837, 1839, 1840, 1841, 1846, 1848, 1849, 1852, 1853, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1884, 1885, 1890, 1891, 1892, 1901, 1903, 1905, 1907, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1926, 1934, 1935, 1936, 1937, 1939, 1947, 1948, 1949, 1950, 1952, 1962, 1964, 1965, 1966, 1974, 1975, 1976, 1977, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2008, 2009, 2011], "excluded_lines": []}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74], "excluded_lines": []}, "_gui_backend_available": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82], "excluded_lines": []}, "_prime_tui2_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [93, 94, 103, 104, 105], "excluded_lines": [114, 115]}, "_launch_legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173], "excluded_lines": []}, "root_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [179, 180, 181], "excluded_lines": []}, "tui2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242], "excluded_lines": []}, "legacy_tui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "gui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 77, 85, 118, 124, 125, 176, 177, 184, 185, 245, 246, 252, 253], "excluded_lines": [333, 334]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 28, 35, 41, 47, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 71, 72, 73, 74, 77, 79, 80, 81, 82, 85, 93, 94, 103, 104, 105, 118, 120, 121, 124, 125, 138, 144, 145, 146, 148, 149, 150, 154, 156, 166, 167, 169, 173, 176, 177, 179, 180, 181, 184, 185, 199, 200, 201, 203, 204, 205, 206, 207, 211, 212, 216, 218, 228, 229, 231, 232, 236, 238, 242, 245, 246, 248, 249, 252, 253, 266, 267, 268, 270, 271, 275, 277, 278, 279, 281, 282, 287, 289, 292, 293, 295, 300, 301, 312, 313, 314, 319, 321, 322, 326, 328, 330], "excluded_lines": [114, 115, 333, 334]}}}, "src/seedpass/cli/agent.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409], "functions": {"_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [168], "excluded_lines": []}, "_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [172], "excluded_lines": []}, "_token_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [176], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [180], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "_ensure_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [188], "excluded_lines": []}, "_mask_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [192, 193, 194, 195, 196], "excluded_lines": []}, "_automation_job_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [211, 220, 221, 222, 223, 226], "excluded_lines": []}, "_cron_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [230], "excluded_lines": []}, "_systemd_templates": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [236, 246, 259], "excluded_lines": []}, "_resolve_secret_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287], "excluded_lines": []}, "_deny_all_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [291, 310], "excluded_lines": []}, "_normalize_legacy_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380], "excluded_lines": []}, "_validate_rule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 2}, "missing_lines": [384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413], "excluded_lines": [408, 409]}, "_normalize_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0}, "missing_lines": [417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554], "excluded_lines": []}, "_load_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578], "excluded_lines": []}, "_save_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [582, 583, 584, 585, 586], "excluded_lines": []}, "_load_policy_from_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [590, 591, 592, 593, 594, 595, 596], "excluded_lines": []}, "_policy_json_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [600], "excluded_lines": []}, "_policy_full_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [604, 607], "excluded_lines": []}, "_policy_diff_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [613, 614, 616, 617, 618, 619, 620, 626], "excluded_lines": []}, "_agent_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [651, 652, 659, 660], "excluded_lines": []}, "_seed_from_inputs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684], "excluded_lines": []}, "_load_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [688, 689, 690, 691, 692, 693, 694, 695, 696, 697], "excluded_lines": []}, "_save_token_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [701, 702, 703, 704], "excluded_lines": []}, "_hash_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [708], "excluded_lines": []}, "_issue_token_record": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [720, 721, 722, 723, 736], "excluded_lines": []}, "_parse_iso8601": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [740, 741, 742, 743], "excluded_lines": []}, "_validate_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796], "excluded_lines": []}, "_load_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [800, 801, 802, 803, 804, 805, 806, 807], "excluded_lines": []}, "_append_audit_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837], "excluded_lines": []}, "_policy_decision": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880], "excluded_lines": []}, "_build_entry_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [884], "excluded_lines": []}, "_high_risk_lock_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [888, 889, 890, 891, 892, 893, 894, 895, 896], "excluded_lines": []}, "_hydrate_partition_entry_if_needed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [906, 907, 908, 909, 910, 911, 912, 913, 914], "excluded_lines": []}, "_token_posture_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943], "excluded_lines": []}, "_severity_rank": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [953, 954], "excluded_lines": []}, "_posture_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218], "excluded_lines": []}, "_runtime_config_findings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277], "excluded_lines": []}, "_remediation_actions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412], "excluded_lines": []}, "agent_init": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523], "excluded_lines": []}, "agent_policy_show": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1529, 1530, 1531, 1532, 1533], "excluded_lines": []}, "agent_policy_lint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571], "excluded_lines": []}, "agent_policy_review": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633], "excluded_lines": []}, "agent_policy_apply": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685], "excluded_lines": []}, "agent_policy_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724], "excluded_lines": []}, "agent_identity_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760], "excluded_lines": []}, "agent_identity_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1768], "excluded_lines": []}, "agent_identity_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1785, 1786, 1787, 1788, 1789, 1790], "excluded_lines": []}, "agent_high_risk_factor_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1823, 1830, 1831, 1832, 1833, 1834], "excluded_lines": []}, "agent_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915], "excluded_lines": []}, "agent_high_risk_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1931, 1932, 1933, 1934, 1935, 1939], "excluded_lines": []}, "agent_high_risk_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1951, 1952, 1953, 1954, 1955, 1965], "excluded_lines": []}, "agent_high_risk_partition_migrate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075], "excluded_lines": []}, "agent_token_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174], "excluded_lines": []}, "agent_token_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2198, 2199, 2200, 2201, 2202, 2203, 2217], "excluded_lines": []}, "agent_token_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242], "excluded_lines": []}, "agent_approval_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2280, 2287, 2297], "excluded_lines": []}, "agent_approval_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2305, 2306], "excluded_lines": []}, "agent_approval_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2320, 2321, 2324, 2325, 2326], "excluded_lines": []}, "agent_lease_consume": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0}, "missing_lines": [2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520], "excluded_lines": []}, "agent_lease_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2528, 2529], "excluded_lines": []}, "agent_lease_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2537, 2538, 2539, 2540, 2541, 2542], "excluded_lines": []}, "agent_job_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2614, 2615, 2616, 2621, 2622, 2624], "excluded_lines": []}, "agent_job_template": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754], "excluded_lines": []}, "agent_job_profile_create": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857], "excluded_lines": []}, "agent_job_profile_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2867, 2868], "excluded_lines": []}, "agent_job_profile_revoke": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "agent_job_profile_run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958], "excluded_lines": []}, "agent_job_profile_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061], "excluded_lines": []}, "agent_recovery_split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108], "excluded_lines": []}, "agent_recovery_recover": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144], "excluded_lines": []}, "agent_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3169, 3170, 3176, 3177, 3178], "excluded_lines": []}, "agent_recovery_drill_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3186, 3187], "excluded_lines": []}, "agent_bootstrap_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313], "excluded_lines": []}, "agent_posture_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439], "excluded_lines": []}, "agent_posture_remediate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544], "excluded_lines": []}, "agent_export_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618], "excluded_lines": []}, "agent_export_manifest_verify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672], "excluded_lines": []}, "agent_document_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855], "excluded_lines": []}, "agent_document_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0}, "missing_lines": [3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142], "excluded_lines": []}, "agent_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 96, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 96, "excluded_lines": 0}, "missing_lines": [4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 166, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 166, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 171, 175, 179, 183, 187, 191, 199, 229, 233, 262, 290, 313, 383, 416, 557, 581, 589, 599, 603, 610, 643, 663, 687, 700, 707, 711, 739, 746, 799, 810, 840, 883, 887, 899, 917, 952, 957, 1221, 1280, 1415, 1416, 1526, 1527, 1536, 1537, 1574, 1575, 1636, 1637, 1688, 1689, 1727, 1728, 1763, 1764, 1780, 1781, 1793, 1794, 1837, 1838, 1928, 1929, 1948, 1949, 1968, 1969, 2078, 2079, 2193, 2194, 2220, 2221, 2245, 2246, 2300, 2301, 2315, 2316, 2329, 2330, 2523, 2524, 2532, 2533, 2547, 2548, 2641, 2642, 2757, 2758, 2862, 2863, 2873, 2874, 2886, 2887, 2976, 2977, 3064, 3065, 3111, 3112, 3147, 3148, 3181, 3182, 3196, 3197, 3316, 3317, 3442, 3443, 3547, 3548, 3621, 3622, 3675, 3676, 3858, 3859, 4145, 4146], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1539, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1539, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 29, 37, 43, 50, 56, 62, 72, 76, 80, 81, 82, 83, 84, 85, 86, 87, 89, 96, 104, 162, 163, 164, 167, 168, 171, 172, 175, 176, 179, 180, 183, 184, 187, 188, 191, 192, 193, 194, 195, 196, 199, 211, 220, 221, 222, 223, 226, 229, 230, 233, 236, 246, 259, 262, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 290, 291, 310, 313, 315, 316, 317, 318, 320, 325, 331, 332, 343, 344, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 388, 389, 390, 391, 392, 393, 395, 396, 397, 398, 399, 400, 402, 403, 404, 405, 406, 407, 411, 412, 413, 416, 417, 418, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 438, 439, 440, 441, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 465, 466, 467, 468, 469, 470, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 486, 487, 488, 489, 490, 491, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 510, 511, 512, 513, 514, 520, 521, 522, 523, 528, 536, 545, 546, 547, 549, 551, 552, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 568, 569, 570, 571, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 600, 603, 604, 607, 610, 613, 614, 616, 617, 618, 619, 620, 626, 643, 651, 652, 659, 660, 663, 668, 669, 670, 673, 674, 675, 676, 681, 682, 683, 684, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 700, 701, 702, 703, 704, 707, 708, 711, 720, 721, 722, 723, 736, 739, 740, 741, 742, 743, 746, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 765, 766, 767, 769, 770, 771, 773, 774, 775, 776, 777, 778, 780, 781, 782, 784, 785, 786, 787, 788, 790, 791, 792, 794, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 810, 811, 812, 813, 815, 816, 817, 818, 819, 820, 821, 822, 823, 825, 831, 832, 833, 835, 836, 837, 840, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 875, 876, 878, 879, 880, 883, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 899, 906, 907, 908, 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 952, 953, 954, 957, 960, 961, 962, 971, 972, 981, 982, 991, 996, 997, 998, 999, 1008, 1009, 1018, 1019, 1028, 1029, 1030, 1031, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1060, 1068, 1069, 1077, 1078, 1086, 1087, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1110, 1111, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1168, 1169, 1170, 1172, 1173, 1181, 1182, 1190, 1191, 1199, 1200, 1208, 1209, 1218, 1221, 1222, 1223, 1224, 1225, 1227, 1228, 1229, 1237, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1251, 1260, 1261, 1262, 1263, 1266, 1274, 1275, 1277, 1280, 1281, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1409, 1410, 1411, 1412, 1415, 1416, 1463, 1464, 1471, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1486, 1487, 1488, 1489, 1490, 1492, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1523, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1536, 1537, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1574, 1575, 1585, 1586, 1587, 1588, 1589, 1598, 1599, 1600, 1603, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1637, 1649, 1650, 1651, 1652, 1655, 1656, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1684, 1685, 1688, 1689, 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1727, 1728, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1760, 1763, 1764, 1768, 1780, 1781, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1823, 1830, 1831, 1832, 1833, 1834, 1837, 1838, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1907, 1915, 1928, 1929, 1931, 1932, 1933, 1934, 1935, 1939, 1948, 1949, 1951, 1952, 1953, 1954, 1955, 1965, 1968, 1969, 2023, 2024, 2025, 2027, 2034, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2052, 2053, 2054, 2061, 2067, 2075, 2078, 2079, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2130, 2131, 2137, 2138, 2143, 2144, 2145, 2155, 2156, 2157, 2158, 2159, 2161, 2174, 2193, 2194, 2198, 2199, 2200, 2201, 2202, 2203, 2217, 2220, 2221, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2234, 2235, 2238, 2240, 2241, 2242, 2245, 2246, 2280, 2287, 2297, 2300, 2301, 2305, 2306, 2315, 2316, 2320, 2321, 2324, 2325, 2326, 2329, 2330, 2364, 2365, 2368, 2369, 2370, 2371, 2373, 2374, 2375, 2380, 2381, 2382, 2383, 2389, 2390, 2392, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2418, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2429, 2430, 2438, 2439, 2448, 2449, 2451, 2452, 2453, 2454, 2463, 2464, 2466, 2467, 2468, 2471, 2472, 2481, 2482, 2483, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2508, 2520, 2523, 2524, 2528, 2529, 2532, 2533, 2537, 2538, 2539, 2540, 2541, 2542, 2547, 2548, 2614, 2615, 2616, 2621, 2622, 2624, 2641, 2642, 2689, 2690, 2691, 2692, 2693, 2705, 2706, 2721, 2722, 2724, 2727, 2728, 2729, 2731, 2732, 2733, 2735, 2742, 2743, 2745, 2754, 2757, 2758, 2809, 2810, 2811, 2812, 2813, 2814, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2842, 2843, 2844, 2845, 2846, 2857, 2862, 2863, 2867, 2868, 2873, 2874, 2878, 2879, 2880, 2881, 2882, 2883, 2886, 2887, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2931, 2932, 2933, 2934, 2935, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2956, 2957, 2958, 2976, 2977, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3009, 3010, 3011, 3021, 3022, 3023, 3024, 3034, 3035, 3036, 3037, 3038, 3039, 3048, 3049, 3050, 3059, 3060, 3061, 3064, 3065, 3085, 3086, 3087, 3090, 3091, 3097, 3098, 3099, 3100, 3101, 3108, 3111, 3112, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3144, 3147, 3148, 3169, 3170, 3176, 3177, 3178, 3181, 3182, 3186, 3187, 3196, 3197, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3210, 3313, 3316, 3317, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3386, 3387, 3388, 3389, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3410, 3424, 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3438, 3439, 3442, 3443, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3505, 3506, 3507, 3508, 3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3527, 3528, 3529, 3542, 3543, 3544, 3547, 3548, 3568, 3569, 3570, 3571, 3572, 3579, 3580, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3593, 3594, 3601, 3602, 3603, 3604, 3606, 3616, 3617, 3618, 3621, 3622, 3633, 3634, 3635, 3636, 3643, 3644, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3655, 3657, 3658, 3670, 3671, 3672, 3675, 3676, 3718, 3719, 3720, 3721, 3728, 3730, 3731, 3732, 3733, 3734, 3739, 3740, 3742, 3743, 3749, 3758, 3759, 3761, 3762, 3763, 3769, 3778, 3779, 3781, 3782, 3783, 3790, 3791, 3797, 3806, 3807, 3809, 3810, 3811, 3812, 3819, 3820, 3821, 3827, 3828, 3830, 3840, 3841, 3842, 3844, 3855, 3858, 3859, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3917, 3924, 3926, 3927, 3928, 3929, 3930, 3935, 3936, 3938, 3939, 3944, 3952, 3953, 3955, 3956, 3957, 3962, 3970, 3971, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3992, 4001, 4002, 4003, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4020, 4021, 4023, 4024, 4025, 4032, 4033, 4040, 4050, 4051, 4053, 4054, 4055, 4063, 4074, 4075, 4076, 4081, 4082, 4083, 4091, 4103, 4104, 4106, 4107, 4108, 4109, 4115, 4116, 4118, 4127, 4128, 4129, 4131, 4142, 4145, 4146, 4207, 4208, 4209, 4210, 4217, 4219, 4220, 4221, 4222, 4223, 4228, 4229, 4231, 4232, 4233, 4234, 4235, 4251, 4260, 4261, 4263, 4264, 4265, 4266, 4267, 4268, 4270, 4271, 4279, 4280, 4287, 4297, 4298, 4300, 4301, 4302, 4303, 4310, 4320, 4321, 4322, 4323, 4324, 4327, 4328, 4335, 4336, 4337, 4338, 4340, 4341, 4342, 4349, 4350, 4357, 4367, 4368, 4370, 4371, 4372, 4380, 4391, 4392, 4393, 4398, 4399, 4400, 4408, 4420, 4421, 4423, 4424, 4425, 4426, 4435, 4447, 4448, 4449, 4450, 4463, 4464, 4466, 4467, 4468, 4469, 4470, 4471, 4473, 4474, 4475, 4477, 4490, 4491, 4492, 4494, 4506], "excluded_lines": [408, 409]}}}, "src/seedpass/cli/api.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99], "functions": {"api_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80], "excluded_lines": []}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [90, 92, 93], "excluded_lines": [98, 99]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 83, 84], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 2}, "missing_lines": [1, 3, 5, 6, 7, 9, 10, 15, 18, 19, 58, 59, 60, 61, 63, 66, 67, 74, 75, 76, 77, 80, 83, 84, 90, 92, 93], "excluded_lines": [98, 99]}}}, "src/seedpass/cli/capabilities.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": [], "functions": {"build_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "emit_capabilities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292], "excluded_lines": []}, "register_capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [297], "excluded_lines": []}, "register_capabilities_command.capabilities_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [306], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 254, 295, 296], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 7, 10, 12, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 277, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, 306], "excluded_lines": []}}}, "src/seedpass/cli/common.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 29, 30, 31, 32, 33, 34], "excluded_lines": []}, "_get_services": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [42, 43], "excluded_lines": []}, "_get_entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "_get_config_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [52, 53], "excluded_lines": []}, "_get_util_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}, "_get_nostr_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [62, 63], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": []}}}, "src/seedpass/cli/config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 16, 18], "excluded_lines": []}, "config_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [24, 26, 27, 32, 33, 34, 35, 40], "excluded_lines": [36, 37, 38]}, "config_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 6}, "missing_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91], "excluded_lines": [54, 55, 56, 86, 87, 88]}, "config_toggle_offline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 6}, "missing_lines": [97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [100, 101, 102, 119, 120, 121]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121]}}}, "src/seedpass/cli/entry.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52], "excluded_lines": []}, "entry_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "entry_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122], "excluded_lines": []}, "entry_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174], "excluded_lines": []}, "entry_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [190, 191, 199], "excluded_lines": []}, "entry_add_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [210, 211, 216], "excluded_lines": []}, "entry_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [229, 230, 237], "excluded_lines": []}, "entry_add_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [248, 249, 254], "excluded_lines": []}, "entry_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [266, 267, 273], "excluded_lines": []}, "entry_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [285, 286, 287], "excluded_lines": []}, "entry_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [298, 299, 304], "excluded_lines": []}, "entry_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [316, 317, 323], "excluded_lines": []}, "entry_import_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [334, 335, 336], "excluded_lines": []}, "entry_export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [351, 352, 353], "excluded_lines": []}, "entry_modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413], "excluded_lines": []}, "entry_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [422, 423, 424, 425, 426, 427, 428], "excluded_lines": []}, "entry_link_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [440, 441, 442, 443, 444, 445, 446], "excluded_lines": []}, "entry_link_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [459, 460, 461, 462, 463, 464, 465], "excluded_lines": []}, "entry_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [471, 472, 473], "excluded_lines": []}, "entry_unarchive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [479, 480, 481], "excluded_lines": []}, "entry_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [487, 488], "excluded_lines": []}, "entry_export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 55, 56, 83, 84, 125, 126, 177, 178, 202, 203, 219, 220, 240, 241, 257, 258, 276, 277, 290, 291, 307, 308, 326, 327, 339, 340, 356, 357, 416, 417, 431, 432, 449, 450, 468, 469, 476, 477, 484, 485, 491, 492], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 17, 18, 20, 23, 24, 38, 39, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 122, 125, 126, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 177, 178, 190, 191, 199, 202, 203, 210, 211, 216, 219, 220, 229, 230, 237, 240, 241, 248, 249, 254, 257, 258, 266, 267, 273, 276, 277, 285, 286, 287, 290, 291, 298, 299, 304, 307, 308, 316, 317, 323, 326, 327, 334, 335, 336, 339, 340, 351, 352, 353, 356, 357, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 410, 411, 412, 413, 416, 417, 422, 423, 424, 425, 426, 427, 428, 431, 432, 440, 441, 442, 443, 444, 445, 446, 449, 450, 459, 460, 461, 462, 463, 464, 465, 468, 469, 471, 472, 473, 476, 477, 479, 480, 481, 484, 485, 487, 488, 491, 492, 502, 503, 504, 505, 506, 515, 516, 517, 525, 526, 527, 528], "excluded_lines": []}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [13, 14, 15], "excluded_lines": []}, "fingerprint_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "fingerprint_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [28, 29], "excluded_lines": []}, "fingerprint_switch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [35, 36, 37], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": []}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25], "excluded_lines": []}, "nostr_get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [31, 32, 33], "excluded_lines": []}, "nostr_list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [39, 40, 41, 42], "excluded_lines": []}, "nostr_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [48, 49, 50, 54], "excluded_lines": [51, 52, 53]}, "nostr_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [60, 61, 62, 66], "excluded_lines": [63, 64, 65]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65]}}}, "src/seedpass/cli/util.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [64, 65], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [71, 72], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": []}}}, "src/seedpass/cli/vault.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252], "functions": {"_isolation_required_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "vault_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169], "excluded_lines": []}, "vault_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "vault_change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 3}, "missing_lines": [186, 187, 188, 189, 190, 196], "excluded_lines": [193, 194, 195]}, "vault_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 3}, "missing_lines": [232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254], "excluded_lines": [250, 251, 252]}, "vault_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "vault_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [270, 271, 272], "excluded_lines": []}, "vault_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 48, 49, 172, 173, 183, 184, 199, 200, 259, 260, 267, 268, 275, 276], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 135, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 135, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 8, 10, 16, 23, 24, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 86, 87, 88, 100, 101, 102, 103, 104, 113, 114, 115, 116, 117, 118, 127, 128, 129, 134, 135, 136, 145, 146, 147, 157, 159, 160, 161, 162, 163, 166, 167, 168, 169, 172, 173, 177, 178, 179, 180, 183, 184, 186, 187, 188, 189, 190, 196, 199, 200, 232, 234, 235, 237, 238, 239, 246, 247, 248, 249, 253, 254, 259, 260, 262, 263, 264, 267, 268, 270, 271, 272, 275, 276, 293, 294, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 315, 316, 317, 322, 323, 324, 333, 334, 335, 336, 339, 340], "excluded_lines": [193, 194, 195, 250, 251, 252]}}}, "src/seedpass/core/__init__.py": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}, "": {"executed_lines": [3, 5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}}}, "src/seedpass/core/agent_approval.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52], "excluded_lines": []}, "issue_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 76, 77, 78], "excluded_lines": []}, "approval_required": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_approvals": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96], "excluded_lines": []}, "revoke_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "consume_approval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 20, 24, 28, 35, 48, 55, 81, 92, 99, 113], "summary": {"covered_lines": 20, "num_statements": 92, "percent_covered": 21.73913043478261, "percent_covered_display": "22", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [21, 25, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 63, 64, 65, 66, 76, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "excluded_lines": []}}}, "src/seedpass/core/agent_export_policy.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": [], "functions": {"_policy_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "_audit_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [54], "excluded_lines": []}, "_audit_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [58], "excluded_lines": []}, "_ensure_parent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [62], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [66], "excluded_lines": []}, "_load_or_create_audit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 75, 76, 77], "excluded_lines": []}, "_previous_signature": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "record_export_policy_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 104, 105, 108, 109, 110, 111, 112], "excluded_lines": []}, "load_export_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185], "excluded_lines": []}, "full_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [189], "excluded_lines": []}, "allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [196, 197, 198, 199], "excluded_lines": []}, "kind_export_allowed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [203], "excluded_lines": []}, "evaluate_full_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [207, 208, 209], "excluded_lines": []}, "evaluate_kind_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [213, 214, 215], "excluded_lines": []}, "filter_index_for_allowed_kinds": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": []}, "_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [238, 260, 261], "excluded_lines": []}, "_canonical_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [265], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [269, 270, 271, 272], "excluded_lines": []}, "_sorted_index_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [276, 282], "excluded_lines": []}, "_sorted_index_keys._key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [277, 278, 279, 280], "excluded_lines": []}, "compute_policy_stamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [287], "excluded_lines": []}, "_redacted_copy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [291, 292, 293, 294, 296, 297], "excluded_lines": []}, "build_policy_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342], "excluded_lines": []}, "verify_filtered_export_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0}, "missing_lines": [353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 41, 42, 43, 44, 45, 46, 49, 53, 57, 61, 65, 69, 80, 94, 115, 188, 195, 202, 206, 212, 218, 237, 264, 268, 275, 285, 290, 300, 349], "summary": {"covered_lines": 42, "num_statements": 245, "percent_covered": 17.142857142857142, "percent_covered_display": "17", "missing_lines": 203, "excluded_lines": 0}, "missing_lines": [50, 54, 58, 62, 66, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 96, 97, 98, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 150, 151, 152, 153, 154, 167, 170, 176, 177, 180, 185, 189, 196, 197, 198, 199, 203, 207, 208, 209, 213, 214, 215, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 238, 260, 261, 265, 269, 270, 271, 272, 276, 277, 278, 279, 280, 282, 287, 291, 292, 293, 294, 296, 297, 303, 304, 307, 308, 309, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 327, 342, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 405, 406, 408, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 436, 437, 439], "excluded_lines": []}}}, "src/seedpass/core/agent_identity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_identities": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "ensure_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102], "excluded_lines": []}, "revoke_identity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "excluded_lines": []}, "identity_active": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [128, 129, 130, 131], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 92, 110, 127], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 18, 19, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 63, 70, 71, 72, 73, 74, 76, 84, 85, 86, 87, 88, 89, 92, 99, 100, 101, 102, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 130, 131], "excluded_lines": []}}}, "src/seedpass/core/agent_job.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [23], "excluded_lines": []}, "_load_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": []}, "_save_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "list_job_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 50], "excluded_lines": []}, "get_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "create_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "revoke_job_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 14, 18, 22, 26, 39, 46, 53, 63, 115], "summary": {"covered_lines": 17, "num_statements": 71, "percent_covered": 23.943661971830984, "percent_covered_display": "24", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [15, 19, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 82, 83, 84, 85, 86, 87, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": []}}}, "src/seedpass/core/agent_recovery.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": [], "functions": {"_utcnow_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "_mod_inv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "_coef": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [29, 30, 31], "excluded_lines": []}, "_poly_eval_at_x": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39, 40], "excluded_lines": []}, "_parse_share_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "excluded_lines": []}, "split_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105], "excluded_lines": []}, "recover_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "excluded_lines": []}, "_drill_key_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [156], "excluded_lines": []}, "_drill_log_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [160], "excluded_lines": []}, "_load_drill_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [164, 165, 166, 167, 168, 169, 170, 171], "excluded_lines": []}, "_latest_drill_sig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "excluded_lines": []}, "record_recovery_drill": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236], "excluded_lines": []}, "list_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": []}, "verify_recovery_drills": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 19, 23, 27, 34, 43, 75, 108, 155, 159, 163, 174, 187, 239, 255], "summary": {"covered_lines": 27, "num_statements": 214, "percent_covered": 12.616822429906541, "percent_covered_display": "13", "missing_lines": 187, "excluded_lines": 0}, "missing_lines": [20, 24, 29, 30, 31, 35, 36, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 104, 105, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 160, 164, 165, 166, 167, 168, 169, 170, 171, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 194, 195, 196, 197, 198, 199, 200, 201, 206, 208, 222, 223, 224, 225, 226, 231, 232, 233, 234, 235, 236, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 287, 288, 289, 290, 291], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_isolation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": [], "functions": {"_factor_hash_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "_partition_envelope_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [26], "excluded_lines": []}, "_session_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [30], "excluded_lines": []}, "_session_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [34], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [49], "excluded_lines": []}, "_load_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "excluded_lines": []}, "_save_session_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69], "excluded_lines": []}, "_factor_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [73], "excluded_lines": []}, "_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [77], "excluded_lines": []}, "_derive_wrapping_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 88], "excluded_lines": []}, "_build_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [92, 93, 94, 95], "excluded_lines": []}, "_load_partition_envelope": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "excluded_lines": []}, "_unwrap_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "excluded_lines": []}, "set_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [134, 135, 138, 139, 140, 142, 143, 144, 145, 146], "excluded_lines": []}, "high_risk_factor_configured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154], "excluded_lines": []}, "verify_high_risk_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173], "excluded_lines": []}, "unwrap_high_risk_partition_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180], "excluded_lines": []}, "grant_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [186, 187, 193, 194, 195, 200, 201, 202, 203], "excluded_lines": []}, "high_risk_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229], "excluded_lines": []}, "revoke_high_risk_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [233, 234, 235, 236, 237, 240, 241, 242, 243, 244], "excluded_lines": []}, "unlocked_partition_key_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262], "excluded_lines": []}, "partition_key_tag_for_factor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [266, 267], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 21, 25, 29, 33, 37, 41, 48, 52, 65, 72, 76, 80, 91, 104, 117, 133, 149, 157, 176, 183, 206, 232, 247, 265], "summary": {"covered_lines": 38, "num_statements": 185, "percent_covered": 20.54054054054054, "percent_covered_display": "21", "missing_lines": 147, "excluded_lines": 0}, "missing_lines": [22, 26, 30, 34, 38, 42, 43, 44, 45, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 73, 77, 81, 88, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 135, 138, 139, 140, 142, 143, 144, 145, 146, 150, 151, 152, 153, 154, 158, 159, 160, 161, 162, 163, 164, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 186, 187, 193, 194, 195, 200, 201, 202, 203, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 234, 235, 236, 237, 240, 241, 242, 243, 244, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 266, 267], "excluded_lines": []}}}, "src/seedpass/core/agent_secret_lease.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": [], "functions": {"_store_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [17], "excluded_lines": []}, "_lock_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "_utcnow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "_parse_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [29, 30, 31, 32], "excluded_lines": []}, "_empty_store": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "_load_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], "excluded_lines": []}, "_save_store_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56], "excluded_lines": []}, "issue_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [69, 70, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": []}, "list_leases": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [93, 94, 95, 96, 97], "excluded_lines": []}, "revoke_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111], "excluded_lines": []}, "consume_lease": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 20, 24, 28, 35, 39, 52, 59, 92, 100, 114], "summary": {"covered_lines": 21, "num_statements": 88, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 67, "excluded_lines": 0}, "missing_lines": [17, 21, 25, 29, 30, 31, 32, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 69, 70, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": []}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 121, 122, 124, 127, 128, 129, 131, 134, 135, 136, 138, 141, 142, 143, 146, 148, 151, 152, 155, 156, 157, 159, 162, 163, 165, 168, 169, 170, 172, 175, 176, 178, 181, 182, 186, 189, 190, 193, 194, 196, 197, 198, 200, 203, 204, 206, 209, 210, 211, 215, 218, 219, 221, 224, 225, 227, 236, 237, 239, 240, 241, 243, 246, 247, 248, 249, 250, 251, 252, 254, 257, 258, 260, 263, 264, 267, 268, 270, 271, 272, 274, 280, 281, 287, 305, 306, 307, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 325, 326, 327, 330, 332, 339, 341, 342, 346, 348, 349, 353, 355, 356, 360, 362, 363, 367, 369, 370, 374, 376, 377, 378, 379, 380, 385, 387, 388, 389, 390, 391, 396, 398, 399, 400, 401, 402, 407, 409, 425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452, 454, 464, 465, 466, 475, 476, 478, 485, 486, 492, 493, 495, 504, 505, 513, 514, 516, 523, 524, 530, 531, 533, 541, 542, 549, 550, 552, 555, 556, 559, 560, 562, 569, 570, 576, 577, 579, 601, 621, 635, 654, 655, 672, 674, 689, 703, 707, 708, 709, 710, 712, 713, 714, 715, 717, 718, 719, 722, 724, 725, 726, 728, 729, 730, 732, 733, 734, 737, 738, 740, 741, 742, 744, 745, 746, 748, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 802, 803, 804, 806, 807, 808, 810, 811, 812, 813, 814, 815, 816, 818, 819, 820, 822, 823, 824, 825, 826, 829, 830, 832, 833, 834, 836, 849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878, 881, 882, 883, 885, 886, 887, 890, 891, 893, 894, 895, 897, 898, 899, 901, 902, 903, 905, 906, 907, 908, 912, 913, 914, 915, 919, 931, 932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945, 947, 949, 950, 951, 953, 954, 955, 956, 957, 958, 960, 962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 402, "num_statements": 464, "percent_covered": 86.63793103448276, "percent_covered_display": "87", "missing_lines": 62, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233, 334, 335, 381, 382, 383, 392, 393, 394, 403, 404, 406, 428, 430, 432, 434, 436, 438, 440, 442, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705, 856, 858, 860, 864, 866, 868, 879, 920, 921, 923, 924, 925, 926, 927, 928, 929, 937, 952, 965], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_vault": {"executed_lines": [127, 128, 129], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_vault": {"executed_lines": [134, 135, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.export_profile": {"executed_lines": [141, 142, 143, 146], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.import_profile": {"executed_lines": [151, 152, 155, 156, 157], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.change_password": {"executed_lines": [162, 163], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.unlock": {"executed_lines": [168, 169, 170], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.lock": {"executed_lines": [175, 176], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.backup_parent_seed": {"executed_lines": [181, 182], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService.stats": {"executed_lines": [189, 190], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.__init__": {"executed_lines": [197, 198], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.list_profiles": {"executed_lines": [203, 204], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.add_profile": {"executed_lines": [209, 210, 211], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.remove_profile": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.switch_profile": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService.rename_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233], "excluded_lines": []}, "SyncService.__init__": {"executed_lines": [240, 241], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.sync": {"executed_lines": [246, 247, 248, 249, 250, 251, 252], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_sync": {"executed_lines": [257, 258], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncService.start_background_vault_sync": {"executed_lines": [263, 264], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.__init__": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.list_entries": {"executed_lines": [280, 281], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.search_entries": {"executed_lines": [305, 306, 307, 308, 309, 310, 311], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.retrieve_entry": {"executed_lines": [314, 315], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.generate_password": {"executed_lines": [318, 319, 320, 321, 322, 323], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_code": {"executed_lines": [326, 327, 330], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [334, 335], "excluded_lines": []}, "EntryService.get_seed_phrase": {"executed_lines": [341, 342], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_managed_account_seed": {"executed_lines": [348, 349], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_ssh_key_pair": {"executed_lines": [355, 356], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_pgp_key": {"executed_lines": [362, 363], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_nostr_key_pair": {"executed_lines": [369, 370], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.get_secret_mode_enabled": {"executed_lines": [376, 377, 378, 379, 380], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [381, 382, 383], "excluded_lines": []}, "EntryService.get_clipboard_clear_delay": {"executed_lines": [387, 388, 389, 390, 391], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [392, 393, 394], "excluded_lines": []}, "EntryService.copy_to_clipboard": {"executed_lines": [398, 399, 400, 401, 402, 407], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [403, 404, 406], "excluded_lines": []}, "EntryService.add_entry": {"executed_lines": [425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452], "summary": {"covered_lines": 13, "num_statements": 21, "percent_covered": 61.904761904761905, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [428, 430, 432, 434, 436, 438, 440, 442], "excluded_lines": []}, "EntryService.add_totp": {"executed_lines": [464, 465, 466, 475, 476], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_ssh_key": {"executed_lines": [485, 486, 492, 493], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_pgp_key": {"executed_lines": [504, 505, 513, 514], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_nostr_key": {"executed_lines": [523, 524, 530, 531], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_seed": {"executed_lines": [541, 542, 549, 550], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_key_value": {"executed_lines": [555, 556, 559, 560], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_managed_account": {"executed_lines": [569, 570, 576, 577], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [589, 590, 598, 599], "excluded_lines": []}, "EntryService.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [610, 611, 618, 619], "excluded_lines": []}, "EntryService.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [628, 629], "excluded_lines": []}, "EntryService.modify_entry": {"executed_lines": [654, 655, 672], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [682, 683, 686, 687], "excluded_lines": []}, "EntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [696, 697, 700, 701], "excluded_lines": []}, "EntryService.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [704, 705], "excluded_lines": []}, "EntryService.archive_entry": {"executed_lines": [708, 709, 710], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.restore_entry": {"executed_lines": [713, 714, 715], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.export_totp_entries": {"executed_lines": [718, 719, 722], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.display_totp_codes": {"executed_lines": [725, 726], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.load_managed_account": {"executed_lines": [729, 730], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService.exit_managed_account": {"executed_lines": [733, 734], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.__init__": {"executed_lines": [741, 742], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get": {"executed_lines": [745, 746], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set": {"executed_lines": [749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [803, 804], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [807, 808], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_secret_mode": {"executed_lines": [811, 812, 813, 814, 815, 816], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.get_offline_mode": {"executed_lines": [819, 820], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigService.set_offline_mode": {"executed_lines": [823, 824, 825, 826], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.__init__": {"executed_lines": [833, 834], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.generate_password": {"executed_lines": [849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878], "summary": {"covered_lines": 19, "num_statements": 26, "percent_covered": 73.07692307692308, "percent_covered_display": "73", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [856, 858, 860, 864, 866, 868, 879], "excluded_lines": []}, "UtilityService.verify_checksum": {"executed_lines": [882, 883], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService.update_checksum": {"executed_lines": [886, 887], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.__init__": {"executed_lines": [894, 895], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.get_pubkey": {"executed_lines": [898, 899], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.list_relays": {"executed_lines": [902, 903], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.add_relay": {"executed_lines": [906, 907, 908], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.remove_relay": {"executed_lines": [913, 914, 915], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "NostrService.reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [920, 921, 923, 924, 925, 926, 927, 928, 929], "excluded_lines": []}, "NostrService._clear_runtime_sync_state": {"executed_lines": [932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [937], "excluded_lines": []}, "NostrService.reset_sync_state": {"executed_lines": [949, 950, 951, 953, 954, 955, 956, 957, 958], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [952], "excluded_lines": []}, "NostrService.start_fresh_namespace": {"executed_lines": [962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [965], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService": {"executed_lines": [121, 122, 127, 128, 129, 134, 135, 136, 141, 142, 143, 146, 151, 152, 155, 156, 157, 162, 163, 168, 169, 170, 175, 176, 181, 182, 189, 190], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileService": {"executed_lines": [197, 198, 203, 204, 209, 210, 211, 218, 219, 224, 225], "summary": {"covered_lines": 11, "num_statements": 15, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [230, 231, 232, 233], "excluded_lines": []}, "SyncService": {"executed_lines": [240, 241, 246, 247, 248, 249, 250, 251, 252, 257, 258, 263, 264], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "EntryService": {"executed_lines": [271, 272, 280, 281, 305, 306, 307, 308, 309, 310, 311, 314, 315, 318, 319, 320, 321, 322, 323, 326, 327, 330, 341, 342, 348, 349, 355, 356, 362, 363, 369, 370, 376, 377, 378, 379, 380, 387, 388, 389, 390, 391, 398, 399, 400, 401, 402, 407, 425, 426, 427, 429, 431, 433, 435, 437, 439, 441, 444, 451, 452, 464, 465, 466, 475, 476, 485, 486, 492, 493, 504, 505, 513, 514, 523, 524, 530, 531, 541, 542, 549, 550, 555, 556, 559, 560, 569, 570, 576, 577, 654, 655, 672, 708, 709, 710, 713, 714, 715, 718, 719, 722, 725, 726, 729, 730, 733, 734], "summary": {"covered_lines": 108, "num_statements": 147, "percent_covered": 73.46938775510205, "percent_covered_display": "73", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [334, 335, 381, 382, 383, 392, 393, 394, 403, 404, 406, 428, 430, 432, 434, 436, 438, 440, 442, 589, 590, 598, 599, 610, 611, 618, 619, 628, 629, 682, 683, 686, 687, 696, 697, 700, 701, 704, 705], "excluded_lines": []}, "ConfigService": {"executed_lines": [741, 742, 745, 746, 749, 750, 786, 787, 788, 789, 790, 791, 792, 797, 798, 800, 803, 804, 807, 808, 811, 812, 813, 814, 815, 816, 819, 820, 823, 824, 825, 826], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UtilityService": {"executed_lines": [833, 834, 849, 850, 851, 852, 853, 854, 855, 857, 859, 861, 862, 863, 865, 867, 870, 871, 875, 876, 878, 882, 883, 886, 887], "summary": {"covered_lines": 25, "num_statements": 32, "percent_covered": 78.125, "percent_covered_display": "78", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [856, 858, 860, 864, 866, 868, 879], "excluded_lines": []}, "NostrService": {"executed_lines": [894, 895, 898, 899, 902, 903, 906, 907, 908, 913, 914, 915, 932, 933, 934, 935, 936, 938, 939, 940, 941, 942, 943, 944, 945, 949, 950, 951, 953, 954, 955, 956, 957, 958, 962, 963, 964, 966, 967, 968, 974, 975, 976, 977, 978, 979], "summary": {"covered_lines": 46, "num_statements": 58, "percent_covered": 79.3103448275862, "percent_covered_display": "79", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [920, 921, 923, 924, 925, 926, 927, 928, 929, 937, 952, 965], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 24, 25, 27, 30, 31, 33, 36, 37, 39, 42, 43, 45, 46, 49, 50, 52, 55, 56, 58, 61, 62, 64, 65, 68, 69, 71, 72, 75, 76, 78, 81, 82, 84, 85, 86, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 109, 110, 113, 114, 117, 118, 120, 124, 131, 138, 148, 159, 165, 172, 178, 186, 193, 194, 196, 200, 206, 215, 221, 227, 236, 237, 239, 243, 254, 260, 267, 268, 270, 274, 287, 313, 317, 325, 332, 339, 346, 353, 360, 367, 374, 385, 396, 409, 454, 478, 495, 516, 533, 552, 562, 579, 601, 621, 635, 674, 689, 703, 707, 712, 717, 724, 728, 732, 737, 738, 740, 744, 748, 802, 806, 810, 818, 822, 829, 830, 832, 836, 881, 885, 890, 891, 893, 897, 901, 905, 912, 919, 931, 947, 960], "summary": {"covered_lines": 139, "num_statements": 139, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/auth_broker.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": [], "functions": {"_password_from_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 18], "excluded_lines": []}, "_password_from_keyring": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [22, 23, 24, 25, 29, 30, 31, 34], "excluded_lines": []}, "_password_from_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "resolve_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 21, 37, 57], "excluded_lines": []}}, "classes": {"AuthBrokerError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 8, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 29, 30, 31, 34, 37, 38, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 57, 66, 67, 68, 69, 70, 71, 72, 73], "excluded_lines": []}}}, "src/seedpass/core/backup.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 116, "percent_covered": 16.379310344827587, "percent_covered_display": "16", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 55, 56, 57], "excluded_lines": []}, "BackupManager.create_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93], "excluded_lines": []}, "BackupManager._create_additional_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "excluded_lines": [108, 109]}, "BackupManager.restore_latest_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141], "excluded_lines": []}, "BackupManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164], "excluded_lines": []}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": []}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"BackupManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 97, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109]}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/compat.py": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11], "functions": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}, "classes": {"": {"executed_lines": [1, 3, 6, 7], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [6, 7, 8, 9, 11]}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 276, "percent_covered": 22.82608695652174, "percent_covered_display": "23", "missing_lines": 213, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": [19, 20], "functions": {"ConfigManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [56, 57, 58], "excluded_lines": []}, "ConfigManager.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149], "excluded_lines": []}, "ConfigManager.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [153, 154, 155, 156, 157, 158], "excluded_lines": []}, "ConfigManager.set_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [162, 163, 164, 165, 166], "excluded_lines": []}, "ConfigManager.set_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [170, 171, 172, 173], "excluded_lines": []}, "ConfigManager.verify_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [177, 178, 179, 180, 181], "excluded_lines": []}, "ConfigManager.change_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188], "excluded_lines": []}, "ConfigManager.set_password_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [192, 193, 194], "excluded_lines": []}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [198, 199, 200, 201, 202], "excluded_lines": []}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [206, 207], "excluded_lines": []}, "ConfigManager.set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 215], "excluded_lines": []}, "ConfigManager.get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [219, 220], "excluded_lines": []}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [224, 225, 226, 227, 228], "excluded_lines": []}, "ConfigManager.get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [232, 233], "excluded_lines": []}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [237, 238, 239, 240, 241], "excluded_lines": []}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [245, 246], "excluded_lines": []}, "ConfigManager.set_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [250, 251, 252], "excluded_lines": []}, "ConfigManager.get_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [256, 257, 258], "excluded_lines": []}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [262, 263, 264], "excluded_lines": []}, "ConfigManager.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [268, 269, 270], "excluded_lines": []}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [274, 275], "excluded_lines": []}, "ConfigManager.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [279, 280], "excluded_lines": []}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [284, 285, 286, 287, 288], "excluded_lines": []}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [292, 293], "excluded_lines": []}, "ConfigManager.set_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [297, 298, 299, 300, 301], "excluded_lines": []}, "ConfigManager.get_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [305, 306], "excluded_lines": []}, "ConfigManager.get_password_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [311, 313, 314], "excluded_lines": []}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [326, 327, 328], "excluded_lines": []}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [331, 332, 333], "excluded_lines": []}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [336, 337, 338], "excluded_lines": []}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [341, 342, 343], "excluded_lines": []}, "ConfigManager.set_include_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [347, 348, 349], "excluded_lines": []}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [353, 354, 355], "excluded_lines": []}, "ConfigManager.set_special_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [359, 360, 361], "excluded_lines": []}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [365, 366, 367], "excluded_lines": []}, "ConfigManager.set_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [371, 372, 373], "excluded_lines": []}, "ConfigManager.get_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [377, 378], "excluded_lines": []}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [390, 391], "excluded_lines": []}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399], "excluded_lines": []}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [403, 404], "excluded_lines": []}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [407, 408, 409], "excluded_lines": []}, "ConfigManager.get_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [412, 413], "excluded_lines": []}, "ConfigManager.get_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [417, 418, 419, 420, 421], "excluded_lines": []}, "ConfigManager.set_secret_class_partitions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428, 429], "excluded_lines": []}, "ConfigManager.set_partition_unlock_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443], "excluded_lines": []}, "ConfigManager.is_partition_unlocked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}, "classes": {"ConfigManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 213, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 213, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 69, 70, 71, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 162, 163, 164, 165, 166, 170, 171, 172, 173, 177, 178, 179, 180, 181, 185, 186, 187, 188, 192, 193, 194, 198, 199, 200, 201, 202, 206, 207, 211, 212, 213, 214, 215, 219, 220, 224, 225, 226, 227, 228, 232, 233, 237, 238, 239, 240, 241, 245, 246, 250, 251, 252, 256, 257, 258, 262, 263, 264, 268, 269, 270, 274, 275, 279, 280, 284, 285, 286, 287, 288, 292, 293, 297, 298, 299, 300, 301, 305, 306, 311, 313, 314, 326, 327, 328, 331, 332, 333, 336, 337, 338, 341, 342, 343, 347, 348, 349, 353, 354, 355, 359, 360, 361, 365, 366, 367, 371, 372, 373, 377, 378, 382, 383, 384, 385, 386, 390, 391, 395, 396, 397, 398, 399, 403, 404, 407, 408, 409, 412, 413, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 447, 448, 449, 450, 451], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 15, 17, 19, 22, 25, 26, 28, 29, 30, 32, 55, 60, 151, 160, 168, 175, 183, 190, 196, 204, 209, 217, 222, 230, 235, 243, 248, 254, 260, 266, 272, 277, 282, 290, 295, 303, 309, 325, 330, 335, 340, 345, 351, 357, 363, 369, 375, 380, 388, 393, 401, 406, 411, 415, 423, 431, 445], "summary": {"covered_lines": 63, "num_statements": 63, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [19, 20]}}}, "src/seedpass/core/display_service.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 341, "percent_covered": 7.9178885630498534, "percent_covered_display": "8", "missing_lines": 314, "excluded_lines": 2}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": [14, 15], "functions": {"DisplayService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "DisplayService._manager_module": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [30, 32], "excluded_lines": []}, "DisplayService._confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "DisplayService._copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "DisplayService._timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "DisplayService.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77], "excluded_lines": []}, "DisplayService._display_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "excluded_lines": []}, "DisplayService._display_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176], "excluded_lines": []}, "DisplayService._display_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226], "excluded_lines": []}, "DisplayService._display_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261], "excluded_lines": []}, "DisplayService._display_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290], "excluded_lines": []}, "DisplayService._display_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342], "excluded_lines": []}, "DisplayService._display_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385], "excluded_lines": []}, "DisplayService._display_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430], "excluded_lines": []}, "DisplayService._display_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}, "classes": {"DisplayService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 314, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 314, "excluded_lines": 0}, "missing_lines": [24, 30, 32, 35, 38, 43, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 173, 174, 175, 176, 179, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 209, 210, 211, 213, 214, 215, 216, 217, 223, 224, 225, 226, 229, 230, 231, 234, 235, 236, 237, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 258, 259, 260, 261, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, 329, 330, 331, 332, 333, 334, 335, 342, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 367, 368, 371, 372, 373, 380, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 423, 430, 433, 434, 435, 436, 437, 438, 440, 446, 447, 448, 449, 450, 451, 456, 458, 459, 460, 461, 468, 474, 475, 476, 477, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 513, 515], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 27, 34, 37, 42, 45, 79, 141, 178, 228, 263, 292, 344, 387, 432], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [14, 15]}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 332, "percent_covered": 13.855421686746988, "percent_covered_display": "14", "missing_lines": 286, "excluded_lines": 23}, "missing_lines": [42, 43, 44, 51, 54, 55, 73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [11, 12, 13, 15, 196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [42, 43, 44], "excluded_lines": []}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97], "excluded_lines": []}, "EncryptionManager.encrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [104, 105, 106, 107, 108, 109, 110], "excluded_lines": []}, "EncryptionManager.decrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 2}, "missing_lines": [126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195], "excluded_lines": [196, 197]}, "EncryptionManager.decrypt_legacy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 4}, "missing_lines": [206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241], "excluded_lines": [229, 230, 238, 239]}, "EncryptionManager.resolve_relative_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269], "excluded_lines": []}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [275, 276, 277], "excluded_lines": []}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "excluded_lines": []}, "EncryptionManager._serialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [298, 299, 300, 301], "excluded_lines": []}, "EncryptionManager._deserialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [311, 312, 313, 315, 316, 317, 318, 319, 320, 325], "excluded_lines": [321, 322]}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "excluded_lines": []}, "EncryptionManager.decrypt_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [348, 349, 350, 351, 352, 353], "excluded_lines": []}, "EncryptionManager.get_file_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [356, 357, 358, 359, 360, 361], "excluded_lines": []}, "EncryptionManager.save_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [370, 371, 372, 373, 375, 376, 377], "excluded_lines": []}, "EncryptionManager.load_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 4}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439], "excluded_lines": [430, 431, 432, 433]}, "EncryptionManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [442, 443, 444, 445, 446, 447, 448], "excluded_lines": []}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 7}, "missing_lines": [470, 471, 473, 474, 475, 477, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533], "excluded_lines": [534, 535, 536, 540, 546, 547, 548]}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [478, 479, 481, 482, 483, 484, 485, 486, 487], "excluded_lines": []}, "EncryptionManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591], "excluded_lines": []}, "EncryptionManager.validate_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [599, 600, 601, 602, 603, 604, 605, 606, 607], "excluded_lines": []}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": []}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [51, 54, 55], "excluded_lines": []}, "EncryptionManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 280, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 280, "excluded_lines": 19}, "missing_lines": [73, 74, 76, 77, 78, 81, 82, 84, 85, 87, 88, 89, 93, 96, 97, 104, 105, 106, 107, 108, 109, 110, 126, 128, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 176, 177, 178, 179, 180, 183, 187, 188, 193, 194, 195, 206, 207, 210, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 502, 505, 506, 507, 508, 511, 517, 518, 519, 520, 521, 525, 531, 532, 533, 552, 553, 554, 555, 556, 558, 559, 560, 561, 562, 565, 566, 569, 570, 571, 572, 573, 574, 579, 580, 581, 582, 583, 584, 585, 586, 587, 591, 599, 600, 601, 602, 603, 604, 605, 606, 607, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 624, 625, 626], "excluded_lines": [196, 197, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 534, 535, 536, 540, 546, 547, 548]}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 47, 48, 50, 58, 59, 64, 99, 112, 201, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 550, 593, 609], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 4}, "missing_lines": [42, 43, 44], "excluded_lines": [11, 12, 13, 15]}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 883, "percent_covered": 8.267270668176671, "percent_covered_display": "8", "missing_lines": 810, "excluded_lines": 3}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76], "excluded_lines": []}, "EntryManager.clear_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "EntryManager._now_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [84], "excluded_lines": []}, "EntryManager._iso_from_unix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [88], "excluded_lines": []}, "EntryManager._now_iso": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [91], "excluded_lines": []}, "EntryManager._normalize_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118], "excluded_lines": []}, "EntryManager._normalize_entry_defaults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157], "excluded_lines": []}, "EntryManager._load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185], "excluded_lines": []}, "EntryManager._save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [188, 189, 190, 191, 192, 193, 194], "excluded_lines": []}, "EntryManager.get_next_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214], "excluded_lines": []}, "EntryManager.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309], "excluded_lines": []}, "EntryManager.get_next_totp_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [313, 314, 315, 323], "excluded_lines": []}, "EntryManager.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402], "excluded_lines": []}, "EntryManager.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450], "excluded_lines": []}, "EntryManager.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [455, 456, 457, 458, 459, 461, 463, 464], "excluded_lines": []}, "EntryManager.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515], "excluded_lines": []}, "EntryManager.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536], "excluded_lines": []}, "EntryManager.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585], "excluded_lines": []}, "EntryManager.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [600, 601, 602, 604, 605, 606, 622, 623, 624, 625], "excluded_lines": []}, "EntryManager.add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [639, 640, 641, 643, 644, 645, 660, 661, 662, 663], "excluded_lines": []}, "EntryManager.import_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [676, 677, 678, 679, 680, 681, 682], "excluded_lines": []}, "EntryManager.export_document_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730], "excluded_lines": []}, "EntryManager.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755], "excluded_lines": []}, "EntryManager.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803], "excluded_lines": []}, "EntryManager.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825], "excluded_lines": []}, "EntryManager.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885], "excluded_lines": []}, "EntryManager.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908], "excluded_lines": []}, "EntryManager.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928], "excluded_lines": []}, "EntryManager.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949], "excluded_lines": []}, "EntryManager.get_totp_time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [953, 954, 955, 956, 959, 961, 962], "excluded_lines": []}, "EntryManager.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995], "excluded_lines": []}, "EntryManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1003, 1004, 1005, 1006, 1007, 1010], "excluded_lines": []}, "EntryManager.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049], "excluded_lines": []}, "EntryManager.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0}, "missing_lines": [1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352], "excluded_lines": []}, "EntryManager.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392], "excluded_lines": []}, "EntryManager.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430], "excluded_lines": []}, "EntryManager.get_links": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458], "excluded_lines": []}, "EntryManager.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1462], "excluded_lines": []}, "EntryManager.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1466], "excluded_lines": []}, "EntryManager.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618], "excluded_lines": []}, "EntryManager.list_entries.sort_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510], "excluded_lines": []}, "EntryManager.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700], "excluded_lines": []}, "EntryManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770], "excluded_lines": []}, "EntryManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793], "excluded_lines": []}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831], "excluded_lines": []}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868], "excluded_lines": []}, "EntryManager.get_entry_summaries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}, "classes": {"EntryManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 810, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 810, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 71, 72, 74, 76, 80, 84, 88, 91, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 118, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 156, 157, 160, 161, 162, 163, 164, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 183, 184, 185, 188, 189, 190, 191, 192, 193, 194, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 247, 248, 249, 250, 251, 253, 254, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 291, 293, 297, 298, 299, 301, 302, 304, 306, 307, 308, 309, 313, 314, 315, 323, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 371, 372, 373, 374, 375, 392, 394, 395, 396, 398, 399, 400, 401, 402, 420, 421, 423, 425, 426, 427, 428, 429, 431, 432, 433, 447, 448, 449, 450, 455, 456, 457, 458, 459, 461, 463, 464, 479, 480, 482, 483, 484, 486, 487, 489, 490, 491, 492, 493, 495, 496, 497, 512, 513, 514, 515, 520, 521, 522, 523, 524, 526, 527, 528, 530, 531, 533, 534, 535, 536, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 582, 583, 584, 585, 600, 601, 602, 604, 605, 606, 622, 623, 624, 625, 639, 640, 641, 643, 644, 645, 660, 661, 662, 663, 676, 677, 678, 679, 680, 681, 682, 700, 701, 702, 703, 704, 705, 707, 708, 709, 712, 714, 715, 717, 718, 719, 720, 721, 723, 725, 726, 727, 729, 730, 735, 736, 737, 738, 741, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 769, 770, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 784, 785, 786, 800, 801, 802, 803, 808, 809, 810, 811, 814, 816, 817, 818, 820, 821, 823, 824, 825, 842, 843, 845, 846, 847, 849, 850, 852, 854, 855, 856, 857, 858, 859, 861, 862, 864, 865, 866, 882, 883, 884, 885, 890, 891, 892, 893, 897, 899, 900, 901, 903, 904, 906, 907, 908, 916, 917, 918, 919, 922, 923, 924, 925, 926, 927, 928, 937, 938, 939, 940, 943, 944, 945, 946, 947, 948, 949, 953, 954, 955, 956, 959, 961, 962, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 984, 985, 986, 995, 1003, 1004, 1005, 1006, 1007, 1010, 1019, 1020, 1021, 1023, 1024, 1025, 1031, 1032, 1035, 1036, 1038, 1039, 1040, 1042, 1043, 1046, 1049, 1093, 1094, 1095, 1097, 1098, 1101, 1107, 1109, 1111, 1136, 1228, 1229, 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1257, 1258, 1259, 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1289, 1290, 1291, 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1330, 1331, 1333, 1334, 1338, 1339, 1340, 1342, 1343, 1347, 1348, 1349, 1352, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1381, 1382, 1383, 1387, 1388, 1389, 1390, 1391, 1392, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419, 1420, 1421, 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1458, 1462, 1466, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1506, 1507, 1509, 1510, 1512, 1514, 1515, 1517, 1518, 1519, 1523, 1524, 1527, 1528, 1530, 1531, 1532, 1533, 1534, 1535, 1545, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564, 1565, 1568, 1574, 1575, 1581, 1586, 1587, 1593, 1594, 1595, 1596, 1603, 1604, 1610, 1612, 1614, 1615, 1616, 1617, 1618, 1629, 1630, 1632, 1633, 1635, 1636, 1640, 1641, 1645, 1646, 1648, 1649, 1652, 1653, 1654, 1655, 1656, 1659, 1661, 1662, 1663, 1664, 1665, 1677, 1678, 1680, 1689, 1700, 1708, 1709, 1710, 1711, 1712, 1713, 1716, 1722, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1739, 1740, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1758, 1761, 1768, 1769, 1770, 1778, 1779, 1780, 1781, 1784, 1786, 1788, 1789, 1791, 1792, 1793, 1801, 1802, 1803, 1804, 1805, 1810, 1812, 1815, 1817, 1818, 1824, 1825, 1827, 1828, 1831, 1845, 1846, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1877, 1878, 1879, 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1889, 1892, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1902, 1903, 1904], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 50, 51, 52, 55, 58, 59, 78, 82, 83, 86, 87, 90, 93, 94, 120, 159, 187, 196, 216, 311, 325, 404, 452, 466, 517, 538, 587, 627, 665, 691, 732, 757, 805, 827, 887, 910, 930, 951, 964, 997, 1012, 1051, 1354, 1394, 1432, 1460, 1464, 1468, 1620, 1702, 1774, 1795, 1837, 1870], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 114, "percent_covered": 9.649122807017545, "percent_covered_display": "10", "missing_lines": 103, "excluded_lines": 8}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "EntryService.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 4}, "missing_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [239, 240, 241, 242]}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "excluded_lines": []}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 2}, "missing_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "excluded_lines": [95, 96]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}, "classes": {"EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 6}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [95, 96, 239, 240, 241, 242]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/errors.py": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SeedPassError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/high_risk_partition_store.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": [], "functions": {"_partition_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [16], "excluded_lines": []}, "_fernet_for_tag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [20, 21, 22], "excluded_lines": []}, "load_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "save_partition_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 59, 60, 61, 62], "excluded_lines": []}, "load_partition_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [68, 69], "excluded_lines": []}, "migrate_high_risk_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 19, 25, 46, 65, 72], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [16, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 52, 53, 59, 60, 61, 62, 68, 69, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 104, 106, 107, 108, 109, 111], "excluded_lines": []}}}, "src/seedpass/core/manager.py": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 2761, "percent_covered": 8.909815284317276, "percent_covered_display": "9", "missing_lines": 2515, "excluded_lines": 11}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157, 162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206, 217, 218, 222, 223, 224, 225, 226, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857], "functions": {"AuditLogger.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "AuditLogger.log": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "calculate_profile_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 179, 182, 184, 185, 187, 188], "excluded_lines": []}, "requires_unlocked": {"executed_lines": [202, 203, 208], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "requires_unlocked.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [204, 205, 206], "excluded_lines": []}, "AuthGuard.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [217, 218], "excluded_lines": []}, "AuthGuard.check_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327], "excluded_lines": []}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [337, 338, 339], "excluded_lines": []}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [347], "excluded_lines": []}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [352, 353, 354, 355, 356, 357], "excluded_lines": []}, "PasswordManager._get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [360, 361, 362, 363, 364], "excluded_lines": []}, "PasswordManager._get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [367, 368, 369, 370, 371, 372, 373, 378, 379], "excluded_lines": []}, "PasswordManager._get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [382, 383, 384, 385, 386], "excluded_lines": []}, "PasswordManager._derive_seed_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [398, 399, 400, 401, 409, 411, 412, 413, 416], "excluded_lines": []}, "PasswordManager._build_seed_kdf_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [427, 428, 429, 430, 431, 440, 443], "excluded_lines": []}, "PasswordManager._encrypt_parent_seed_compat": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [459, 460, 464, 465, 469], "excluded_lines": []}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [473, 479, 480, 481, 482, 483], "excluded_lines": []}, "PasswordManager.ensure_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [487, 488, 489, 490, 491, 492, 493, 494], "excluded_lines": []}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [505], "excluded_lines": []}, "PasswordManager.parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [516, 517, 518, 519, 521], "excluded_lines": []}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [526, 527, 528, 529, 530, 533, 534, 535, 536], "excluded_lines": []}, "PasswordManager.header_fingerprint_args": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [541, 542, 543, 544, 545, 546], "excluded_lines": []}, "PasswordManager.update_activity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [550, 551, 552, 553, 554, 555], "excluded_lines": []}, "PasswordManager.notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [559, 560, 561, 562, 563, 564], "excluded_lines": []}, "PasswordManager.get_current_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [568, 569, 570, 571, 572, 574, 578, 579], "excluded_lines": []}, "PasswordManager.poll_background_errors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [583, 584, 585, 586, 587, 588, 589, 590, 591], "excluded_lines": []}, "PasswordManager.menu_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [595, 596, 597], "excluded_lines": []}, "PasswordManager.profile_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [601, 602, 603], "excluded_lines": []}, "PasswordManager.entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [607, 608, 609, 610, 611], "excluded_lines": []}, "PasswordManager.display_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [615, 616, 617, 618, 619], "excluded_lines": []}, "PasswordManager.lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [623, 624, 625, 626, 627], "excluded_lines": []}, "PasswordManager.unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673], "excluded_lines": []}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [679, 680, 681, 682, 683, 684, 687], "excluded_lines": []}, "PasswordManager.setup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [693, 694, 696, 699], "excluded_lines": []}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771], "excluded_lines": []}, "PasswordManager.add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848], "excluded_lines": []}, "PasswordManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887], "excluded_lines": []}, "PasswordManager.recover_profile_with_blank_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 64, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 64, "excluded_lines": 0}, "missing_lines": [891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006], "excluded_lines": []}, "PasswordManager.setup_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104], "excluded_lines": []}, "PasswordManager.load_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144], "excluded_lines": []}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1149], "excluded_lines": []}, "PasswordManager.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180], "excluded_lines": []}, "PasswordManager.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205], "excluded_lines": []}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282], "excluded_lines": []}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327], "excluded_lines": []}, "PasswordManager.setup_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366], "excluded_lines": []}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1372], "excluded_lines": []}, "PasswordManager._finalize_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455], "excluded_lines": []}, "PasswordManager.generate_new_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537], "excluded_lines": []}, "PasswordManager.validate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557], "excluded_lines": []}, "PasswordManager.generate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578], "excluded_lines": []}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647], "excluded_lines": []}, "PasswordManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1653, 1654, 1655, 1656, 1657, 1658, 1660, 1670, 1671, 1673, 1674, 1675, 1676, 1677], "excluded_lines": []}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1663, 1664, 1665, 1668], "excluded_lines": []}, "PasswordManager.initialize_managers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705], "excluded_lines": []}, "PasswordManager._initialize_config_and_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1709, 1713, 1714], "excluded_lines": []}, "PasswordManager._initialize_entry_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744], "excluded_lines": []}, "PasswordManager._initialize_password_generator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [1748, 1749], "excluded_lines": []}, "PasswordManager._initialize_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799], "excluded_lines": []}, "PasswordManager._handle_migration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1956], "excluded_lines": []}, "PasswordManager.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1960, 1961, 1962, 1963, 1964, 1967, 1969, 1978, 1979, 1980, 1981, 1984, 1985, 1987], "excluded_lines": []}, "PasswordManager.start_background_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1970, 1971, 1972, 1973, 1974, 1975, 1976], "excluded_lines": []}, "PasswordManager.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1991, 1992, 1993, 1994, 1995], "excluded_lines": []}, "PasswordManager.start_background_relay_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1999, 2004, 2006, 2023, 2024], "excluded_lines": []}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021], "excluded_lines": []}, "PasswordManager.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2028, 2029, 2031, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052], "excluded_lines": []}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039], "excluded_lines": []}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 2}, "missing_lines": [2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115], "excluded_lines": [2108, 2109]}, "PasswordManager.attempt_initial_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2118], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2126], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [2129, 2130, 2131, 2132, 2133, 2134, 2135], "excluded_lines": [2136, 2137]}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163], "excluded_lines": []}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192], "excluded_lines": []}, "PasswordManager._clear_header_add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2195, 2196], "excluded_lines": []}, "PasswordManager._mark_dirty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2206, 2207], "excluded_lines": []}, "PasswordManager._sync_and_pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 2}, "missing_lines": [2211, 2212, 2218, 2219], "excluded_lines": [2213, 2214]}, "PasswordManager._entry_op_context": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2224, 2225, 2226, 2227, 2228, 2229], "excluded_lines": []}, "PasswordManager._terminal_document_editor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [2246, 2247, 2248, 2250, 2253, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_help": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2251], "excluded_lines": []}, "PasswordManager._terminal_document_editor.print_lines": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [2254, 2255, 2256, 2257, 2258], "excluded_lines": []}, "PasswordManager.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [2308], "excluded_lines": []}, "PasswordManager.handle_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423], "excluded_lines": []}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462], "excluded_lines": []}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513], "excluded_lines": []}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562], "excluded_lines": []}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604], "excluded_lines": []}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667], "excluded_lines": []}, "PasswordManager.handle_add_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730], "excluded_lines": []}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775], "excluded_lines": []}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802], "excluded_lines": []}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819], "excluded_lines": []}, "PasswordManager._entry_type_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2823, 2824, 2825, 2826], "excluded_lines": []}, "PasswordManager._generate_password_for_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849], "excluded_lines": []}, "PasswordManager._entry_actions_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [2855, 2857, 2863, 2875, 2885, 2900, 2921, 2925, 2930, 2944, 2973], "excluded_lines": []}, "PasswordManager._entry_actions_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2859, 2860, 2861], "excluded_lines": []}, "PasswordManager._entry_actions_menu.toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [2864, 2867, 2868, 2870, 2871, 2872, 2873], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_note": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883], "excluded_lines": []}, "PasswordManager._entry_actions_menu.add_custom_field": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919], "excluded_lines": []}, "PasswordManager._entry_actions_menu.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [2922, 2923], "excluded_lines": []}, "PasswordManager._entry_actions_menu.show_qr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2926, 2927, 2928], "excluded_lines": []}, "PasswordManager._entry_actions_menu.export_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942], "excluded_lines": []}, "PasswordManager._entry_actions_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971], "excluded_lines": []}, "PasswordManager._entry_edit_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [2979, 2981, 2987, 2995, 3003, 3011, 3024, 3035, 3042, 3049, 3059, 3069, 3089], "excluded_lines": []}, "PasswordManager._entry_edit_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [2983, 2984, 2985], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2988, 2989, 2990, 2991, 2992, 2993], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [2996, 2997, 2998, 2999, 3000, 3001], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3004, 3005, 3006, 3007, 3008, 3009], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_document_file_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [3025, 3026, 3030, 3031, 3032, 3033], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_username": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3036, 3037, 3038, 3039, 3040], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3043, 3044, 3045, 3046, 3047], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_period": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3050, 3051, 3052, 3053, 3054, 3055, 3057], "excluded_lines": []}, "PasswordManager._entry_edit_menu.edit_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3060, 3061, 3062, 3063, 3064, 3065, 3067], "excluded_lines": []}, "PasswordManager._entry_edit_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087], "excluded_lines": []}, "PasswordManager._entry_qr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3125, 3134, 3143, 3149, 3154, 3156], "excluded_lines": [3157, 3158, 3159]}, "PasswordManager._entry_qr_menu.refresh_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3121, 3122, 3123], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_public_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3126, 3129, 3130, 3131, 3132], "excluded_lines": []}, "PasswordManager._entry_qr_menu.show_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3135, 3138, 3139, 3140, 3141], "excluded_lines": []}, "PasswordManager._entry_qr_menu.get_options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3144], "excluded_lines": []}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3172], "excluded_lines": []}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207], "excluded_lines": []}, "PasswordManager.handle_modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 194, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 194, "excluded_lines": 0}, "missing_lines": [3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720], "excluded_lines": []}, "PasswordManager.handle_search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778], "excluded_lines": []}, "PasswordManager.display_entry_details": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 2}, "missing_lines": [3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964], "excluded_lines": [3856, 3857]}, "PasswordManager.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3968], "excluded_lines": []}, "PasswordManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005], "excluded_lines": []}, "PasswordManager.handle_archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [4029, 4031, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [4034, 4037], "excluded_lines": []}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4106], "excluded_lines": []}, "PasswordManager.handle_verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146], "excluded_lines": []}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175], "excluded_lines": []}, "PasswordManager.get_encrypted_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195], "excluded_lines": []}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4203, 4204, 4205, 4206, 4207, 4210, 4216], "excluded_lines": []}, "PasswordManager.sync_vault_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284], "excluded_lines": []}, "PasswordManager.sync_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4289], "excluded_lines": []}, "PasswordManager.backup_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4295, 4296, 4297, 4298, 4299, 4300], "excluded_lines": []}, "PasswordManager.restore_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4306, 4307, 4308, 4313, 4314, 4315], "excluded_lines": []}, "PasswordManager.handle_export_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382], "excluded_lines": []}, "PasswordManager.handle_import_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464], "excluded_lines": []}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535], "excluded_lines": []}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632], "excluded_lines": []}, "PasswordManager.verify_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677], "excluded_lines": []}, "PasswordManager.is_valid_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [4690, 4691, 4692, 4693, 4694], "excluded_lines": []}, "PasswordManager.store_hashed_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735], "excluded_lines": []}, "PasswordManager.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809], "excluded_lines": []}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881], "excluded_lines": []}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": []}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 243, "num_statements": 243, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuditLogger": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 144, 145, 150, 151, 154, 155, 156, 157], "excluded_lines": []}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [217, 218, 222, 223, 224, 225, 226], "excluded_lines": []}, "PasswordManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2471, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2471, "excluded_lines": 11}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 280, 281, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 312, 313, 314, 315, 318, 320, 322, 325, 327, 337, 338, 339, 347, 352, 353, 354, 355, 356, 357, 360, 361, 362, 363, 364, 367, 368, 369, 370, 371, 372, 373, 378, 379, 382, 383, 384, 385, 386, 398, 399, 400, 401, 409, 411, 412, 413, 416, 427, 428, 429, 430, 431, 440, 443, 459, 460, 464, 465, 469, 473, 479, 480, 481, 482, 483, 487, 488, 489, 490, 491, 492, 493, 494, 505, 510, 511, 512, 516, 517, 518, 519, 521, 526, 527, 528, 529, 530, 533, 534, 535, 536, 541, 542, 543, 544, 545, 546, 550, 551, 552, 553, 554, 555, 559, 560, 561, 562, 563, 564, 568, 569, 570, 571, 572, 574, 578, 579, 583, 584, 585, 586, 587, 588, 589, 590, 591, 595, 596, 597, 601, 602, 603, 607, 608, 609, 610, 611, 615, 616, 617, 618, 619, 623, 624, 625, 626, 627, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 660, 665, 666, 667, 670, 671, 672, 673, 679, 680, 681, 682, 683, 684, 687, 693, 694, 696, 699, 705, 706, 707, 708, 710, 711, 713, 714, 715, 720, 721, 723, 724, 725, 726, 732, 734, 735, 736, 737, 740, 741, 743, 744, 746, 747, 748, 749, 750, 751, 754, 755, 756, 757, 765, 766, 768, 769, 770, 771, 778, 779, 786, 787, 788, 789, 790, 791, 793, 794, 796, 797, 800, 801, 809, 810, 811, 812, 813, 815, 816, 817, 818, 821, 822, 823, 825, 829, 830, 831, 832, 838, 839, 841, 843, 845, 846, 847, 848, 853, 854, 855, 858, 859, 865, 869, 874, 876, 877, 878, 884, 886, 887, 891, 892, 893, 894, 896, 897, 898, 903, 905, 906, 907, 908, 909, 910, 913, 914, 915, 917, 923, 924, 926, 932, 933, 934, 935, 937, 938, 940, 941, 942, 944, 945, 946, 952, 954, 955, 956, 957, 958, 959, 961, 962, 963, 964, 966, 967, 968, 969, 974, 980, 982, 988, 989, 990, 991, 993, 994, 995, 996, 1002, 1003, 1004, 1005, 1006, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1029, 1034, 1035, 1037, 1038, 1039, 1047, 1048, 1049, 1050, 1056, 1057, 1058, 1059, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1111, 1112, 1114, 1115, 1117, 1118, 1123, 1128, 1129, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1149, 1154, 1155, 1157, 1158, 1159, 1160, 1162, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1213, 1214, 1215, 1218, 1219, 1222, 1223, 1224, 1230, 1234, 1235, 1236, 1241, 1243, 1244, 1245, 1246, 1248, 1249, 1250, 1253, 1254, 1255, 1258, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1290, 1292, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, 1326, 1327, 1349, 1350, 1351, 1352, 1353, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1399, 1403, 1406, 1407, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1431, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1465, 1466, 1467, 1468, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1491, 1492, 1493, 1494, 1500, 1502, 1505, 1506, 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1531, 1532, 1534, 1536, 1537, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1591, 1592, 1593, 1597, 1601, 1602, 1603, 1606, 1608, 1609, 1611, 1612, 1613, 1614, 1616, 1617, 1619, 1623, 1628, 1629, 1631, 1637, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1663, 1664, 1665, 1668, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1684, 1686, 1687, 1690, 1692, 1693, 1696, 1697, 1698, 1700, 1702, 1703, 1704, 1705, 1709, 1713, 1714, 1726, 1727, 1728, 1732, 1733, 1736, 1737, 1738, 1740, 1744, 1748, 1749, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1792, 1795, 1797, 1798, 1799, 1810, 1811, 1812, 1813, 1814, 1815, 1818, 1819, 1820, 1827, 1834, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1857, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1899, 1900, 1901, 1908, 1914, 1915, 1920, 1927, 1933, 1934, 1935, 1936, 1937, 1942, 1943, 1946, 1951, 1952, 1953, 1956, 1960, 1961, 1962, 1963, 1964, 1967, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1978, 1979, 1980, 1981, 1984, 1985, 1987, 1991, 1992, 1993, 1994, 1995, 1999, 2004, 2006, 2007, 2008, 2011, 2012, 2013, 2018, 2019, 2020, 2021, 2023, 2024, 2028, 2029, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2047, 2048, 2049, 2050, 2052, 2061, 2062, 2064, 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2111, 2112, 2113, 2115, 2118, 2126, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2167, 2168, 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2191, 2192, 2195, 2196, 2206, 2207, 2211, 2212, 2218, 2219, 2224, 2225, 2226, 2227, 2228, 2229, 2246, 2247, 2248, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2308, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332, 2333, 2336, 2341, 2342, 2343, 2348, 2358, 2359, 2360, 2362, 2363, 2364, 2365, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2397, 2398, 2408, 2409, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2441, 2444, 2447, 2449, 2452, 2453, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2481, 2482, 2483, 2484, 2485, 2488, 2489, 2491, 2494, 2495, 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2528, 2529, 2530, 2531, 2536, 2544, 2547, 2549, 2552, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2580, 2583, 2584, 2586, 2587, 2588, 2589, 2590, 2597, 2598, 2599, 2600, 2603, 2604, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2644, 2652, 2654, 2655, 2656, 2657, 2658, 2659, 2666, 2667, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2696, 2703, 2704, 2705, 2706, 2707, 2710, 2711, 2712, 2717, 2718, 2719, 2720, 2721, 2728, 2729, 2730, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2748, 2751, 2753, 2754, 2760, 2761, 2762, 2763, 2770, 2771, 2772, 2774, 2775, 2779, 2780, 2781, 2782, 2784, 2785, 2793, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2806, 2807, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2823, 2824, 2825, 2826, 2832, 2833, 2834, 2836, 2837, 2838, 2840, 2841, 2845, 2846, 2847, 2849, 2855, 2857, 2859, 2860, 2861, 2863, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2885, 2886, 2887, 2888, 2890, 2891, 2892, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2908, 2911, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2925, 2926, 2927, 2928, 2930, 2931, 2934, 2935, 2938, 2939, 2940, 2941, 2942, 2944, 2945, 2948, 2949, 2951, 2952, 2954, 2956, 2957, 2958, 2959, 2960, 2962, 2967, 2968, 2969, 2971, 2973, 2979, 2981, 2983, 2984, 2985, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3011, 3012, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3024, 3025, 3026, 3030, 3031, 3032, 3033, 3035, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3067, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3085, 3087, 3089, 3098, 3100, 3101, 3102, 3103, 3105, 3109, 3110, 3112, 3113, 3114, 3116, 3117, 3119, 3121, 3122, 3123, 3125, 3126, 3129, 3130, 3131, 3132, 3134, 3135, 3138, 3139, 3140, 3141, 3143, 3144, 3149, 3154, 3156, 3172, 3177, 3178, 3179, 3186, 3189, 3190, 3191, 3192, 3193, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3215, 3216, 3217, 3224, 3227, 3228, 3229, 3230, 3233, 3234, 3235, 3237, 3239, 3240, 3241, 3242, 3243, 3244, 3246, 3252, 3253, 3254, 3260, 3264, 3267, 3268, 3269, 3270, 3272, 3276, 3279, 3280, 3281, 3282, 3284, 3288, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3306, 3308, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3329, 3332, 3338, 3348, 3349, 3350, 3351, 3353, 3359, 3365, 3369, 3376, 3377, 3378, 3379, 3380, 3381, 3383, 3387, 3389, 3396, 3399, 3405, 3412, 3413, 3414, 3415, 3416, 3417, 3419, 3425, 3429, 3435, 3436, 3439, 3441, 3443, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3461, 3463, 3469, 3472, 3478, 3487, 3491, 3492, 3493, 3494, 3496, 3502, 3508, 3514, 3518, 3519, 3523, 3524, 3528, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3546, 3548, 3555, 3556, 3557, 3558, 3559, 3560, 3563, 3564, 3565, 3566, 3567, 3571, 3574, 3580, 3588, 3589, 3591, 3596, 3597, 3598, 3599, 3600, 3602, 3608, 3609, 3610, 3611, 3618, 3625, 3631, 3637, 3644, 3645, 3646, 3647, 3648, 3649, 3651, 3655, 3657, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3681, 3687, 3699, 3700, 3702, 3705, 3706, 3707, 3710, 3711, 3716, 3718, 3719, 3720, 3725, 3726, 3727, 3734, 3735, 3736, 3737, 3738, 3740, 3741, 3742, 3743, 3744, 3746, 3747, 3748, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3766, 3767, 3768, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3784, 3786, 3787, 3788, 3789, 3790, 3793, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3846, 3847, 3848, 3849, 3852, 3853, 3854, 3855, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3960, 3961, 3962, 3963, 3964, 3968, 3972, 3973, 3976, 3977, 3978, 3979, 3981, 3984, 3985, 3987, 3990, 3991, 3994, 3995, 3996, 3997, 3998, 4003, 4004, 4005, 4010, 4011, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4029, 4031, 4034, 4037, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4058, 4059, 4060, 4061, 4064, 4065, 4066, 4069, 4070, 4071, 4072, 4073, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4099, 4100, 4101, 4102, 4106, 4113, 4114, 4115, 4122, 4123, 4124, 4125, 4126, 4130, 4131, 4133, 4134, 4135, 4137, 4143, 4144, 4145, 4146, 4151, 4152, 4153, 4154, 4155, 4156, 4163, 4164, 4165, 4172, 4173, 4174, 4175, 4183, 4184, 4185, 4186, 4187, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4203, 4204, 4205, 4206, 4207, 4210, 4216, 4222, 4223, 4224, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4244, 4247, 4248, 4249, 4250, 4255, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4270, 4271, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4289, 4295, 4296, 4297, 4298, 4299, 4300, 4306, 4307, 4308, 4313, 4314, 4315, 4330, 4331, 4332, 4339, 4340, 4341, 4345, 4346, 4347, 4353, 4356, 4357, 4358, 4360, 4361, 4368, 4369, 4370, 4371, 4378, 4379, 4380, 4381, 4382, 4388, 4389, 4395, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4408, 4409, 4417, 4418, 4424, 4425, 4426, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4445, 4447, 4448, 4449, 4450, 4451, 4452, 4455, 4456, 4457, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4472, 4479, 4480, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4494, 4495, 4505, 4506, 4507, 4509, 4512, 4514, 4516, 4517, 4518, 4519, 4522, 4523, 4524, 4525, 4527, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4550, 4551, 4552, 4559, 4560, 4564, 4570, 4571, 4574, 4575, 4576, 4579, 4582, 4583, 4586, 4587, 4588, 4595, 4596, 4597, 4598, 4600, 4603, 4604, 4607, 4608, 4610, 4611, 4612, 4613, 4615, 4618, 4624, 4625, 4626, 4629, 4630, 4631, 4632, 4644, 4645, 4646, 4647, 4649, 4650, 4651, 4652, 4653, 4655, 4656, 4657, 4659, 4660, 4661, 4663, 4664, 4665, 4666, 4667, 4673, 4674, 4675, 4676, 4677, 4690, 4691, 4692, 4693, 4694, 4701, 4702, 4703, 4704, 4707, 4708, 4713, 4714, 4715, 4717, 4718, 4719, 4720, 4722, 4723, 4728, 4729, 4732, 4733, 4734, 4735, 4739, 4740, 4741, 4742, 4745, 4746, 4749, 4751, 4752, 4754, 4756, 4759, 4760, 4761, 4762, 4765, 4766, 4767, 4769, 4770, 4771, 4773, 4774, 4784, 4787, 4789, 4790, 4791, 4800, 4801, 4802, 4803, 4804, 4807, 4808, 4809, 4813, 4814, 4816, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4837, 4838, 4839, 4842, 4843, 4844, 4845, 4846, 4848, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861, 4864, 4865, 4866, 4871, 4872, 4873, 4874, 4875, 4877, 4878, 4879, 4881, 4885, 4886, 4887, 4888, 4890, 4891, 4892, 4893, 4894, 4895, 4901, 4902, 4907, 4908, 4914, 4920, 4921, 4922, 4923], "excluded_lines": [2108, 2109, 2136, 2137, 2213, 2214, 3157, 3158, 3159, 3856, 3857]}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 53, 54, 61, 67, 68, 69, 70, 76, 77, 78, 79, 80, 82, 95, 96, 97, 98, 100, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 126, 143, 160, 166, 191, 192, 193, 195, 196, 199, 202, 203, 208, 211, 212, 214, 220, 229, 230, 239, 240, 241, 242, 243, 244, 246, 331, 332, 343, 344, 349, 359, 366, 381, 388, 418, 449, 471, 485, 502, 503, 507, 508, 514, 515, 523, 524, 538, 539, 548, 557, 566, 581, 593, 594, 599, 600, 605, 606, 613, 614, 621, 629, 675, 689, 701, 773, 850, 889, 1008, 1106, 1146, 1147, 1148, 1151, 1152, 1182, 1183, 1207, 1208, 1284, 1285, 1329, 1368, 1374, 1457, 1458, 1539, 1559, 1580, 1581, 1649, 1679, 1707, 1719, 1746, 1756, 1806, 1841, 1955, 1958, 1989, 1997, 2026, 2054, 2117, 2120, 2128, 2139, 2165, 2194, 2204, 2209, 2221, 2222, 2231, 2306, 2307, 2310, 2311, 2425, 2426, 2464, 2465, 2515, 2516, 2564, 2565, 2606, 2607, 2669, 2670, 2732, 2733, 2777, 2804, 2821, 2828, 2851, 2975, 3095, 3161, 3174, 3175, 3209, 3210, 3722, 3723, 3780, 3966, 3967, 3970, 4007, 4008, 4026, 4027, 4104, 4105, 4108, 4109, 4148, 4149, 4177, 4197, 4218, 4286, 4291, 4302, 4317, 4318, 4384, 4385, 4466, 4467, 4537, 4538, 4634, 4679, 4696, 4737, 4811, 4883], "summary": {"covered_lines": 246, "num_statements": 260, "percent_covered": 94.61538461538461, "percent_covered_display": "95", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [162, 163, 176, 177, 178, 179, 182, 184, 185, 187, 188, 204, 205, 206], "excluded_lines": []}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 145, "percent_covered": 13.10344827586207, "percent_covered_display": "13", "missing_lines": 126, "excluded_lines": 8}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [16, 17, 98, 99, 100, 253, 254, 255], "functions": {"MenuHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "MenuHandler.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 3}, "missing_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97], "excluded_lines": [98, 99, 100]}, "MenuHandler.run_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143], "excluded_lines": []}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 3}, "missing_lines": [148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}, "classes": {"MenuHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 126, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 126, "excluded_lines": 6}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 117, 118, 119, 120, 128, 129, 131, 132, 133, 134, 136, 137, 138, 140, 141, 143, 148, 149, 150, 151, 158, 159, 160, 161, 162, 165, 166, 167, 168, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 194, 195, 196, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 213, 217, 220, 221, 222, 223, 224, 229, 230, 231, 232, 233, 236, 240, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252], "excluded_lines": [98, 99, 100, 253, 254, 255]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103, 145, 146], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}}, "src/seedpass/core/migrations.py": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v0_to_v1": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 26], "excluded_lines": []}, "_v1_to_v2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "_v2_to_v3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "excluded_lines": []}, "_v3_to_v4": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "apply_migrations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 292, "percent_covered": 17.80821917808219, "percent_covered_display": "18", "missing_lines": 240, "excluded_lines": 7}, "missing_lines": [82, 83, 84, 87, 88, 89, 93, 120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488, 493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 568, 569, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571, 572, 573, 574, 575, 576, 577], "functions": {"DeterministicStream.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [82, 83, 84], "excluded_lines": []}, "DeterministicStream.get_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [87, 88, 89], "excluded_lines": []}, "DeterministicStream.current_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [93], "excluded_lines": []}, "PasswordGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137], "excluded_lines": []}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [141, 142, 144, 151, 152, 154, 155, 156], "excluded_lines": []}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [160, 161, 162], "excluded_lines": []}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [173, 174, 175, 176, 177, 178, 179, 180], "excluded_lines": []}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188, 189], "excluded_lines": []}, "PasswordGenerator.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283], "excluded_lines": []}, "PasswordGenerator._count_char_types": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [294, 295, 296, 297, 298], "excluded_lines": []}, "PasswordGenerator._enforce_minimum_counts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343], "excluded_lines": []}, "PasswordGenerator._add_additional_symbols": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365], "excluded_lines": []}, "PasswordGenerator._balance_distribution": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408], "excluded_lines": []}, "PasswordGenerator._enforce_complexity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [493], "excluded_lines": []}, "derive_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [499, 500, 501, 503, 504, 510, 511, 516], "excluded_lines": []}, "derive_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [521], "excluded_lines": []}, "derive_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 1}, "missing_lines": [535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [568, 569], "excluded_lines": []}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 52, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DeterministicStream": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [82, 83, 84, 87, 88, 89, 93], "excluded_lines": []}, "PasswordGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 177, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 177, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 126, 127, 129, 133, 134, 135, 136, 137, 141, 142, 144, 151, 152, 154, 155, 156, 160, 161, 162, 173, 174, 175, 176, 177, 178, 179, 180, 185, 186, 187, 188, 189, 212, 214, 215, 218, 221, 222, 225, 229, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 246, 248, 249, 250, 253, 256, 257, 258, 259, 260, 261, 262, 269, 270, 273, 274, 278, 280, 281, 282, 283, 294, 295, 296, 297, 298, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 324, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 349, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 406, 407, 408, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 438, 441, 444, 449, 452, 457, 460, 467, 470, 471, 476, 479, 483, 485, 486, 487, 488], "excluded_lines": []}, "derive_pgp_key.DRNG": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 6}, "missing_lines": [568, 569], "excluded_lines": [572, 573, 574, 575, 576, 577]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 47, 50, 53, 54, 55, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 86, 91, 92, 96, 97, 105, 139, 158, 164, 182, 191, 285, 300, 345, 367, 410, 491, 496, 519, 524], "summary": {"covered_lines": 52, "num_statements": 106, "percent_covered": 49.056603773584904, "percent_covered_display": "49", "missing_lines": 54, "excluded_lines": 1}, "missing_lines": [493, 499, 500, 501, 503, 504, 510, 511, 516, 521, 535, 536, 537, 545, 552, 553, 554, 555, 556, 557, 559, 560, 562, 564, 567, 579, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 597, 598, 599, 600, 603, 605, 606, 607, 609, 610, 611, 612, 613, 614, 626], "excluded_lines": [571]}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "export_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121], "excluded_lines": []}, "import_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.647058823529413, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 7}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 4}, "missing_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}, "classes": {"ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 4}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 6, 8, 9, 11, 15, 20, 27], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "PubSub.unsubscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [17, 18], "excluded_lines": []}, "PubSub.publish": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PubSub": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 6, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [11, 12, 13, 14], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 9], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 9, 11, 12, 13, 14], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 65, "percent_covered": 27.692307692307693, "percent_covered_display": "28", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [18, 19], "excluded_lines": []}, "StateManager._load": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "StateManager._save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 61], "excluded_lines": []}, "StateManager.state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [65], "excluded_lines": []}, "StateManager.update_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [68, 69, 70], "excluded_lines": []}, "StateManager.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "StateManager.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 80, 81, 82, 83], "excluded_lines": []}, "StateManager.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StateManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "StatsManager.display_stats_once": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [14, 15, 16], "excluded_lines": []}, "StatsManager.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StatsManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/sync_conflict.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": [], "functions": {"_canonical": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [11], "excluded_lines": []}, "_entry_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [15], "excluded_lines": []}, "_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "_safe_int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [23, 24, 25, 26], "excluded_lines": []}, "_is_empty": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [30, 31, 32, 33, 34], "excluded_lines": []}, "_entry_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "_is_deleted_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "_entry_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [46, 47], "excluded_lines": []}, "_tombstone_event_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 60], "excluded_lines": []}, "_prefer_tombstone": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [66, 67, 68, 69, 70], "excluded_lines": []}, "_normalize_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91], "excluded_lines": []}, "_merge_tombstones": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 100, 101, 102], "excluded_lines": []}, "_max_entry_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [106, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "_max_tombstone_ts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 122], "excluded_lines": []}, "_prefer_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 135, 136], "excluded_lines": []}, "_union_fields_for_kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [140, 141, 152], "excluded_lines": []}, "_merge_list_union": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [156, 157, 158, 159, 160, 161, 162], "excluded_lines": []}, "_merge_equal_ts_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186], "excluded_lines": []}, "merge_index_payloads": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 14, 18, 22, 29, 37, 41, 45, 50, 63, 73, 94, 105, 115, 125, 139, 155, 165, 189], "summary": {"covered_lines": 24, "num_statements": 186, "percent_covered": 12.903225806451612, "percent_covered_display": "13", "missing_lines": 162, "excluded_lines": 0}, "missing_lines": [11, 15, 19, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 42, 46, 47, 51, 52, 53, 54, 60, 66, 67, 68, 69, 70, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 116, 117, 118, 119, 120, 121, 122, 132, 133, 134, 135, 136, 140, 141, 152, 156, 157, 158, 159, 160, 161, 162, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, 185, 186, 193, 194, 195, 196, 197, 198, 199, 200, 203, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 226, 227, 228, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 253, 256, 257, 258, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 277, 279, 280, 281, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 302, 303, 304, 305, 311, 320, 321], "excluded_lines": []}}}, "src/seedpass/core/totp.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 70, 71, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 31, "num_statements": 71, "percent_covered": 43.66197183098591, "percent_covered_display": "44", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [22, 31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "TotpManager.derive_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "TotpManager.current_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42], "excluded_lines": []}, "TotpManager.current_code_from_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "TotpManager.parse_otpauth": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "excluded_lines": []}, "TotpManager.make_otpauth_uri": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TotpManager.time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 77, 78], "excluded_lines": []}, "TotpManager.print_progress_bar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "TotpManager.print_qr_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TotpManager": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 41, "percent_covered": 4.878048780487805, "percent_covered_display": "5", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 30, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/seedpass/core/vault.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 140, "percent_covered": 15.0, "percent_covered_display": "15", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36], "excluded_lines": []}, "Vault.set_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "Vault._hkdf_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Vault.load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237], "excluded_lines": []}, "Vault.save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [241], "excluded_lines": []}, "Vault.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [247], "excluded_lines": []}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [264, 267, 270, 271, 272], "excluded_lines": []}, "Vault.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [277], "excluded_lines": []}, "Vault.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/errors.py": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultLockedError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/release_integrity.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": [], "functions": {"_file_sha256": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15], "excluded_lines": []}, "collect_artifacts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "excluded_lines": []}, "generate_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 52, 53], "excluded_lines": []}, "parse_checksum_line": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "verify_checksums": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 18, 38, 56, 73], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 38, 42, 43, 44, 45, 46, 47, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 77, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": []}}}, "src/seedpass/tui_v2/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/tui_v2/app.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 120, 121, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 281, 282, 320, 321, 322, 323, 324, 325, 326, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 343, 346, 347, 353, 357, 358, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 390, 391, 392, 398, 401, 402, 410, 411, 419, 420, 426, 427, 433, 434, 442, 443, 449, 450, 451, 452, 453, 456, 458, 459, 460, 461, 462, 467, 468, 469, 471, 472, 473, 475, 476, 477, 479, 480, 481, 483, 484, 485, 486, 487, 488, 490, 491, 493, 494, 516, 517, 528, 529, 558, 559, 560, 561, 562, 563, 564, 582, 584, 585, 586, 587, 588, 590, 592, 593, 594, 598, 606, 607, 608, 609, 611, 612, 613, 615, 616, 617, 628, 629, 630, 632, 633, 634, 635, 637, 638, 639, 640, 641, 642, 644, 645, 649, 650, 655, 656, 658, 659, 664, 711, 713, 716, 717, 719, 720, 723, 725, 726, 727, 728, 738, 776, 779, 780, 790, 791, 792, 793, 794, 795, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 808, 809, 810, 811, 812, 813, 814, 815, 816, 821, 822, 826, 827, 830, 833, 834, 835, 836, 840, 841, 842, 844, 847, 848, 849, 850, 854, 855, 857, 858, 859, 860, 861, 862, 863, 864, 866, 867, 870, 875, 876, 877, 879, 880, 881, 882, 885, 886, 889, 890, 891, 892, 893, 894, 896, 897, 898, 904, 905, 908, 909, 912, 913, 914, 915, 916, 917, 925, 927, 928, 929, 930, 931, 933, 934, 936, 937, 938, 947, 948, 949, 950, 951, 954, 955, 956, 974, 975, 982, 983, 984, 985, 988, 989, 990, 996, 998, 999, 1001, 1008, 1009, 1010, 1012, 1013, 1017, 1018, 1019, 1025, 1027, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1054, 1057, 1059, 1060, 1062, 1072, 1073, 1074, 1085, 1086, 1088, 1089, 1091, 1092, 1096, 1097, 1099, 1100, 1102, 1103, 1107, 1108, 1110, 1111, 1113, 1114, 1118, 1121, 1123, 1126, 1129, 1132, 1136, 1137, 1139, 1140, 1141, 1144, 1152, 1153, 1154, 1156, 1157, 1165, 1166, 1167, 1169, 1170, 1178, 1179, 1180, 1181, 1182, 1183, 1185, 1188, 1202, 1203, 1206, 1214, 1230, 1231, 1232, 1233, 1236, 1250, 1253, 1254, 1255, 1257, 1260, 1261, 1277, 1283, 1284, 1289, 1293, 1298, 1301, 1303, 1304, 1305, 1308, 1309, 1310, 1311, 1312, 1321, 1324, 1325, 1326, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1354, 1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1380, 1381, 1382, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1392, 1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1415, 1417, 1418, 1420, 1425, 1426, 1427, 1437, 1438, 1439, 1445, 1450, 1451, 1452, 1453, 1455, 1460, 1463, 1470, 1471, 1473, 1474, 1477, 1478, 1479, 1480, 1483, 1484, 1485, 1486, 1487, 1490, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1501, 1502, 1504, 1506, 1509, 1511, 1513, 1522, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1571, 1572, 1573, 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1642, 1643, 1644, 1645, 1646, 1647, 1649, 1650, 1653, 1654, 1657, 1658, 1659, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1676, 1677, 1678, 1679, 1687, 1689, 1690, 1693, 1694, 1697, 1698, 1699, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1717, 1718, 1719, 1720, 1721, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1740, 1741, 1742, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1768, 1769, 1770, 1771, 1772, 1773, 1781, 1783, 1784, 1787, 1788, 1791, 1792, 1793, 1794, 1795, 1798, 1799, 1804, 1805, 1806, 1807, 1815, 1817, 1818, 1821, 1822, 1823, 1824, 1825, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1848, 1850, 1851, 1854, 1855, 1858, 1859, 1860, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1883, 1884, 1885, 1886, 1894, 1896, 1897, 1900, 1901, 1902, 1903, 1904, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1927, 1929, 1930, 1933, 1934, 1935, 1936, 1937, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1954, 1955, 1960, 1961, 1962, 1963, 1971, 1973, 1974, 1977, 1978, 1979, 1980, 1981, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2020, 2022, 2023, 2024, 2025, 2034, 2035, 2036, 2037, 2038, 2039, 2042, 2043, 2047, 2048, 2053, 2054, 2055, 2061, 2063, 2064, 2065, 2066, 2067, 2068, 2071, 2072, 2076, 2077, 2082, 2083, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2103, 2105, 2106, 2107, 2108, 2109, 2115, 2117, 2118, 2119, 2122, 2123, 2124, 2125, 2128, 2129, 2130, 2131, 2132, 2133, 2137, 2138, 2143, 2146, 2152, 2154, 2155, 2156, 2157, 2158, 2159, 2162, 2163, 2167, 2168, 2173, 2174, 2179, 2185, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2197, 2200, 2206, 2207, 2208, 2212, 2213, 2224, 2225, 2226, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2239, 2245, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2256, 2260, 2261, 2262, 2266, 2267, 2278, 2279, 2280, 2283, 2284, 2290, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2316, 2317, 2318, 2319, 2320, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2338, 2341, 2342, 2343, 2344, 2347, 2348, 2350, 2351, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2366, 2374, 2376, 2377, 2378, 2379, 2380, 2381, 2384, 2385, 2386, 2389, 2390, 2391, 2393, 2396, 2397, 2398, 2406, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2429, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2442, 2443, 2445, 2448, 2449, 2457, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2471, 2474, 2475, 2476, 2477, 2485, 2487, 2488, 2489, 2490, 2491, 2494, 2495, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2510, 2511, 2512, 2513, 2514, 2515, 2524, 2526, 2527, 2528, 2529, 2530, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2542, 2543, 2544, 2545, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2567, 2568, 2571, 2572, 2573, 2574, 2582, 2584, 2585, 2586, 2587, 2588, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2600, 2601, 2602, 2603, 2611, 2613, 2614, 2615, 2616, 2617, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2640, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2653, 2654, 2657, 2658, 2659, 2660, 2668, 2670, 2671, 2672, 2673, 2674, 2677, 2678, 2679, 2680, 2681, 2693, 2695, 2696, 2697, 2698, 2699, 2702, 2703, 2706, 2707, 2708, 2709, 2717, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2730, 2731, 2732, 2735, 2736, 2737, 2743, 2744, 2745, 2753, 2755, 2756, 2757, 2758, 2759, 2762, 2763, 2767, 2768, 2769, 2770, 2778, 2780, 2781, 2782, 2783, 2784, 2787, 2788, 2791, 2792, 2793, 2794, 2802, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2815, 2816, 2817, 2818, 2828, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2843, 2844, 2845, 2846, 2856, 2858, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2871, 2872, 2880, 2882, 2883, 2884, 2885, 2886, 2889, 2890, 2891, 2892, 2900, 2902, 2903, 2904, 2905, 2906, 2909, 2910, 2913, 2914, 2915, 2916, 2924, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2937, 2938, 2939, 2940, 2948, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2961, 2962, 2963, 2971, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2983, 2984, 2985, 2986, 2987, 2995, 2997, 2998, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3012, 3013, 3014, 3015, 3021, 3023, 3024, 3025, 3026, 3027, 3028, 3031, 3032, 3033, 3034, 3035, 3037, 3040, 3041, 3042, 3052, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3075, 3076, 3084, 3086, 3087, 3090, 3091, 3092, 3093, 3095, 3096, 3097, 3098, 3099, 3100, 3102, 3103, 3104, 3107, 3108, 3109, 3118, 3120, 3121, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3134, 3139, 3141, 3142, 3147, 3148, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3170, 3172, 3173, 3176, 3177, 3178, 3179, 3180, 3185, 3186, 3187, 3188, 3189, 3197, 3199, 3203, 3207, 3210, 3211, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3230, 3231, 3233, 3234, 3237, 3238, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3256, 3257, 3258, 3261, 3262, 3268, 3270, 3271, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3289, 3290, 3291, 3294, 3295, 3301, 3303, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3329, 3330, 3331, 3332, 3333, 3340, 3343, 3346, 3350, 3352, 3359, 3360, 3362, 3363, 3364, 3366, 3367, 3368, 3369, 3371, 3372, 3373, 3374, 3375, 3377, 3378, 3379, 3380, 3382, 3383, 3384, 3385, 3386, 3388, 3389, 3390, 3391, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3408, 3409, 3410, 3411, 3412, 3414, 3415, 3416, 3418, 3436, 3437, 3440, 3441, 3442, 3443, 3444, 3446, 3447, 3450, 3451, 3452, 3453, 3454, 3455, 3457, 3458, 3461, 3464, 3465, 3466, 3468, 3469, 3472, 3473, 3474, 3475, 3483, 3488, 3489, 3490, 3491, 3493, 3494, 3497, 3500, 3501, 3505, 3506, 3509, 3512, 3513, 3517, 3518, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3544, 3546, 3547, 3549, 3550, 3552, 3553, 3556, 3557, 3558, 3559, 3560, 3563, 3565, 3566, 3569, 3570, 3571, 3573, 3574, 3577, 3581, 3582, 3583, 3584, 3585, 3588, 3589, 3590, 3593, 3594, 3595, 3596, 3597, 3604, 3605, 3608, 3609, 3610, 3611, 3615, 3616, 3617, 3620, 3621, 3622, 3624, 3625, 3626, 3627, 3633, 3634, 3635, 3636, 3637, 3640, 3642, 3643, 3646, 3650, 3651, 3654, 3655, 3656, 3657, 3663, 3664, 3665, 3666, 3667, 3669, 3670, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3693, 3694, 3695, 3696, 3697, 3698, 3703, 3707, 3708, 3709, 3710, 3711, 3713, 3714, 3720, 3722, 3723, 3725, 3726, 3727, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3749, 3750, 3753, 3754, 3755, 3756, 3757, 3759, 3766, 3767, 3768, 3769], "summary": {"covered_lines": 1854, "num_statements": 2338, "percent_covered": 79.29854576561164, "percent_covered_display": "79", "missing_lines": 484, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 349, 407, 408, 409, 416, 417, 418, 423, 424, 425, 430, 431, 432, 439, 440, 441, 446, 447, 448, 474, 620, 621, 627, 729, 730, 731, 732, 733, 734, 735, 736, 739, 740, 741, 742, 743, 744, 745, 746, 749, 750, 753, 757, 765, 768, 771, 772, 773, 774, 777, 778, 786, 787, 788, 935, 939, 940, 943, 944, 945, 946, 957, 958, 961, 962, 965, 966, 967, 976, 979, 980, 981, 1053, 1061, 1087, 1090, 1093, 1094, 1098, 1101, 1104, 1105, 1109, 1112, 1115, 1116, 1122, 1124, 1130, 1215, 1218, 1235, 1244, 1264, 1265, 1275, 1313, 1314, 1320, 1394, 1395, 1403, 1419, 1421, 1424, 1428, 1429, 1435, 1446, 1454, 1475, 1481, 1488, 1489, 1491, 1503, 1505, 1510, 1523, 1524, 1533, 1534, 1651, 1652, 1660, 1661, 1680, 1681, 1691, 1692, 1700, 1701, 1714, 1715, 1716, 1731, 1732, 1739, 1744, 1746, 1747, 1757, 1758, 1766, 1767, 1774, 1775, 1785, 1786, 1796, 1797, 1808, 1809, 1819, 1820, 1826, 1827, 1841, 1842, 1852, 1853, 1861, 1862, 1887, 1888, 1898, 1899, 1905, 1906, 1920, 1921, 1931, 1932, 1938, 1939, 1951, 1952, 1953, 1964, 1965, 1975, 1976, 1982, 1983, 1997, 1998, 2012, 2013, 2026, 2032, 2040, 2041, 2044, 2045, 2046, 2069, 2070, 2073, 2074, 2075, 2126, 2127, 2134, 2135, 2136, 2160, 2161, 2164, 2165, 2166, 2195, 2196, 2198, 2199, 2209, 2210, 2211, 2238, 2254, 2255, 2263, 2264, 2265, 2321, 2322, 2330, 2331, 2337, 2339, 2340, 2352, 2353, 2365, 2367, 2368, 2387, 2388, 2399, 2400, 2421, 2422, 2423, 2440, 2441, 2450, 2451, 2469, 2470, 2472, 2473, 2478, 2479, 2492, 2493, 2496, 2497, 2498, 2508, 2509, 2516, 2517, 2518, 2531, 2532, 2540, 2541, 2546, 2547, 2564, 2565, 2566, 2569, 2570, 2575, 2576, 2589, 2590, 2598, 2599, 2604, 2605, 2618, 2619, 2627, 2628, 2633, 2634, 2651, 2652, 2655, 2656, 2661, 2662, 2675, 2676, 2685, 2686, 2687, 2700, 2701, 2704, 2705, 2710, 2711, 2728, 2729, 2733, 2734, 2741, 2742, 2746, 2747, 2760, 2761, 2764, 2765, 2766, 2771, 2772, 2785, 2786, 2789, 2790, 2795, 2796, 2813, 2814, 2821, 2822, 2839, 2842, 2849, 2850, 2863, 2864, 2869, 2873, 2874, 2887, 2888, 2893, 2894, 2907, 2908, 2911, 2912, 2917, 2918, 2935, 2936, 2941, 2942, 2964, 2965, 2988, 2989, 2999, 3000, 3044, 3045, 3046, 3056, 3057, 3063, 3064, 3065, 3077, 3078, 3088, 3089, 3110, 3111, 3117, 3122, 3123, 3135, 3138, 3143, 3146, 3163, 3164, 3174, 3175, 3181, 3184, 3190, 3191, 3200, 3201, 3204, 3205, 3208, 3209, 3212, 3213, 3228, 3229, 3235, 3236, 3272, 3273, 3304, 3305, 3334, 3335, 3336, 3337, 3338, 3339, 3341, 3342, 3344, 3345, 3347, 3348, 3353, 3354, 3355, 3356, 3357, 3361, 3387, 3400, 3401, 3413, 3419, 3431, 3432, 3433, 3434, 3438, 3439, 3448, 3449, 3459, 3460, 3462, 3463, 3470, 3471, 3495, 3496, 3507, 3508, 3519, 3520, 3554, 3555, 3561, 3567, 3568, 3578, 3579, 3586, 3606, 3607, 3612, 3613, 3639, 3644, 3645, 3647, 3648, 3699, 3700, 3701, 3702, 3704, 3705, 3706, 3728, 3729, 3751, 3752, 3760, 3761, 3762, 3763, 3764, 3770, 3771], "excluded_lines": [115, 116], "functions": {"check_tui2_runtime": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "parse_palette_command": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 35, 37], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [36], "excluded_lines": []}, "pagination_window": {"executed_lines": [47, 48, 49, 50, 51, 52, 53, 54], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "truncate_entry_for_display": {"executed_lines": [61, 62, 63, 65, 66, 67, 70, 71], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [64], "excluded_lines": []}, "render_qr_ascii": {"executed_lines": [76, 78, 79, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2": {"executed_lines": [104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 360, 458, 471, 479, 490, 493, 516, 528, 558, 584, 592, 598, 611, 615, 632, 637, 644, 658, 713, 719, 725, 808, 866, 879, 933, 974, 1051, 1059, 1072, 1073, 1085, 1096, 1107, 1118, 1250, 1257, 1341, 1354, 1365, 1384, 1385, 1392, 1417, 1473, 1477, 1483, 1493, 1501, 1513, 1541, 1542, 1550, 3352, 3359, 3366, 3371, 3377, 3382, 3393, 3408, 3418, 3436, 3446, 3457, 3468, 3493, 3505, 3517, 3531, 3546, 3549, 3552, 3565, 3604, 3642, 3693, 3713, 3722, 3725, 3749, 3759, 3766, 3767, 3768, 3769], "summary": {"covered_lines": 108, "num_statements": 111, "percent_covered": 97.29729729729729, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [106, 3770, 3771], "excluded_lines": [115, 116]}, "launch_tui2.EntryListItem.__init__": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.compose": {"executed_lines": [281, 282, 320, 321, 322, 323, 324, 325, 326, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 343, 346, 347, 353, 357, 358], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [349], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_mount": {"executed_lines": [361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 390, 391, 392, 398, 401, 402, 410, 411, 419, 420, 426, 427, 433, 434, 442, 443, 449, 450, 451, 452, 453, 456], "summary": {"covered_lines": 49, "num_statements": 67, "percent_covered": 73.13432835820896, "percent_covered_display": "73", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [407, 408, 409, 416, 417, 418, 423, 424, 425, 430, 431, 432, 439, 440, 441, 446, 447, 448], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_status": {"executed_lines": [459, 460, 461, 462, 467, 468, 469], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._log_activity": {"executed_lines": [472, 473, 475, 476, 477], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [474], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_activity_panel": {"executed_lines": [480, 481, 483, 484, 485, 486, 487, 488], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_secret_panel": {"executed_lines": [491], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._quickstart_text": {"executed_lines": [494], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._palette_help_summary": {"executed_lines": [517], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._palette_reference_text": {"executed_lines": [529], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_help_overlay": {"executed_lines": [559, 560, 561, 562, 563, 564, 582], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_focus_style": {"executed_lines": [585, 586, 587, 588, 590], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_doc_edit_help": {"executed_lines": [593, 594], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._record_failure": {"executed_lines": [606, 607, 608, 609], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clear_failure": {"executed_lines": [612, 613], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._retry_initialize_service": {"executed_lines": [616, 617, 628, 629, 630], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [620, 621, 627], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_filter_kinds": {"executed_lines": [633, 634, 635], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._current_archive_scope_flags": {"executed_lines": [638, 639, 640, 641, 642], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_summary": {"executed_lines": [645, 649, 650, 655, 656], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_filters_panel": {"executed_lines": [659, 664, 711], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_entry_label": {"executed_lines": [716, 717], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._total_pages": {"executed_lines": [720, 723], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._stats_text": {"executed_lines": [726, 727, 728, 738, 776, 779, 780, 790, 791, 792, 793, 794, 795, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806], "summary": {"covered_lines": 23, "num_statements": 54, "percent_covered": 42.592592592592595, "percent_covered_display": "43", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [729, 730, 731, 732, 733, 734, 735, 736, 739, 740, 741, 742, 743, 744, 745, 746, 749, 750, 753, 757, 765, 768, 771, 772, 773, 774, 777, 778, 786, 787, 788], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._render_current_page": {"executed_lines": [809, 810, 811, 812, 813, 814, 815, 816, 821, 822, 826, 827, 830, 833, 834, 835, 836, 840, 841, 842, 844, 847, 848, 849, 850, 854, 855, 857, 858, 859, 860, 861, 862, 863, 864], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._entry_detail_text": {"executed_lines": [867, 870, 875, 876, 877], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_entries": {"executed_lines": [880, 881, 882, 885, 886, 889, 890, 891, 892, 893, 894, 896, 897, 898, 904, 905, 908, 909, 912, 913, 914, 915, 916, 917, 925, 927, 928, 929, 930, 931], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_entry": {"executed_lines": [934, 936, 937, 938, 947, 948, 949, 950, 951, 954, 955, 956], "summary": {"covered_lines": 12, "num_statements": 26, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [935, 939, 940, 943, 944, 945, 946, 957, 958, 961, 962, 965, 966, 967], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._update_links_panel": {"executed_lines": [975, 982, 983, 984, 985, 988, 989, 990, 996, 998, 999, 1001, 1008, 1009, 1010, 1012, 1013, 1017, 1018, 1019, 1025, 1027, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049], "summary": {"covered_lines": 32, "num_statements": 36, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [976, 979, 980, 981], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_selected_document": {"executed_lines": [1052, 1054, 1057], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1053], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_kind": {"executed_lines": [1060, 1062], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1061], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._kind_icon": {"executed_lines": [1074], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._is_secret_mode_enabled": {"executed_lines": [1086, 1088, 1089, 1091, 1092], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1087, 1090, 1093, 1094], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._clipboard_clear_delay": {"executed_lines": [1097, 1099, 1100, 1102, 1103], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1098, 1101, 1104, 1105], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._copy_to_clipboard": {"executed_lines": [1108, 1110, 1111, 1113, 1114], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1109, 1112, 1115, 1116], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._resolve_selected_sensitive_payload": {"executed_lines": [1121, 1123, 1126, 1129, 1132, 1136, 1137, 1139, 1140, 1141, 1144, 1152, 1153, 1154, 1156, 1157, 1165, 1166, 1167, 1169, 1170, 1178, 1179, 1180, 1181, 1182, 1183, 1185, 1188, 1202, 1203, 1206, 1214, 1230, 1231, 1232, 1233, 1236], "summary": {"covered_lines": 38, "num_statements": 45, "percent_covered": 84.44444444444444, "percent_covered_display": "84", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1122, 1124, 1130, 1215, 1218, 1235, 1244], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._requires_confirm": {"executed_lines": [1253, 1254, 1255], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._show_sensitive_panel": {"executed_lines": [1260, 1261, 1277, 1283, 1284, 1289, 1293, 1298, 1301, 1303, 1304, 1305, 1308, 1309, 1310, 1311, 1312, 1321, 1324, 1325, 1326, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339], "summary": {"covered_lines": 30, "num_statements": 36, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [1264, 1265, 1275, 1313, 1314, 1320], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_visible": {"executed_lines": [1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_palette_visible": {"executed_lines": [1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_totp_board_visible": {"executed_lines": [1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1380, 1381, 1382], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._totp_source": {"executed_lines": [1386, 1387, 1388, 1389, 1390], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._load_totp_rows": {"executed_lines": [1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1415], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1394, 1395, 1403], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._refresh_totp_board": {"executed_lines": [1418, 1420, 1425, 1426, 1427, 1437, 1438, 1439, 1445, 1450, 1451, 1452, 1453, 1455, 1460, 1463, 1470, 1471], "summary": {"covered_lines": 18, "num_statements": 26, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1419, 1421, 1424, 1428, 1429, 1435, 1446, 1454], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._tick_totp_board": {"executed_lines": [1474], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1475], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._get_document_editor_text": {"executed_lines": [1478, 1479, 1480], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1481], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._set_document_editor_text": {"executed_lines": [1484, 1485, 1486, 1487, 1490], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1488, 1489, 1491], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._mark_doc_dirty": {"executed_lines": [1494, 1495, 1496, 1497, 1498, 1499], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._selected_entry_payload": {"executed_lines": [1502, 1504, 1506, 1509, 1511], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1503, 1505, 1510], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._apply_selected_modify": {"executed_lines": [1522, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1523, 1524, 1533, 1534], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._parse_toggle_token": {"executed_lines": [1543, 1544, 1545, 1546, 1547, 1548], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2._run_palette_command": {"executed_lines": [1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1571, 1572, 1573, 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1642, 1643, 1644, 1645, 1646, 1647, 1649, 1650, 1653, 1654, 1657, 1658, 1659, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1676, 1677, 1678, 1679, 1687, 1689, 1690, 1693, 1694, 1697, 1698, 1699, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1717, 1718, 1719, 1720, 1721, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1740, 1741, 1742, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1768, 1769, 1770, 1771, 1772, 1773, 1781, 1783, 1784, 1787, 1788, 1791, 1792, 1793, 1794, 1795, 1798, 1799, 1804, 1805, 1806, 1807, 1815, 1817, 1818, 1821, 1822, 1823, 1824, 1825, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1848, 1850, 1851, 1854, 1855, 1858, 1859, 1860, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1883, 1884, 1885, 1886, 1894, 1896, 1897, 1900, 1901, 1902, 1903, 1904, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1927, 1929, 1930, 1933, 1934, 1935, 1936, 1937, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1954, 1955, 1960, 1961, 1962, 1963, 1971, 1973, 1974, 1977, 1978, 1979, 1980, 1981, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2020, 2022, 2023, 2024, 2025, 2034, 2035, 2036, 2037, 2038, 2039, 2042, 2043, 2047, 2048, 2053, 2054, 2055, 2061, 2063, 2064, 2065, 2066, 2067, 2068, 2071, 2072, 2076, 2077, 2082, 2083, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2103, 2105, 2106, 2107, 2108, 2109, 2115, 2117, 2118, 2119, 2122, 2123, 2124, 2125, 2128, 2129, 2130, 2131, 2132, 2133, 2137, 2138, 2143, 2146, 2152, 2154, 2155, 2156, 2157, 2158, 2159, 2162, 2163, 2167, 2168, 2173, 2174, 2179, 2185, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2197, 2200, 2206, 2207, 2208, 2212, 2213, 2224, 2225, 2226, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2239, 2245, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2256, 2260, 2261, 2262, 2266, 2267, 2278, 2279, 2280, 2283, 2284, 2290, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2316, 2317, 2318, 2319, 2320, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2338, 2341, 2342, 2343, 2344, 2347, 2348, 2350, 2351, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2366, 2374, 2376, 2377, 2378, 2379, 2380, 2381, 2384, 2385, 2386, 2389, 2390, 2391, 2393, 2396, 2397, 2398, 2406, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2429, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2442, 2443, 2445, 2448, 2449, 2457, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2471, 2474, 2475, 2476, 2477, 2485, 2487, 2488, 2489, 2490, 2491, 2494, 2495, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2510, 2511, 2512, 2513, 2514, 2515, 2524, 2526, 2527, 2528, 2529, 2530, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2542, 2543, 2544, 2545, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2567, 2568, 2571, 2572, 2573, 2574, 2582, 2584, 2585, 2586, 2587, 2588, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2600, 2601, 2602, 2603, 2611, 2613, 2614, 2615, 2616, 2617, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2640, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2653, 2654, 2657, 2658, 2659, 2660, 2668, 2670, 2671, 2672, 2673, 2674, 2677, 2678, 2679, 2680, 2681, 2693, 2695, 2696, 2697, 2698, 2699, 2702, 2703, 2706, 2707, 2708, 2709, 2717, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2730, 2731, 2732, 2735, 2736, 2737, 2743, 2744, 2745, 2753, 2755, 2756, 2757, 2758, 2759, 2762, 2763, 2767, 2768, 2769, 2770, 2778, 2780, 2781, 2782, 2783, 2784, 2787, 2788, 2791, 2792, 2793, 2794, 2802, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2815, 2816, 2817, 2818, 2828, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2843, 2844, 2845, 2846, 2856, 2858, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2871, 2872, 2880, 2882, 2883, 2884, 2885, 2886, 2889, 2890, 2891, 2892, 2900, 2902, 2903, 2904, 2905, 2906, 2909, 2910, 2913, 2914, 2915, 2916, 2924, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2937, 2938, 2939, 2940, 2948, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2961, 2962, 2963, 2971, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2983, 2984, 2985, 2986, 2987, 2995, 2997, 2998, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3012, 3013, 3014, 3015, 3021, 3023, 3024, 3025, 3026, 3027, 3028, 3031, 3032, 3033, 3034, 3035, 3037, 3040, 3041, 3042, 3052, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3075, 3076, 3084, 3086, 3087, 3090, 3091, 3092, 3093, 3095, 3096, 3097, 3098, 3099, 3100, 3102, 3103, 3104, 3107, 3108, 3109, 3118, 3120, 3121, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3134, 3139, 3141, 3142, 3147, 3148, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3170, 3172, 3173, 3176, 3177, 3178, 3179, 3180, 3185, 3186, 3187, 3188, 3189, 3197, 3199, 3203, 3207, 3210, 3211, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3230, 3231, 3233, 3234, 3237, 3238, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3256, 3257, 3258, 3261, 3262, 3268, 3270, 3271, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3289, 3290, 3291, 3294, 3295, 3301, 3303, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3329, 3330, 3331, 3332, 3333, 3340, 3343, 3346, 3350], "summary": {"covered_lines": 1010, "num_statements": 1303, "percent_covered": 77.5134305448964, "percent_covered_display": "78", "missing_lines": 293, "excluded_lines": 0}, "missing_lines": [1651, 1652, 1660, 1661, 1680, 1681, 1691, 1692, 1700, 1701, 1714, 1715, 1716, 1731, 1732, 1739, 1744, 1746, 1747, 1757, 1758, 1766, 1767, 1774, 1775, 1785, 1786, 1796, 1797, 1808, 1809, 1819, 1820, 1826, 1827, 1841, 1842, 1852, 1853, 1861, 1862, 1887, 1888, 1898, 1899, 1905, 1906, 1920, 1921, 1931, 1932, 1938, 1939, 1951, 1952, 1953, 1964, 1965, 1975, 1976, 1982, 1983, 1997, 1998, 2012, 2013, 2026, 2032, 2040, 2041, 2044, 2045, 2046, 2069, 2070, 2073, 2074, 2075, 2126, 2127, 2134, 2135, 2136, 2160, 2161, 2164, 2165, 2166, 2195, 2196, 2198, 2199, 2209, 2210, 2211, 2238, 2254, 2255, 2263, 2264, 2265, 2321, 2322, 2330, 2331, 2337, 2339, 2340, 2352, 2353, 2365, 2367, 2368, 2387, 2388, 2399, 2400, 2421, 2422, 2423, 2440, 2441, 2450, 2451, 2469, 2470, 2472, 2473, 2478, 2479, 2492, 2493, 2496, 2497, 2498, 2508, 2509, 2516, 2517, 2518, 2531, 2532, 2540, 2541, 2546, 2547, 2564, 2565, 2566, 2569, 2570, 2575, 2576, 2589, 2590, 2598, 2599, 2604, 2605, 2618, 2619, 2627, 2628, 2633, 2634, 2651, 2652, 2655, 2656, 2661, 2662, 2675, 2676, 2685, 2686, 2687, 2700, 2701, 2704, 2705, 2710, 2711, 2728, 2729, 2733, 2734, 2741, 2742, 2746, 2747, 2760, 2761, 2764, 2765, 2766, 2771, 2772, 2785, 2786, 2789, 2790, 2795, 2796, 2813, 2814, 2821, 2822, 2839, 2842, 2849, 2850, 2863, 2864, 2869, 2873, 2874, 2887, 2888, 2893, 2894, 2907, 2908, 2911, 2912, 2917, 2918, 2935, 2936, 2941, 2942, 2964, 2965, 2988, 2989, 2999, 3000, 3044, 3045, 3046, 3056, 3057, 3063, 3064, 3065, 3077, 3078, 3088, 3089, 3110, 3111, 3117, 3122, 3123, 3135, 3138, 3143, 3146, 3163, 3164, 3174, 3175, 3181, 3184, 3190, 3191, 3200, 3201, 3204, 3205, 3208, 3209, 3212, 3213, 3228, 3229, 3235, 3236, 3272, 3273, 3304, 3305, 3334, 3335, 3336, 3337, 3338, 3339, 3341, 3342, 3344, 3345, 3347, 3348], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3353, 3354, 3355, 3356, 3357], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_help": {"executed_lines": [3360, 3362, 3363, 3364], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3361], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_left": {"executed_lines": [3367, 3368, 3369], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_center": {"executed_lines": [3372, 3373, 3374, 3375], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_right": {"executed_lines": [3378, 3379, 3380], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_jump": {"executed_lines": [3383, 3384, 3385, 3386, 3388, 3389, 3390, 3391], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3387], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_retry_last_error": {"executed_lines": [3394, 3395, 3396, 3397, 3398, 3399], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3400, 3401], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_focus_search": {"executed_lines": [3409, 3410, 3411, 3412, 3414, 3415, 3416], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3413], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3419, 3431, 3432, 3433, 3434], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_archive_scope": {"executed_lines": [3437, 3440, 3441, 3442, 3443, 3444], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3438, 3439], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_page": {"executed_lines": [3447, 3450, 3451, 3452, 3453, 3454, 3455], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3448, 3449], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_page": {"executed_lines": [3458, 3461, 3464, 3465, 3466], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3459, 3460, 3462, 3463], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cycle_link_filter": {"executed_lines": [3469, 3472, 3473, 3474, 3475, 3483, 3488, 3489, 3490, 3491], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3470, 3471], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_next_link": {"executed_lines": [3494, 3497, 3500, 3501], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3495, 3496], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_prev_link": {"executed_lines": [3506, 3509, 3512, 3513], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3507, 3508], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_link_target": {"executed_lines": [3518, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3519, 3520], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_open_palette": {"executed_lines": [3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3544], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_reveal_selected": {"executed_lines": [3547], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_show_qr": {"executed_lines": [3550], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_totp_board": {"executed_lines": [3553, 3556, 3557, 3558, 3559, 3560, 3563], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3554, 3555, 3561], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_toggle_archive": {"executed_lines": [3566, 3569, 3570, 3571, 3573, 3574, 3577, 3581, 3582, 3583, 3584, 3585, 3588, 3589, 3590, 3593, 3594, 3595, 3596, 3597], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3567, 3568, 3578, 3579, 3586], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_edit_document": {"executed_lines": [3605, 3608, 3609, 3610, 3611, 3615, 3616, 3617, 3620, 3621, 3622, 3624, 3625, 3626, 3627, 3633, 3634, 3635, 3636, 3637, 3640], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 80.76923076923077, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3606, 3607, 3612, 3613, 3639], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_save_document": {"executed_lines": [3643, 3646, 3650, 3651, 3654, 3655, 3656, 3657, 3663, 3664, 3665, 3666, 3667, 3669, 3670, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686], "summary": {"covered_lines": 25, "num_statements": 29, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3644, 3645, 3647, 3648], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.action_cancel_document_edit": {"executed_lines": [3694, 3695, 3696, 3697, 3698, 3703, 3707, 3708, 3709, 3710, 3711], "summary": {"covered_lines": 11, "num_statements": 18, "percent_covered": 61.111111111111114, "percent_covered_display": "61", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [3699, 3700, 3701, 3702, 3704, 3705, 3706], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_changed": {"executed_lines": [3714, 3720], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_text_area_changed": {"executed_lines": [3723], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_input_submitted": {"executed_lines": [3726, 3727, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3728, 3729], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_selected": {"executed_lines": [3750, 3753, 3754, 3755, 3756, 3757], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3751, 3752], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2.on_list_view_highlighted": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [3760, 3761, 3762, 3763, 3764], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 26, 40, 57, 74, 88], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"launch_tui2.EntryListItem": {"executed_lines": [120, 121], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "launch_tui2.SeedPassTuiV2": {"executed_lines": [281, 282, 320, 321, 322, 323, 324, 325, 326, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 343, 346, 347, 353, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 390, 391, 392, 398, 401, 402, 410, 411, 419, 420, 426, 427, 433, 434, 442, 443, 449, 450, 451, 452, 453, 456, 459, 460, 461, 462, 467, 468, 469, 472, 473, 475, 476, 477, 480, 481, 483, 484, 485, 486, 487, 488, 491, 494, 517, 529, 559, 560, 561, 562, 563, 564, 582, 585, 586, 587, 588, 590, 593, 594, 606, 607, 608, 609, 612, 613, 616, 617, 628, 629, 630, 633, 634, 635, 638, 639, 640, 641, 642, 645, 649, 650, 655, 656, 659, 664, 711, 716, 717, 720, 723, 726, 727, 728, 738, 776, 779, 780, 790, 791, 792, 793, 794, 795, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 809, 810, 811, 812, 813, 814, 815, 816, 821, 822, 826, 827, 830, 833, 834, 835, 836, 840, 841, 842, 844, 847, 848, 849, 850, 854, 855, 857, 858, 859, 860, 861, 862, 863, 864, 867, 870, 875, 876, 877, 880, 881, 882, 885, 886, 889, 890, 891, 892, 893, 894, 896, 897, 898, 904, 905, 908, 909, 912, 913, 914, 915, 916, 917, 925, 927, 928, 929, 930, 931, 934, 936, 937, 938, 947, 948, 949, 950, 951, 954, 955, 956, 975, 982, 983, 984, 985, 988, 989, 990, 996, 998, 999, 1001, 1008, 1009, 1010, 1012, 1013, 1017, 1018, 1019, 1025, 1027, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1052, 1054, 1057, 1060, 1062, 1074, 1086, 1088, 1089, 1091, 1092, 1097, 1099, 1100, 1102, 1103, 1108, 1110, 1111, 1113, 1114, 1121, 1123, 1126, 1129, 1132, 1136, 1137, 1139, 1140, 1141, 1144, 1152, 1153, 1154, 1156, 1157, 1165, 1166, 1167, 1169, 1170, 1178, 1179, 1180, 1181, 1182, 1183, 1185, 1188, 1202, 1203, 1206, 1214, 1230, 1231, 1232, 1233, 1236, 1253, 1254, 1255, 1260, 1261, 1277, 1283, 1284, 1289, 1293, 1298, 1301, 1303, 1304, 1305, 1308, 1309, 1310, 1311, 1312, 1321, 1324, 1325, 1326, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1355, 1356, 1357, 1358, 1360, 1361, 1362, 1363, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1380, 1381, 1382, 1386, 1387, 1388, 1389, 1390, 1393, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1415, 1418, 1420, 1425, 1426, 1427, 1437, 1438, 1439, 1445, 1450, 1451, 1452, 1453, 1455, 1460, 1463, 1470, 1471, 1474, 1478, 1479, 1480, 1484, 1485, 1486, 1487, 1490, 1494, 1495, 1496, 1497, 1498, 1499, 1502, 1504, 1506, 1509, 1511, 1522, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1543, 1544, 1545, 1546, 1547, 1548, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1571, 1572, 1573, 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1642, 1643, 1644, 1645, 1646, 1647, 1649, 1650, 1653, 1654, 1657, 1658, 1659, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1676, 1677, 1678, 1679, 1687, 1689, 1690, 1693, 1694, 1697, 1698, 1699, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1717, 1718, 1719, 1720, 1721, 1728, 1729, 1730, 1733, 1734, 1735, 1736, 1737, 1738, 1740, 1741, 1742, 1745, 1753, 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1768, 1769, 1770, 1771, 1772, 1773, 1781, 1783, 1784, 1787, 1788, 1791, 1792, 1793, 1794, 1795, 1798, 1799, 1804, 1805, 1806, 1807, 1815, 1817, 1818, 1821, 1822, 1823, 1824, 1825, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1848, 1850, 1851, 1854, 1855, 1858, 1859, 1860, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1883, 1884, 1885, 1886, 1894, 1896, 1897, 1900, 1901, 1902, 1903, 1904, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1927, 1929, 1930, 1933, 1934, 1935, 1936, 1937, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1954, 1955, 1960, 1961, 1962, 1963, 1971, 1973, 1974, 1977, 1978, 1979, 1980, 1981, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2020, 2022, 2023, 2024, 2025, 2034, 2035, 2036, 2037, 2038, 2039, 2042, 2043, 2047, 2048, 2053, 2054, 2055, 2061, 2063, 2064, 2065, 2066, 2067, 2068, 2071, 2072, 2076, 2077, 2082, 2083, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2103, 2105, 2106, 2107, 2108, 2109, 2115, 2117, 2118, 2119, 2122, 2123, 2124, 2125, 2128, 2129, 2130, 2131, 2132, 2133, 2137, 2138, 2143, 2146, 2152, 2154, 2155, 2156, 2157, 2158, 2159, 2162, 2163, 2167, 2168, 2173, 2174, 2179, 2185, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2197, 2200, 2206, 2207, 2208, 2212, 2213, 2224, 2225, 2226, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2239, 2245, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2256, 2260, 2261, 2262, 2266, 2267, 2278, 2279, 2280, 2283, 2284, 2290, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2316, 2317, 2318, 2319, 2320, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2338, 2341, 2342, 2343, 2344, 2347, 2348, 2350, 2351, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2366, 2374, 2376, 2377, 2378, 2379, 2380, 2381, 2384, 2385, 2386, 2389, 2390, 2391, 2393, 2396, 2397, 2398, 2406, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2429, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2442, 2443, 2445, 2448, 2449, 2457, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2471, 2474, 2475, 2476, 2477, 2485, 2487, 2488, 2489, 2490, 2491, 2494, 2495, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2510, 2511, 2512, 2513, 2514, 2515, 2524, 2526, 2527, 2528, 2529, 2530, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2542, 2543, 2544, 2545, 2553, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2567, 2568, 2571, 2572, 2573, 2574, 2582, 2584, 2585, 2586, 2587, 2588, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2600, 2601, 2602, 2603, 2611, 2613, 2614, 2615, 2616, 2617, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2640, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2653, 2654, 2657, 2658, 2659, 2660, 2668, 2670, 2671, 2672, 2673, 2674, 2677, 2678, 2679, 2680, 2681, 2693, 2695, 2696, 2697, 2698, 2699, 2702, 2703, 2706, 2707, 2708, 2709, 2717, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2730, 2731, 2732, 2735, 2736, 2737, 2743, 2744, 2745, 2753, 2755, 2756, 2757, 2758, 2759, 2762, 2763, 2767, 2768, 2769, 2770, 2778, 2780, 2781, 2782, 2783, 2784, 2787, 2788, 2791, 2792, 2793, 2794, 2802, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2815, 2816, 2817, 2818, 2828, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2843, 2844, 2845, 2846, 2856, 2858, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2871, 2872, 2880, 2882, 2883, 2884, 2885, 2886, 2889, 2890, 2891, 2892, 2900, 2902, 2903, 2904, 2905, 2906, 2909, 2910, 2913, 2914, 2915, 2916, 2924, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2937, 2938, 2939, 2940, 2948, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2961, 2962, 2963, 2971, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2983, 2984, 2985, 2986, 2987, 2995, 2997, 2998, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3012, 3013, 3014, 3015, 3021, 3023, 3024, 3025, 3026, 3027, 3028, 3031, 3032, 3033, 3034, 3035, 3037, 3040, 3041, 3042, 3052, 3054, 3055, 3058, 3059, 3060, 3061, 3062, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3075, 3076, 3084, 3086, 3087, 3090, 3091, 3092, 3093, 3095, 3096, 3097, 3098, 3099, 3100, 3102, 3103, 3104, 3107, 3108, 3109, 3118, 3120, 3121, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3134, 3139, 3141, 3142, 3147, 3148, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3170, 3172, 3173, 3176, 3177, 3178, 3179, 3180, 3185, 3186, 3187, 3188, 3189, 3197, 3199, 3203, 3207, 3210, 3211, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3230, 3231, 3233, 3234, 3237, 3238, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3256, 3257, 3258, 3261, 3262, 3268, 3270, 3271, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3289, 3290, 3291, 3294, 3295, 3301, 3303, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3329, 3330, 3331, 3332, 3333, 3340, 3343, 3346, 3350, 3360, 3362, 3363, 3364, 3367, 3368, 3369, 3372, 3373, 3374, 3375, 3378, 3379, 3380, 3383, 3384, 3385, 3386, 3388, 3389, 3390, 3391, 3394, 3395, 3396, 3397, 3398, 3399, 3409, 3410, 3411, 3412, 3414, 3415, 3416, 3437, 3440, 3441, 3442, 3443, 3444, 3447, 3450, 3451, 3452, 3453, 3454, 3455, 3458, 3461, 3464, 3465, 3466, 3469, 3472, 3473, 3474, 3475, 3483, 3488, 3489, 3490, 3491, 3494, 3497, 3500, 3501, 3506, 3509, 3512, 3513, 3518, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3544, 3547, 3550, 3553, 3556, 3557, 3558, 3559, 3560, 3563, 3566, 3569, 3570, 3571, 3573, 3574, 3577, 3581, 3582, 3583, 3584, 3585, 3588, 3589, 3590, 3593, 3594, 3595, 3596, 3597, 3605, 3608, 3609, 3610, 3611, 3615, 3616, 3617, 3620, 3621, 3622, 3624, 3625, 3626, 3627, 3633, 3634, 3635, 3636, 3637, 3640, 3643, 3646, 3650, 3651, 3654, 3655, 3656, 3657, 3663, 3664, 3665, 3666, 3667, 3669, 3670, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3694, 3695, 3696, 3697, 3698, 3703, 3707, 3708, 3709, 3710, 3711, 3714, 3720, 3723, 3726, 3727, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3750, 3753, 3754, 3755, 3756, 3757], "summary": {"covered_lines": 1695, "num_statements": 2174, "percent_covered": 77.966881324747, "percent_covered_display": "78", "missing_lines": 479, "excluded_lines": 0}, "missing_lines": [349, 407, 408, 409, 416, 417, 418, 423, 424, 425, 430, 431, 432, 439, 440, 441, 446, 447, 448, 474, 620, 621, 627, 729, 730, 731, 732, 733, 734, 735, 736, 739, 740, 741, 742, 743, 744, 745, 746, 749, 750, 753, 757, 765, 768, 771, 772, 773, 774, 777, 778, 786, 787, 788, 935, 939, 940, 943, 944, 945, 946, 957, 958, 961, 962, 965, 966, 967, 976, 979, 980, 981, 1053, 1061, 1087, 1090, 1093, 1094, 1098, 1101, 1104, 1105, 1109, 1112, 1115, 1116, 1122, 1124, 1130, 1215, 1218, 1235, 1244, 1264, 1265, 1275, 1313, 1314, 1320, 1394, 1395, 1403, 1419, 1421, 1424, 1428, 1429, 1435, 1446, 1454, 1475, 1481, 1488, 1489, 1491, 1503, 1505, 1510, 1523, 1524, 1533, 1534, 1651, 1652, 1660, 1661, 1680, 1681, 1691, 1692, 1700, 1701, 1714, 1715, 1716, 1731, 1732, 1739, 1744, 1746, 1747, 1757, 1758, 1766, 1767, 1774, 1775, 1785, 1786, 1796, 1797, 1808, 1809, 1819, 1820, 1826, 1827, 1841, 1842, 1852, 1853, 1861, 1862, 1887, 1888, 1898, 1899, 1905, 1906, 1920, 1921, 1931, 1932, 1938, 1939, 1951, 1952, 1953, 1964, 1965, 1975, 1976, 1982, 1983, 1997, 1998, 2012, 2013, 2026, 2032, 2040, 2041, 2044, 2045, 2046, 2069, 2070, 2073, 2074, 2075, 2126, 2127, 2134, 2135, 2136, 2160, 2161, 2164, 2165, 2166, 2195, 2196, 2198, 2199, 2209, 2210, 2211, 2238, 2254, 2255, 2263, 2264, 2265, 2321, 2322, 2330, 2331, 2337, 2339, 2340, 2352, 2353, 2365, 2367, 2368, 2387, 2388, 2399, 2400, 2421, 2422, 2423, 2440, 2441, 2450, 2451, 2469, 2470, 2472, 2473, 2478, 2479, 2492, 2493, 2496, 2497, 2498, 2508, 2509, 2516, 2517, 2518, 2531, 2532, 2540, 2541, 2546, 2547, 2564, 2565, 2566, 2569, 2570, 2575, 2576, 2589, 2590, 2598, 2599, 2604, 2605, 2618, 2619, 2627, 2628, 2633, 2634, 2651, 2652, 2655, 2656, 2661, 2662, 2675, 2676, 2685, 2686, 2687, 2700, 2701, 2704, 2705, 2710, 2711, 2728, 2729, 2733, 2734, 2741, 2742, 2746, 2747, 2760, 2761, 2764, 2765, 2766, 2771, 2772, 2785, 2786, 2789, 2790, 2795, 2796, 2813, 2814, 2821, 2822, 2839, 2842, 2849, 2850, 2863, 2864, 2869, 2873, 2874, 2887, 2888, 2893, 2894, 2907, 2908, 2911, 2912, 2917, 2918, 2935, 2936, 2941, 2942, 2964, 2965, 2988, 2989, 2999, 3000, 3044, 3045, 3046, 3056, 3057, 3063, 3064, 3065, 3077, 3078, 3088, 3089, 3110, 3111, 3117, 3122, 3123, 3135, 3138, 3143, 3146, 3163, 3164, 3174, 3175, 3181, 3184, 3190, 3191, 3200, 3201, 3204, 3205, 3208, 3209, 3212, 3213, 3228, 3229, 3235, 3236, 3272, 3273, 3304, 3305, 3334, 3335, 3336, 3337, 3338, 3339, 3341, 3342, 3344, 3345, 3347, 3348, 3353, 3354, 3355, 3356, 3357, 3361, 3387, 3400, 3401, 3413, 3419, 3431, 3432, 3433, 3434, 3438, 3439, 3448, 3449, 3459, 3460, 3462, 3463, 3470, 3471, 3495, 3496, 3507, 3508, 3519, 3520, 3554, 3555, 3561, 3567, 3568, 3578, 3579, 3586, 3606, 3607, 3612, 3613, 3639, 3644, 3645, 3647, 3648, 3699, 3700, 3701, 3702, 3704, 3705, 3706, 3728, 3729, 3751, 3752, 3760, 3761, 3762, 3763, 3764], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 13, 14, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 57, 61, 62, 63, 65, 66, 67, 70, 71, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 88, 104, 105, 108, 109, 110, 111, 113, 114, 118, 119, 123, 124, 125, 127, 244, 272, 273, 274, 275, 276, 277, 278, 280, 360, 458, 471, 479, 490, 493, 516, 528, 558, 584, 592, 598, 611, 615, 632, 637, 644, 658, 713, 719, 725, 808, 866, 879, 933, 974, 1051, 1059, 1072, 1073, 1085, 1096, 1107, 1118, 1250, 1257, 1341, 1354, 1365, 1384, 1385, 1392, 1417, 1473, 1477, 1483, 1493, 1501, 1513, 1541, 1542, 1550, 3352, 3359, 3366, 3371, 3377, 3382, 3393, 3408, 3418, 3436, 3446, 3457, 3468, 3493, 3505, 3517, 3531, 3546, 3549, 3552, 3565, 3604, 3642, 3693, 3713, 3722, 3725, 3749, 3759, 3766, 3767, 3768, 3769], "summary": {"covered_lines": 157, "num_statements": 162, "percent_covered": 96.91358024691358, "percent_covered_display": "97", "missing_lines": 5, "excluded_lines": 2}, "missing_lines": [36, 64, 106, 3770, 3771], "excluded_lines": [115, 116]}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3, 6, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": []}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}}, "src/seedpass_gui/app.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 316, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 316, "excluded_lines": 24}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 150, 151, 152, 154, 155, 156, 157, 158, 159, 161, 162, 163, 165, 166, 167, 169, 170, 171, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 207, 210, 211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335, 338, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 354, 355, 356, 357, 358, 359, 368, 371, 374, 375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 396, 398, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 423, 424, 427, 430, 431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 458, 459, 460, 461, 462, 463, 467, 468, 470, 471, 472, 473, 474, 475, 476, 480, 483, 485, 488], "excluded_lines": [57, 58, 59, 464, 465, 466, 477, 478, 479, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 503, 504, 505], "functions": {"LockScreenWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "excluded_lines": []}, "LockScreenWindow.handle_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "excluded_lines": []}, "MainWindow.refresh_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 152], "excluded_lines": []}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": []}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [170, 171], "excluded_lines": []}, "MainWindow.start_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [176, 179], "excluded_lines": []}, "MainWindow.start_vault_sync._runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [177], "excluded_lines": []}, "MainWindow.sync_started": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "MainWindow.sync_finished": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [186, 187], "excluded_lines": []}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [190, 191, 192, 194, 195, 196], "excluded_lines": []}, "MainWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "excluded_lines": []}, "EntryDialog.save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 51, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 51, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352], "excluded_lines": []}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391], "excluded_lines": []}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [394, 395, 396], "excluded_lines": []}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421], "excluded_lines": []}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [424], "excluded_lines": []}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451], "excluded_lines": []}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [454, 455, 456], "excluded_lines": []}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [459, 460, 461, 462, 463, 467, 468], "excluded_lines": [464, 465, 466]}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [471, 472, 473, 474, 475, 476, 480], "excluded_lines": [477, 478, 479]}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [485], "excluded_lines": []}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [504, 505]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 488], "excluded_lines": [489, 503]}}, "classes": {"LockScreenWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 75, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 75, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 176, 177, 179, 183, 186, 187, 190, 191, 192, 194, 195, 196, 199, 200, 201, 202, 203, 204], "excluded_lines": []}, "EntryDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0}, "missing_lines": [211, 212, 213, 214, 216, 217, 221, 222, 223, 224, 227, 228, 230, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 296, 297, 298, 299, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 316, 324, 325, 327, 328, 329, 330, 331, 333, 335], "excluded_lines": []}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 358, 359, 368], "excluded_lines": []}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [375, 376, 377, 379, 384, 385, 386, 388, 389, 390, 391, 394, 395, 396, 399, 400, 403, 405, 406, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 421, 424], "excluded_lines": []}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6}, "missing_lines": [431, 432, 433, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 454, 455, 456, 459, 460, 461, 462, 463, 467, 468, 471, 472, 473, 474, 475, 476, 480], "excluded_lines": [464, 465, 466, 477, 478, 479]}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 198, 207, 210, 265, 338, 341, 354, 371, 374, 393, 398, 423, 427, 430, 453, 458, 470, 483, 485, 488], "excluded_lines": [489, 503, 504, 505]}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 123, "percent_covered": 50.40650406504065, "percent_covered_display": "50", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 205, 207, 208, 210, 211, 212, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mute_logging": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "clean_pubsub": {"executed_lines": [55, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_addoption": {"executed_lines": [61, 67, 73, 79], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_configure": {"executed_lines": [88, 89, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_collection_modifyitems": {"executed_lines": [98, 105, 106, 107, 108, 111, 112, 113, 114], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 101, 102, 103, 109, 115], "excluded_lines": []}, "vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "password_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": []}, "client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [146, 174, 175, 176, 177, 178, 179], "excluded_lines": []}, "make_dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [185, 186, 188, 220], "excluded_lines": []}, "make_dummy_nostr_client._make": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [205], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [225], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 47, 48, 52, 53, 60, 87, 95, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 97.61904761904762, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [205, 208], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [212], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 31, 34, 35, 38, 39, 42, 43, 44, 47, 48, 49, 52, 53, 55, 56, 57, 60, 61, 67, 73, 79, 87, 88, 89, 90, 95, 98, 105, 106, 107, 108, 111, 112, 113, 114, 118, 119, 124, 125, 144, 145, 182, 183, 223, 224], "summary": {"covered_lines": 62, "num_statements": 120, "percent_covered": 51.666666666666664, "percent_covered_display": "52", "missing_lines": 58, "excluded_lines": 0}, "missing_lines": [37, 99, 100, 101, 102, 103, 109, 115, 120, 121, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 146, 174, 175, 176, 177, 178, 179, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 201, 203, 204, 207, 210, 211, 214, 215, 216, 217, 218, 220, 225], "excluded_lines": []}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 167, "percent_covered": 34.131736526946106, "percent_covered_display": "34", "missing_lines": 110, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39, 44, 45, 46, 47, 50, 55, 56, 57, 60, 65, 66, 67, 68, 70, 71, 72, 76, 77, 80, 86, 90, 94, 98, 103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136, 141, 145, 150, 153, 157, 162, 167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "DummyUnsignedEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [55, 56, 57], "excluded_lines": []}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [60], "excluded_lines": []}, "DummyBuilder.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72], "excluded_lines": []}, "DummyBuilder.tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "DummyBuilder.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "DummyTag.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [86], "excluded_lines": []}, "DummyTag.event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [90], "excluded_lines": []}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyTag.expiration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [98], "excluded_lines": []}, "DummyFilter.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": []}, "DummyFilter.author": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [110], "excluded_lines": []}, "DummyFilter.kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 115, 116, 118, 119], "excluded_lines": []}, "DummyFilter.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [122, 123], "excluded_lines": []}, "DummyFilter.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [126, 127, 128], "excluded_lines": []}, "DummyFilter.limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [131, 132], "excluded_lines": []}, "DummyFilter.since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [135, 136], "excluded_lines": []}, "DummyTimestamp.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [141], "excluded_lines": []}, "DummyTimestamp.from_secs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [145], "excluded_lines": []}, "DummyEventId.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [150], "excluded_lines": []}, "DummyEventId.to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [153], "excluded_lines": []}, "DummyEventId.parse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "DummySendResult.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172], "excluded_lines": []}, "DummyRelayClient.add_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [175], "excluded_lines": []}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [178], "excluded_lines": []}, "DummyRelayClient.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [181], "excluded_lines": []}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "DummyRelayClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "excluded_lines": []}, "DummyRelayClient.fetch_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [228], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 50], "excluded_lines": []}, "DummyUnsignedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 60], "excluded_lines": []}, "DummyBuilder": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72, 76, 77, 80], "excluded_lines": []}, "DummyTag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [86, 90, 94, 98], "excluded_lines": []}, "DummyFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "excluded_lines": []}, "DummyTimestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [141, 145], "excluded_lines": []}, "DummyEventId": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [150, 153, 157], "excluded_lines": []}, "DummySendResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [228, 231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 65, "percent_covered": 87.6923076923077, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}}}, "src/tests/test_core_api_services.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 73, 75, 76, 77, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 96, 97, 100, 103, 105, 106, 107, 108, 112, 114, 117, 120, 122, 123, 124, 126, 128, 129, 130, 131, 133, 134, 136, 137, 138, 140, 141, 142, 144, 148, 149, 150, 152, 154, 155, 158, 159, 160, 161, 163, 164, 165, 167, 168, 170, 171, 172, 174, 175, 177, 178, 179, 181, 185, 186, 187, 189, 192, 193, 194, 195, 197, 198, 199, 201, 203, 206, 207, 209, 210, 212, 214, 217, 219, 220, 221, 223, 224, 225, 228, 229, 230, 231, 233, 234, 235, 237, 240, 242, 243, 244, 246, 249, 251, 252, 256, 257, 259, 260, 264, 265, 267, 268, 272, 273, 275, 276, 277, 278, 280, 281, 283, 285, 286, 287, 289, 291, 292, 294, 296, 297, 299, 301, 302, 304, 305, 306, 308, 310, 311, 313, 314, 315, 316, 319, 321, 322, 325, 326, 329, 331, 332, 333, 334, 337, 339, 340, 341, 342, 345, 347, 348, 349, 350, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 372, 374, 375, 376, 378, 379, 381, 383, 384, 385, 387, 388, 390, 392, 393, 394, 396, 397, 399, 401, 402, 403, 405, 406, 408, 410, 411, 412, 414, 415, 417, 419, 420, 421, 423, 424, 426, 428, 429, 430, 432, 433, 435, 437, 438, 439, 441, 442, 444, 461, 463, 464, 466, 467, 469, 470, 472, 473, 475, 476, 478, 480, 481, 483, 484, 485, 487, 488, 489, 491, 492, 493, 496, 497, 498, 499, 501, 502, 503, 505, 508, 510, 511, 512, 514, 515, 516, 520, 527, 528, 532, 533, 534, 536, 537, 538, 540, 541, 542, 544, 545, 547, 550, 553, 554, 556, 557, 558, 560, 561, 563, 564, 567, 568, 569, 570, 572, 573, 576, 577, 579, 583, 584, 587, 589, 590, 591, 593, 594, 595, 598, 599, 600, 601, 603, 604, 605, 607, 608, 609, 611, 612, 613, 615, 616, 618, 619, 620, 622, 623, 625, 626, 627, 629, 632, 633, 634, 635, 636, 638, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 385, "num_statements": 385, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"mock_manager": {"executed_lines": [43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "mock_bus": {"executed_lines": [66, 67], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.service": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_vault": {"executed_lines": [76, 77, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_vault": {"executed_lines": [83, 84, 86, 87], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_export_profile": {"executed_lines": [90, 91, 92, 94, 96, 97, 100, 103], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_import_profile": {"executed_lines": [106, 107, 108, 112, 114, 117, 120], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_change_password": {"executed_lines": [123, 124, 126], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_unlock": {"executed_lines": [129, 130, 131, 133, 134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_lock": {"executed_lines": [137, 138], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_backup_parent_seed": {"executed_lines": [141, 142, 144], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService.test_stats": {"executed_lines": [149, 150, 152, 154, 155], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.service": {"executed_lines": [161], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_list_profiles": {"executed_lines": [164, 165, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_add_profile": {"executed_lines": [171, 172, 174, 175], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_remove_profile": {"executed_lines": [178, 179, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService.test_switch_profile": {"executed_lines": [186, 187, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.service": {"executed_lines": [195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync": {"executed_lines": [198, 199, 201, 203, 206, 207], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_sync_none": {"executed_lines": [210, 212, 214, 217], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_sync": {"executed_lines": [220, 221], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService.test_start_background_vault_sync": {"executed_lines": [224, 225], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.service": {"executed_lines": [231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_list_entries": {"executed_lines": [234, 235, 237, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries": {"executed_lines": [243, 244, 246, 249], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_default_excludes_archived": {"executed_lines": [252, 256, 257], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_include_archived": {"executed_lines": [260, 264, 265], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_search_entries_archived_only": {"executed_lines": [268, 272, 273], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_retrieve_entry": {"executed_lines": [276, 277, 278, 280, 281], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_default": {"executed_lines": [285, 286, 287, 289, 291, 292], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_generate_password_custom": {"executed_lines": [296, 297, 299, 301, 302], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_totp_code": {"executed_lines": [305, 306, 308, 310, 311], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_seed_phrase": {"executed_lines": [314, 315, 316, 319], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_managed_account_seed": {"executed_lines": [322, 325, 326, 329], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_ssh_key_pair": {"executed_lines": [332, 333, 334, 337], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_pgp_key": {"executed_lines": [340, 341, 342, 345], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_nostr_key_pair": {"executed_lines": [348, 349, 350, 353], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_secret_mode_enabled": {"executed_lines": [356, 357], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_get_clipboard_clear_delay": {"executed_lines": [360, 361], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_copy_to_clipboard": {"executed_lines": [364, 365, 366, 367], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_entry": {"executed_lines": [370, 372, 374, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_totp": {"executed_lines": [379, 381, 383, 384, 385], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_ssh_key": {"executed_lines": [388, 390, 392, 393, 394], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_pgp_key": {"executed_lines": [397, 399, 401, 402, 403], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_nostr_key": {"executed_lines": [406, 408, 410, 411, 412], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_seed": {"executed_lines": [415, 417, 419, 420, 421], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_key_value": {"executed_lines": [424, 426, 428, 429, 430], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_add_managed_account": {"executed_lines": [433, 435, 437, 438, 439], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_modify_entry": {"executed_lines": [442, 444, 461], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_archive_entry": {"executed_lines": [464, 466, 467], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_restore_entry": {"executed_lines": [470, 472, 473], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_export_totp_entries": {"executed_lines": [476, 478, 480, 481], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_display_totp_codes": {"executed_lines": [484, 485], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_load_managed_account": {"executed_lines": [488, 489], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService.test_exit_managed_account": {"executed_lines": [492, 493], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.service": {"executed_lines": [499], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get": {"executed_lines": [502, 503, 505, 508], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_simple": {"executed_lines": [511, 512], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_bool": {"executed_lines": [515, 516], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_relays": {"executed_lines": [527, 528], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_invalid_key": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_secret_mode_enabled": {"executed_lines": [537, 538], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_clipboard_clear_delay": {"executed_lines": [541, 542], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_secret_mode": {"executed_lines": [545, 547, 550, 553, 554], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_get_offline_mode": {"executed_lines": [557, 558], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService.test_set_offline_mode": {"executed_lines": [561, 563, 564], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.service": {"executed_lines": [570], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_generate_password": {"executed_lines": [573, 576, 577, 579, 583, 584, 587], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_verify_checksum": {"executed_lines": [590, 591], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService.test_update_checksum": {"executed_lines": [594, 595], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.service": {"executed_lines": [601], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_get_pubkey": {"executed_lines": [604, 605], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_list_relays": {"executed_lines": [608, 609], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_add_relay": {"executed_lines": [612, 613, 615, 616], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_remove_relay": {"executed_lines": [619, 620, 622, 623], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_reset_sync_state": {"executed_lines": [626, 627, 629, 632, 633, 634, 635, 636], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService.test_start_fresh_namespace": {"executed_lines": [639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 63, 64, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MockPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestVaultService": {"executed_lines": [73, 76, 77, 79, 80, 83, 84, 86, 87, 90, 91, 92, 94, 96, 97, 100, 103, 106, 107, 108, 112, 114, 117, 120, 123, 124, 126, 129, 130, 131, 133, 134, 137, 138, 141, 142, 144, 149, 150, 152, 154, 155], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestProfileService": {"executed_lines": [161, 164, 165, 167, 168, 171, 172, 174, 175, 178, 179, 181, 186, 187, 189], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSyncService": {"executed_lines": [195, 198, 199, 201, 203, 206, 207, 210, 212, 214, 217, 220, 221, 224, 225], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEntryService": {"executed_lines": [231, 234, 235, 237, 240, 243, 244, 246, 249, 252, 256, 257, 260, 264, 265, 268, 272, 273, 276, 277, 278, 280, 281, 285, 286, 287, 289, 291, 292, 296, 297, 299, 301, 302, 305, 306, 308, 310, 311, 314, 315, 316, 319, 322, 325, 326, 329, 332, 333, 334, 337, 340, 341, 342, 345, 348, 349, 350, 353, 356, 357, 360, 361, 364, 365, 366, 367, 370, 372, 374, 375, 376, 379, 381, 383, 384, 385, 388, 390, 392, 393, 394, 397, 399, 401, 402, 403, 406, 408, 410, 411, 412, 415, 417, 419, 420, 421, 424, 426, 428, 429, 430, 433, 435, 437, 438, 439, 442, 444, 461, 464, 466, 467, 470, 472, 473, 476, 478, 480, 481, 484, 485, 488, 489, 492, 493], "summary": {"covered_lines": 126, "num_statements": 126, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestConfigService": {"executed_lines": [499, 502, 503, 505, 508, 511, 512, 515, 516, 527, 528, 533, 534, 537, 538, 541, 542, 545, 547, 550, 553, 554, 557, 558, 561, 563, 564], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestUtilityService": {"executed_lines": [570, 573, 576, 577, 579, 583, 584, 587, 590, 591, 594, 595], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestNostrService": {"executed_lines": [601, 604, 605, 608, 609, 612, 613, 615, 616, 619, 620, 622, 623, 626, 627, 629, 632, 633, 634, 635, 636, 639, 641, 643, 649, 650, 651], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 30, 31, 34, 35, 36, 37, 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 63, 64, 66, 67, 70, 71, 72, 75, 82, 89, 105, 122, 128, 136, 140, 148, 158, 159, 160, 163, 170, 177, 185, 192, 193, 194, 197, 209, 219, 223, 228, 229, 230, 233, 242, 251, 259, 267, 275, 283, 294, 304, 313, 321, 331, 339, 347, 355, 359, 363, 369, 378, 387, 396, 405, 414, 423, 432, 441, 463, 469, 475, 483, 487, 491, 496, 497, 498, 501, 510, 514, 520, 532, 536, 540, 544, 556, 560, 567, 568, 569, 572, 589, 593, 598, 599, 600, 603, 607, 611, 618, 625, 638], "summary": {"covered_lines": 121, "num_statements": 121, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_action_matrix.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 85, 86, 88, 90, 97, 98, 107, 109, 119, 120, 121, 130, 132, 135, 136, 137, 145, 147, 157, 158, 159, 168, 170, 173, 174, 175, 183, 185, 194, 195, 196, 204, 206, 209, 210, 211, 219, 221, 229, 230, 231, 232, 233, 240, 242, 245, 246, 247, 254, 256, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 290, 291, 293, 297, 306, 310, 311, 312, 314, 321, 328, 335, 336, 338, 339, 341, 342, 343, 345, 346, 347, 348, 350, 351, 353, 355, 356, 357, 358, 360, 368, 369, 374, 377, 378, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 621, 622, 623, 624, 625, 626, 627, 629, 630, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 660, 661, 662, 663, 664, 665, 667, 668, 669, 670, 671, 672, 673, 674, 675, 677, 678, 679, 680, 681, 682, 683, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 709, 712, 715, 718, 721, 723, 724, 725, 726, 727, 728, 730, 731, 734, 735, 736, 747, 748, 749, 750, 751, 752, 754, 755, 756, 758, 759, 760, 762, 763, 764, 766, 767, 768, 770, 771, 772, 773, 774, 775], "summary": {"covered_lines": 437, "num_statements": 477, "percent_covered": 91.61425576519916, "percent_covered_display": "92", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398, 685, 687], "excluded_lines": [], "functions": {"MatrixEntryService.__init__": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService._next_id": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.search_entries": {"executed_lines": [56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 69], "excluded_lines": []}, "MatrixEntryService.retrieve_entry": {"executed_lines": [86, 88], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [87], "excluded_lines": []}, "MatrixEntryService.add_entry": {"executed_lines": [97, 98, 107], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_totp": {"executed_lines": [119, 120, 121, 130], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_key_value": {"executed_lines": [135, 136, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_document": {"executed_lines": [157, 158, 159, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_ssh_key": {"executed_lines": [173, 174, 175, 183], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_pgp_key": {"executed_lines": [194, 195, 196, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_nostr_key": {"executed_lines": [209, 210, 211, 219], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_seed": {"executed_lines": [229, 230, 231, 232, 233, 240], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_managed_account": {"executed_lines": [245, 246, 247, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.export_document_file": {"executed_lines": [263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [267, 271, 275], "excluded_lines": []}, "MatrixEntryService.modify_entry": {"executed_lines": [283, 284, 285, 286, 287, 288], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.generate_password": {"executed_lines": [291], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [294, 295], "excluded_lines": []}, "MatrixEntryService.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [298, 299], "excluded_lines": []}, "MatrixEntryService.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [307, 308], "excluded_lines": []}, "MatrixEntryService.get_totp_code": {"executed_lines": [311, 312], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [315, 316], "excluded_lines": []}, "MatrixEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [322, 323], "excluded_lines": []}, "MatrixEntryService.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [329, 330], "excluded_lines": []}, "MatrixEntryService.get_secret_mode_enabled": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.get_clipboard_clear_delay": {"executed_lines": [339], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.copy_to_clipboard": {"executed_lines": [342, 343], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.archive_entry": {"executed_lines": [346, 347, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.restore_entry": {"executed_lines": [351, 353], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [352], "excluded_lines": []}, "MatrixEntryService.get_links": {"executed_lines": [356, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MatrixEntryService.add_link": {"executed_lines": [368, 369], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [370, 371, 372], "excluded_lines": []}, "MatrixEntryService.remove_link": {"executed_lines": [377, 378], "summary": {"covered_lines": 2, "num_statements": 12, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "excluded_lines": []}, "MatrixEntryService.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [391, 392, 393, 394, 395], "excluded_lines": []}, "MatrixEntryService.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [398], "excluded_lines": []}, "_build_app": {"executed_lines": [402, 404, 407, 411, 412, 413, 414], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [405], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status": {"executed_lines": [418], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success": {"executed_lines": [423, 424, 426, 432, 433, 434, 435, 436, 437, 438, 442, 443], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_init_retry_failure_and_success._factory": {"executed_lines": [427, 428, 429, 430], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_service_unavailable_and_no_retry": {"executed_lines": [448, 449, 450, 451, 454, 455, 456], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_matrix_actions_palette_events_and_guards": {"executed_lines": [461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 621, 622, 623, 624, 625, 626, 627, 629, 630, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 660, 661, 662, 663, 664, 665, 667, 668, 669, 670, 671, 672, 673, 674, 675, 677, 678, 679, 680, 681, 682, 683, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 709, 712, 715, 718, 721, 723, 724, 725, 726, 727, 728, 730, 731], "summary": {"covered_lines": 220, "num_statements": 222, "percent_covered": 99.09909909909909, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [685, 687], "excluded_lines": []}, "test_tui2_matrix_failure_paths_and_retry": {"executed_lines": [736, 747, 748, 749, 750, 751, 752, 754, 755, 756, 758, 759, 760, 762, 763, 764, 766, 767, 768, 770, 771, 772, 773, 774, 775], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 417, 421, 422, 446, 447, 459, 460, 734, 735], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MatrixEntryService": {"executed_lines": [27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 83, 86, 88, 97, 98, 107, 119, 120, 121, 130, 135, 136, 137, 145, 157, 158, 159, 168, 173, 174, 175, 183, 194, 195, 196, 204, 209, 210, 211, 219, 229, 230, 231, 232, 233, 240, 245, 246, 247, 254, 263, 264, 265, 266, 268, 269, 270, 273, 274, 277, 278, 279, 280, 283, 284, 285, 286, 287, 288, 291, 311, 312, 336, 339, 342, 343, 346, 347, 348, 351, 353, 356, 357, 358, 368, 369, 377, 378], "summary": {"covered_lines": 109, "num_statements": 147, "percent_covered": 74.14965986394557, "percent_covered_display": "74", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [57, 69, 87, 267, 271, 275, 294, 295, 298, 299, 307, 308, 315, 316, 322, 323, 329, 330, 352, 370, 371, 372, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 391, 392, 393, 394, 395, 398], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 45, 48, 85, 90, 109, 132, 147, 170, 185, 206, 221, 242, 256, 282, 290, 293, 297, 306, 310, 314, 321, 328, 335, 338, 341, 345, 350, 355, 360, 374, 390, 397, 401, 402, 404, 405, 407, 411, 412, 413, 414, 417, 418, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 442, 443, 446, 447, 448, 449, 450, 451, 454, 455, 456, 459, 460, 461, 480, 481, 483, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 621, 622, 623, 624, 625, 626, 627, 629, 630, 631, 632, 633, 634, 636, 637, 638, 639, 640, 641, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 654, 655, 656, 657, 658, 660, 661, 662, 663, 664, 665, 667, 668, 669, 670, 671, 672, 673, 674, 675, 677, 678, 679, 680, 681, 682, 683, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 709, 712, 715, 718, 721, 723, 724, 725, 726, 727, 728, 730, 731, 734, 735, 736, 747, 748, 749, 750, 751, 752, 754, 755, 756, 758, 759, 760, 762, 763, 764, 766, 767, 768, 770, 771, 772, 773, 774, 775], "summary": {"covered_lines": 328, "num_statements": 330, "percent_covered": 99.39393939393939, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [685, 687], "excluded_lines": []}}}, "src/tests/test_tui_v2_helpers.py": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_parse_palette_command_ok": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_empty": {"executed_lines": [20, 21], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_palette_command_unbalanced_quotes": {"executed_lines": [25, 26], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_normalizes_page": {"executed_lines": [30, 33, 34, 35, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_empty": {"executed_lines": [40, 43, 44, 45, 46], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_rejects_nonpositive_page_size": {"executed_lines": [50, 51], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_no_content": {"executed_lines": [55, 56], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_truncate_entry_for_display_truncates_content": {"executed_lines": [60, 61, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_render_qr_ascii_nonempty": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_pagination_window_large_vault_sizes": {"executed_lines": [75, 76, 79, 80, 81], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 13, 19, 24, 29, 39, 49, 54, 59, 65, 72, 73], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 33, 34, 35, 36, 39, 40, 43, 44, 45, 46, 49, 50, 51, 54, 55, 56, 59, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 75, 76, 79, 80, 81], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_parity_scenarios.py": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 56, 57, 59, 66, 67, 69, 70, 72, 73, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 91, "num_statements": 111, "percent_covered": 81.98198198198199, "percent_covered_display": "82", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [15, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [38, 43], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [83, 84, 85], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "_build_app": {"executed_lines": [103, 105, 108, 109, 110, 111, 112], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [106], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [116], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [120, 121, 122, 123], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [127], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_filters_cover_all_entry_kinds": {"executed_lines": [132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_archive_restore_roundtrip_non_document": {"executed_lines": [166, 169, 171, 172, 173, 174, 175, 177, 178, 179], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_parity_edit_document_guard_for_non_document": {"executed_lines": [184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 115, 119, 126, 130, 131, 164, 165, 182, 183], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 54, 57, 67, 70, 73], "summary": {"covered_lines": 21, "num_statements": 41, "percent_covered": 51.21951219512195, "percent_covered_display": "51", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 43, 60, 61, 62, 63, 64, 83, 84, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 8, 10, 13, 14, 21, 56, 59, 66, 69, 72, 75, 87, 102, 103, 105, 106, 108, 109, 110, 111, 112, 115, 116, 119, 120, 121, 122, 123, 126, 127, 130, 131, 132, 143, 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, 160, 161, 164, 165, 166, 169, 171, 172, 173, 174, 175, 177, 178, 179, 182, 183, 184, 186, 187, 188, 189, 190], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_tui_v2_textual_interactions.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 31, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 70, 71, 73, 80, 81, 90, 92, 101, 102, 103, 112, 114, 115, 116, 124, 126, 127, 128, 136, 138, 141, 142, 143, 151, 153, 162, 163, 164, 172, 174, 177, 178, 179, 187, 189, 197, 198, 199, 200, 201, 208, 210, 213, 214, 215, 222, 224, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 250, 251, 252, 253, 255, 257, 258, 260, 261, 262, 264, 265, 266, 273, 274, 275, 277, 278, 279, 281, 282, 283, 284, 285, 292, 294, 295, 296, 301, 308, 309, 310, 315, 316, 318, 319, 321, 322, 323, 325, 328, 331, 332, 334, 342, 343, 350, 352, 355, 356, 357, 363, 364, 366, 367, 368, 369, 371, 373, 374, 377, 378, 379, 380, 381, 382, 383, 385, 386, 388, 389, 390, 391, 393, 395, 396, 397, 398, 399, 401, 402, 403, 405, 406, 408, 409, 410, 412, 414, 417, 418, 419, 420, 421, 422, 423, 424, 425, 427, 428, 429, 431, 432, 434, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 456, 457, 458, 459, 460, 462, 463, 465, 466, 468, 469, 471, 473, 474, 476, 478, 479, 480, 482, 483, 485, 486, 487, 490, 491, 492, 495, 496, 497, 498, 500, 501, 502, 504, 505, 508, 509, 510, 511, 513, 514, 516, 517, 520, 521, 522, 523, 524, 526, 527, 528, 529, 530, 532, 533, 534, 536, 537, 538, 539, 540, 541, 542, 543, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 744, 746, 747, 749, 750, 751, 752, 753, 754, 756, 757, 758, 761, 762, 763, 771, 773, 774, 776, 777, 778, 779, 780, 782, 783, 784, 785, 786, 787, 788, 791, 792, 793, 794, 795, 796, 797, 798, 799, 802, 803, 804, 823, 825, 826, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 840, 841, 842, 843, 845, 846, 847, 850, 851, 852, 865, 867, 868, 869, 870, 871, 872, 874, 875, 876, 877, 879, 880, 881, 882, 883, 886, 887, 888, 894, 896, 897, 898, 899, 900, 902, 903, 904, 905, 906, 909, 910, 911, 929, 930, 931, 933, 934, 936, 937, 938, 939, 941, 942, 943, 944, 946, 947, 948, 949, 951, 952, 953, 956, 957, 958, 962, 964, 965, 966, 968, 969, 971, 972, 973, 976, 977, 978, 979, 981, 982, 984, 985, 986, 987, 989, 990, 991, 992, 993, 995, 996, 997, 998, 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1015, 1016, 1017, 1018, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1063, 1064, 1065, 1067, 1068, 1069, 1071, 1072, 1073, 1076, 1077, 1080, 1097, 1099, 1100, 1101, 1102, 1104, 1105, 1106, 1108, 1109, 1110, 1112, 1113, 1114, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1141, 1142, 1145, 1151, 1153, 1154, 1155, 1156, 1157, 1159, 1160, 1161, 1163, 1164, 1165, 1167, 1168, 1169, 1171, 1172, 1173, 1175, 1176, 1177, 1179, 1180, 1181, 1185, 1186, 1187, 1189, 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1200, 1201, 1202, 1231, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1270, 1271, 1272, 1278, 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1290, 1291, 1292, 1293, 1294, 1296, 1297, 1298, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1311, 1312, 1313, 1334, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1357, 1358, 1359, 1362, 1363, 1364, 1376, 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1394, 1396, 1397, 1398, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1420, 1421, 1423, 1424, 1425, 1427, 1428, 1429, 1430, 1432, 1433, 1434, 1435, 1436, 1438, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1481, 1482, 1483, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1495, 1496, 1497, 1498, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1527, 1529, 1530, 1531, 1533, 1534, 1535, 1536, 1538, 1539, 1540, 1541, 1543, 1546, 1547, 1551, 1557, 1558, 1559, 1565, 1567, 1568, 1570, 1571, 1572, 1573, 1575, 1576, 1577, 1578, 1580, 1581, 1582, 1583, 1585, 1586, 1587, 1590, 1591, 1592, 1593, 1595, 1596, 1597, 1598, 1599, 1601, 1602, 1603, 1605, 1606, 1607, 1609, 1610, 1611, 1613, 1614, 1615, 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1633, 1634, 1635, 1637, 1638, 1639, 1641, 1642, 1643, 1645, 1646, 1647, 1649, 1650, 1651, 1653, 1654, 1655, 1657, 1658, 1659, 1661, 1662, 1663, 1665, 1666, 1667, 1669, 1670, 1671, 1673, 1674, 1675, 1677, 1678, 1679, 1681, 1682, 1683, 1684, 1685, 1694, 1695, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1707, 1709, 1710, 1711, 1713, 1714, 1715, 1717, 1718, 1719, 1721, 1722, 1723, 1728, 1729, 1730, 1732, 1733, 1734, 1736, 1737, 1738, 1740, 1741, 1742, 1744, 1745, 1746], "summary": {"covered_lines": 1012, "num_statements": 1036, "percent_covered": 97.68339768339769, "percent_covered_display": "98", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370, 392, 404, 411, 413, 453, 470, 475, 701, 703], "excluded_lines": [], "functions": {"FakeEntryService.__init__": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService._next_id": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.search_entries": {"executed_lines": [39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.retrieve_entry": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_entry": {"executed_lines": [80, 81, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_totp": {"executed_lines": [101, 102, 103, 112], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_key_value": {"executed_lines": [115, 116, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_document": {"executed_lines": [127, 128, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_ssh_key": {"executed_lines": [141, 142, 143, 151], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_pgp_key": {"executed_lines": [162, 163, 164, 172], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_nostr_key": {"executed_lines": [177, 178, 179, 187], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_seed": {"executed_lines": [197, 198, 199, 200, 201, 208], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_managed_account": {"executed_lines": [213, 214, 215, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_document_file": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [235, 239, 243], "excluded_lines": []}, "FakeEntryService.modify_entry": {"executed_lines": [251, 252, 253, 255], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [254], "excluded_lines": []}, "FakeEntryService.generate_password": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_seed_phrase": {"executed_lines": [261, 262], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_managed_account_seed": {"executed_lines": [265, 266], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_secret": {"executed_lines": [274, 275], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_totp_code": {"executed_lines": [278, 279], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.export_totp_entries": {"executed_lines": [282, 283, 284, 285, 292], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [286], "excluded_lines": []}, "FakeEntryService.get_ssh_key_pair": {"executed_lines": [295, 296], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [302, 303], "excluded_lines": []}, "FakeEntryService.get_nostr_key_pair": {"executed_lines": [309, 310], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_secret_mode_enabled": {"executed_lines": [316], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.get_clipboard_clear_delay": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.copy_to_clipboard": {"executed_lines": [322, 323], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [326], "excluded_lines": []}, "FakeEntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [329], "excluded_lines": []}, "FakeEntryService.get_links": {"executed_lines": [332], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.add_link": {"executed_lines": [342, 343, 350], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeEntryService.remove_link": {"executed_lines": [355, 356, 357, 363, 364], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [358, 359, 360, 361, 362], "excluded_lines": []}, "FakeEntryService.load_managed_account": {"executed_lines": [367, 368, 369, 371], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [370], "excluded_lines": []}, "FakeEntryService.exit_managed_account": {"executed_lines": [374], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.__init__": {"executed_lines": [379, 380, 381, 382, 383], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.list_profiles": {"executed_lines": [386], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.switch_profile": {"executed_lines": [389, 390, 391, 393], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [392], "excluded_lines": []}, "FakeProfileService.add_profile": {"executed_lines": [396, 397, 398, 399], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeProfileService.remove_profile": {"executed_lines": [402, 403, 405, 406], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [404], "excluded_lines": []}, "FakeProfileService.rename_profile": {"executed_lines": [409, 410, 412, 414], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [411, 413], "excluded_lines": []}, "FakeConfigService.__init__": {"executed_lines": [419, 420, 421, 422, 423, 424, 425], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_secret_mode": {"executed_lines": [428, 429], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set_offline_mode": {"executed_lines": [432], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeConfigService.set": {"executed_lines": [435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService.__init__": {"executed_lines": [458, 459, 460], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.get_pubkey": {"executed_lines": [463], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.list_relays": {"executed_lines": [466], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.add_relay": {"executed_lines": [469, 471], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [470], "excluded_lines": []}, "FakeNostrService.remove_relay": {"executed_lines": [474, 476], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [475], "excluded_lines": []}, "FakeNostrService.reset_relays": {"executed_lines": [479, 480], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.reset_sync_state": {"executed_lines": [483], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeNostrService.start_fresh_namespace": {"executed_lines": [486, 487], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncResult.__init__": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.__init__": {"executed_lines": [497, 498], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.sync": {"executed_lines": [501, 502], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService.start_background_vault_sync": {"executed_lines": [505], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.__init__": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.verify_checksum": {"executed_lines": [514], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService.update_checksum": {"executed_lines": [517], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.__init__": {"executed_lines": [522, 523, 524], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.export_vault": {"executed_lines": [527, 528, 529, 530], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.import_vault": {"executed_lines": [533, 534], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService.backup_parent_seed": {"executed_lines": [537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app": {"executed_lines": [556, 558, 561, 583, 584, 585, 586], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_build_app._hook": {"executed_lines": [559], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_widget_text": {"executed_lines": [590], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_status_text": {"executed_lines": [594], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_filters_text": {"executed_lines": [598], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_run_palette": {"executed_lines": [602, 603, 604, 605, 606], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_pagination_and_search_flow": {"executed_lines": [611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_archive_scope_filters": {"executed_lines": [636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_document_edit_save_flow": {"executed_lines": [674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}, "test_tui2_textual_link_commands_and_neighbor_open": {"executed_lines": [717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_help_commands_reference": {"executed_lines": [743, 744, 746, 747, 749, 750, 751, 752, 753, 754, 756, 757, 758], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_quickstart_and_stats_commands": {"executed_lines": [763, 771, 773, 774, 776, 777, 778, 779, 780, 782, 783, 784, 785, 786, 787, 788], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_empty_vault_shows_quickstart": {"executed_lines": [793, 794, 795, 796, 797, 798, 799], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_reveal_and_qr_flow": {"executed_lines": [804, 823, 825, 826, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 840, 841, 842, 843, 845, 846, 847], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_keyboard_reveal_and_qr": {"executed_lines": [852, 865, 867, 868, 869, 870, 871, 872, 874, 875, 876, 877, 879, 880, 881, 882, 883], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_filters_panel_tracks_selected_entry": {"executed_lines": [888, 894, 896, 897, 898, 899, 900, 902, 903, 904, 905, 906], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_sensitive_confirm_and_secret_mode_clipboard": {"executed_lines": [911, 929, 930, 931, 933, 934, 936, 937, 938, 939, 941, 942, 943, 944, 946, 947, 948, 949, 951, 952, 953], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_retry_after_search_failure": {"executed_lines": [958, 962, 964, 965, 966, 968, 969, 971, 972, 973], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands": {"executed_lines": [978, 979, 981, 982, 984, 985, 986, 987, 989, 990, 991, 992, 993, 995, 996, 997, 998, 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1015, 1016, 1017, 1018, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_add_commands_validation_errors": {"executed_lines": [1033, 1034, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1063, 1064, 1065, 1067, 1068, 1069, 1071, 1072, 1073], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export": {"executed_lines": [1080, 1097, 1099, 1100, 1101, 1102, 1104, 1105, 1106, 1108, 1109, 1110, 1112, 1113, 1114, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1138], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_notes_tags_fields_and_doc_export_validation": {"executed_lines": [1145, 1151, 1153, 1154, 1155, 1156, 1157, 1159, 1160, 1161, 1163, 1164, 1165, 1167, 1168, 1169, 1171, 1172, 1173, 1175, 1176, 1177, 1179, 1180, 1181, 1185, 1186, 1187, 1189, 1190, 1191, 1193, 1194, 1195, 1196, 1197], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_non_document_kinds": {"executed_lines": [1202, 1231, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_palette_set_clear_field_validation": {"executed_lines": [1272, 1278, 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1290, 1291, 1292, 1293, 1294, 1296, 1297, 1298, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_view_timer_and_copy": {"executed_lines": [1313, 1334, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1357, 1358, 1359], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_2fa_board_secret_mode_and_validation": {"executed_lines": [1364, 1376, 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1394, 1396, 1397, 1398], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_commands": {"executed_lines": [1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1420, 1421, 1423, 1424, 1425, 1427, 1428, 1429, 1430, 1432, 1433, 1434, 1435, 1436, 1438, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1481, 1482, 1483, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1495, 1496, 1497, 1498, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1527, 1529, 1530, 1531, 1533, 1534, 1535, 1536, 1538, 1539, 1540, 1541, 1543, 1546, 1547, 1551], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_managed_account_session_palette_commands": {"executed_lines": [1559, 1565, 1567, 1568, 1570, 1571, 1572, 1573, 1575, 1576, 1577, 1578, 1580, 1581, 1582, 1583, 1585, 1586, 1587], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_tui2_textual_profiles_and_settings_palette_validation": {"executed_lines": [1592, 1593, 1595, 1596, 1597, 1598, 1599, 1601, 1602, 1603, 1605, 1606, 1607, 1609, 1610, 1611, 1613, 1614, 1615, 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1633, 1634, 1635, 1637, 1638, 1639, 1641, 1642, 1643, 1645, 1646, 1647, 1649, 1650, 1651, 1653, 1654, 1655, 1657, 1658, 1659, 1661, 1662, 1663, 1665, 1666, 1667, 1669, 1670, 1671, 1673, 1674, 1675, 1677, 1678, 1679, 1681, 1682, 1683, 1684, 1685, 1694, 1695, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1707, 1709, 1710, 1711, 1713, 1714, 1715, 1717, 1718, 1719, 1721, 1722, 1723, 1728, 1729, 1730, 1732, 1733, 1734, 1736, 1737, 1738, 1740, 1741, 1742, 1744, 1745, 1746], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 589, 593, 597, 601, 609, 610, 634, 635, 672, 673, 715, 716, 741, 742, 761, 762, 791, 792, 802, 803, 850, 851, 886, 887, 909, 910, 956, 957, 976, 977, 1031, 1032, 1076, 1077, 1141, 1142, 1200, 1201, 1270, 1271, 1311, 1312, 1362, 1363, 1401, 1402, 1557, 1558, 1590, 1591], "summary": {"covered_lines": 129, "num_statements": 129, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FakeEntryService": {"executed_lines": [16, 17, 21, 22, 23, 24, 25, 26, 29, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 71, 80, 81, 90, 101, 102, 103, 112, 115, 116, 124, 127, 128, 136, 141, 142, 143, 151, 162, 163, 164, 172, 177, 178, 179, 187, 197, 198, 199, 200, 201, 208, 213, 214, 215, 222, 231, 232, 233, 234, 236, 237, 238, 241, 242, 245, 246, 247, 248, 251, 252, 253, 255, 258, 261, 262, 265, 266, 274, 275, 278, 279, 282, 283, 284, 285, 292, 295, 296, 309, 310, 316, 319, 322, 323, 332, 342, 343, 350, 355, 356, 357, 363, 364, 367, 368, 369, 371, 374], "summary": {"covered_lines": 118, "num_statements": 133, "percent_covered": 88.7218045112782, "percent_covered_display": "89", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [235, 239, 243, 254, 286, 302, 303, 326, 329, 358, 359, 360, 361, 362, 370], "excluded_lines": []}, "FakeProfileService": {"executed_lines": [379, 380, 381, 382, 383, 386, 389, 390, 391, 393, 396, 397, 398, 399, 402, 403, 405, 406, 409, 410, 412, 414], "summary": {"covered_lines": 22, "num_statements": 26, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [392, 404, 411, 413], "excluded_lines": []}, "FakeConfigService": {"executed_lines": [419, 420, 421, 422, 423, 424, 425, 428, 429, 432, 435, 436, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [453], "excluded_lines": []}, "FakeNostrService": {"executed_lines": [458, 459, 460, 463, 466, 469, 471, 474, 476, 479, 480, 483, 486, 487], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [470, 475], "excluded_lines": []}, "FakeSyncResult": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeSyncService": {"executed_lines": [497, 498, 501, 502, 505], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeUtilityService": {"executed_lines": [510, 511, 514, 517], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FakeVaultService": {"executed_lines": [522, 523, 524, 527, 528, 529, 530, 533, 534, 537, 538, 539, 540, 541, 542, 543], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 11, 14, 15, 28, 31, 70, 73, 92, 114, 126, 138, 153, 174, 189, 210, 224, 250, 257, 260, 264, 273, 277, 281, 294, 301, 308, 315, 318, 321, 325, 328, 331, 334, 352, 366, 373, 377, 378, 385, 388, 395, 401, 408, 417, 418, 427, 431, 434, 456, 457, 462, 465, 468, 473, 478, 482, 485, 490, 491, 495, 496, 500, 504, 508, 509, 513, 516, 520, 521, 526, 532, 536, 546, 556, 558, 559, 561, 583, 584, 585, 586, 589, 590, 593, 594, 597, 598, 601, 602, 603, 604, 605, 606, 609, 610, 611, 615, 617, 618, 619, 620, 621, 623, 624, 625, 627, 628, 629, 630, 631, 634, 635, 636, 648, 650, 651, 652, 653, 654, 656, 657, 658, 659, 661, 662, 663, 664, 665, 667, 668, 669, 672, 673, 674, 686, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699, 705, 706, 708, 709, 710, 711, 712, 715, 716, 717, 723, 725, 726, 728, 729, 730, 732, 733, 734, 736, 737, 738, 741, 742, 743, 744, 746, 747, 749, 750, 751, 752, 753, 754, 756, 757, 758, 761, 762, 763, 771, 773, 774, 776, 777, 778, 779, 780, 782, 783, 784, 785, 786, 787, 788, 791, 792, 793, 794, 795, 796, 797, 798, 799, 802, 803, 804, 823, 825, 826, 828, 829, 830, 831, 833, 834, 835, 836, 837, 838, 840, 841, 842, 843, 845, 846, 847, 850, 851, 852, 865, 867, 868, 869, 870, 871, 872, 874, 875, 876, 877, 879, 880, 881, 882, 883, 886, 887, 888, 894, 896, 897, 898, 899, 900, 902, 903, 904, 905, 906, 909, 910, 911, 929, 930, 931, 933, 934, 936, 937, 938, 939, 941, 942, 943, 944, 946, 947, 948, 949, 951, 952, 953, 956, 957, 958, 962, 964, 965, 966, 968, 969, 971, 972, 973, 976, 977, 978, 979, 981, 982, 984, 985, 986, 987, 989, 990, 991, 992, 993, 995, 996, 997, 998, 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1015, 1016, 1017, 1018, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1040, 1041, 1043, 1044, 1045, 1047, 1048, 1049, 1051, 1052, 1053, 1055, 1056, 1057, 1059, 1060, 1061, 1063, 1064, 1065, 1067, 1068, 1069, 1071, 1072, 1073, 1076, 1077, 1080, 1097, 1099, 1100, 1101, 1102, 1104, 1105, 1106, 1108, 1109, 1110, 1112, 1113, 1114, 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1141, 1142, 1145, 1151, 1153, 1154, 1155, 1156, 1157, 1159, 1160, 1161, 1163, 1164, 1165, 1167, 1168, 1169, 1171, 1172, 1173, 1175, 1176, 1177, 1179, 1180, 1181, 1185, 1186, 1187, 1189, 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1200, 1201, 1202, 1231, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1270, 1271, 1272, 1278, 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1290, 1291, 1292, 1293, 1294, 1296, 1297, 1298, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1311, 1312, 1313, 1334, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1357, 1358, 1359, 1362, 1363, 1364, 1376, 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1394, 1396, 1397, 1398, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1420, 1421, 1423, 1424, 1425, 1427, 1428, 1429, 1430, 1432, 1433, 1434, 1435, 1436, 1438, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477, 1478, 1479, 1481, 1482, 1483, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1495, 1496, 1497, 1498, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1524, 1525, 1526, 1527, 1529, 1530, 1531, 1533, 1534, 1535, 1536, 1538, 1539, 1540, 1541, 1543, 1546, 1547, 1551, 1557, 1558, 1559, 1565, 1567, 1568, 1570, 1571, 1572, 1573, 1575, 1576, 1577, 1578, 1580, 1581, 1582, 1583, 1585, 1586, 1587, 1590, 1591, 1592, 1593, 1595, 1596, 1597, 1598, 1599, 1601, 1602, 1603, 1605, 1606, 1607, 1609, 1610, 1611, 1613, 1614, 1615, 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1633, 1634, 1635, 1637, 1638, 1639, 1641, 1642, 1643, 1645, 1646, 1647, 1649, 1650, 1651, 1653, 1654, 1655, 1657, 1658, 1659, 1661, 1662, 1663, 1665, 1666, 1667, 1669, 1670, 1671, 1673, 1674, 1675, 1677, 1678, 1679, 1681, 1682, 1683, 1684, 1685, 1694, 1695, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1707, 1709, 1710, 1711, 1713, 1714, 1715, 1717, 1718, 1719, 1721, 1722, 1723, 1728, 1729, 1730, 1732, 1733, 1734, 1736, 1737, 1738, 1740, 1741, 1742, 1744, 1745, 1746], "summary": {"covered_lines": 810, "num_statements": 812, "percent_covered": 99.75369458128078, "percent_covered_display": "99", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [701, 703], "excluded_lines": []}}}, "src/utils/__init__.py": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}, "classes": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}}, "src/utils/atomic_write.py": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/checksum.py": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "json_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [36, 37], "excluded_lines": []}, "calculate_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137], "excluded_lines": []}, "verify_and_update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 155, 156, 157, 158, 160, 161, 162], "excluded_lines": []}, "initialize_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198], "excluded_lines": []}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}, "": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}}}, "src/utils/clipboard.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29], "excluded_lines": []}, "copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [38, 40, 42, 46, 47, 48, 49], "excluded_lines": []}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [43, 44], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": []}}}, "src/utils/color_scheme.py": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "color_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": []}}}, "src/utils/file_lock.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"_get_portalocker_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24], "excluded_lines": []}, "exclusive_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41], "excluded_lines": []}, "shared_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 27, 28, 44, 45], "summary": {"covered_lines": 10, "num_statements": 25, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [14, 15, 17, 21, 22, 24, 38, 39, 40, 41, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/fingerprint.py": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}, "": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 14, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [30, 32, 35, 38, 39, 41, 42, 43, 44], "excluded_lines": []}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 122, "percent_covered": 18.852459016393443, "percent_covered_display": "19", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37], "excluded_lines": []}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [50, 51, 53, 54], "excluded_lines": []}, "FingerprintManager._ensure_app_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64, 67], "excluded_lines": []}, "FingerprintManager._load_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88], "excluded_lines": []}, "FingerprintManager._save_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [94, 95, 100, 104, 107, 108, 109], "excluded_lines": []}, "FingerprintManager.add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "FingerprintManager.remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183], "excluded_lines": []}, "FingerprintManager.list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [192, 193], "excluded_lines": []}, "FingerprintManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [205, 206, 207, 208, 209, 211, 212], "excluded_lines": []}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": []}, "FingerprintManager.get_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [227], "excluded_lines": []}, "FingerprintManager.display_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [231, 232], "excluded_lines": []}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FingerprintManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 99, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/imghdr_stub.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": [], "functions": {"what": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "excluded_lines": []}, "test_jpeg": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59], "excluded_lines": []}, "test_png": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [67, 68], "excluded_lines": []}, "test_gif": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "test_tiff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [85, 86], "excluded_lines": []}, "test_rgb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [94, 95], "excluded_lines": []}, "test_pbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [103, 104], "excluded_lines": []}, "test_pgm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [112, 113], "excluded_lines": []}, "test_ppm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [121, 122], "excluded_lines": []}, "test_rast": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [130, 131], "excluded_lines": []}, "test_xbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [139, 140], "excluded_lines": []}, "test_bmp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [148, 149], "excluded_lines": []}, "test_webp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [157, 158], "excluded_lines": []}, "test_exr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": []}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22], "excluded_lines": []}, "_timed_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 2}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "excluded_lines": [27, 28]}, "timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 58], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [9, 10]}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28]}}}, "src/utils/key_derivation.py": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133], "excluded_lines": []}, "derive_key_from_password_argon2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 3}, "missing_lines": [147, 148, 149, 151, 152, 153, 155, 156, 157, 166], "excluded_lines": [167, 168, 169]}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": []}, "derive_index_key_seed_only": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219], "excluded_lines": []}, "derive_index_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [224], "excluded_lines": []}, "derive_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": []}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [49, 50]}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169]}}}, "src/utils/key_hierarchy.py": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": [], "functions": {"kd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}}}, "src/utils/key_validation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": [], "functions": {"validate_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20], "excluded_lines": []}, "validate_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 35, 36, 37, 38], "excluded_lines": []}, "validate_pgp_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [43, 44, 45, 46, 47, 48], "excluded_lines": []}, "validate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60], "excluded_lines": []}, "validate_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 69], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 44, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 25, 26, 27, 35, 36, 37, 38, 43, 44, 45, 46, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69], "excluded_lines": []}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 13}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "pause_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "resume_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "console_logging_paused": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 51], "excluded_lines": []}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [59, 60], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}, "classes": {"ConsolePauseFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 21, 22, 23]}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 22, "percent_covered": 36.36363636363637, "percent_covered_display": "36", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23], "excluded_lines": []}, "InMemorySecret.get_bytes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [27, 28, 29], "excluded_lines": []}, "InMemorySecret.wipe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36], "excluded_lines": []}, "InMemorySecret.get_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"InMemorySecret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 28, 29, 33, 34, 35, 36, 40], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 31, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/password_prompt.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [39], "excluded_lines": []}, "_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [59, 60, 61, 62], "excluded_lines": []}, "prompt_new_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": []}, "prompt_existing_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": []}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [268], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": []}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48], "excluded_lines": []}, "_masked_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "excluded_lines": [53, 54]}, "_masked_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 2}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "excluded_lines": [78, 79]}, "masked_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [109, 110, 111, 112, 113, 114, 118], "excluded_lines": [115, 116]}, "prompt_seed_words": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15]}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116]}}}, "src/utils/terminal_utils.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26], "excluded_lines": [21, 22, 25]}, "clear_screen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "clear_and_print_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "clear_and_print_profile_chain": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "clear_header_with_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 3}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113], "excluded_lines": [102, 103, 104]}, "pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104]}}}}, "totals": {"covered_lines": 5864, "num_statements": 18886, "percent_covered": 31.04945462247167, "percent_covered_display": "31", "missing_lines": 13022, "excluded_lines": 206}} \ No newline at end of file diff --git a/artifacts/coverage/critical_gate.tui2.json b/artifacts/coverage/critical_gate.tui2.json new file mode 100644 index 00000000..8597e962 --- /dev/null +++ b/artifacts/coverage/critical_gate.tui2.json @@ -0,0 +1,21 @@ +{ + "status": "passed", + "failing_modules": [], + "modules": { + "src/seedpass/core/api.py": { + "threshold_percent": 85.0, + "actual_percent": 86.63793103448276, + "meets_threshold": true, + "uncovered_functions": [], + "error": null + }, + "src/seedpass/tui_v2/app.py": { + "threshold_percent": 78.0, + "actual_percent": 79.29854576561164, + "meets_threshold": true, + "uncovered_functions": [], + "error": null + } + }, + "coverage_json": "/home/user/Documents/GitHub/SeedPass/artifacts/coverage/coverage.tui2_gate.json" +} \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302/bip39_seed_board.png b/artifacts/ui_eval/audit_20260302/bip39_seed_board.png new file mode 100644 index 0000000000000000000000000000000000000000..4575c8c15a5986c87dc470ddf3ea8ec9f625e4b7 GIT binary patch literal 33865 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 RZRJiu$DEE9|MmQL{|B%D)Mx+z literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/bip39_seed_board.svg b/artifacts/ui_eval/audit_20260302/bip39_seed_board.svg new file mode 100644 index 00000000..9c708063 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/bip39_seed_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-bip39_seed_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #5  Wallet Seed││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│🌱 Entry #5  Wallet Seed││Notes & Tags #5│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 5┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal (confirm) ▣ g QR ▣ e Edit ▣ a Archive (seed)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/nostr_board.png b/artifacts/ui_eval/audit_20260302/nostr_board.png new file mode 100644 index 0000000000000000000000000000000000000000..938cf8c051391c66707dadf734b68d6f27ca97a4 GIT binary patch literal 31004 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/nostr_board.svg b/artifacts/ui_eval/audit_20260302/nostr_board.svg new file mode 100644 index 00000000..58468fb3 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/nostr_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-nostr_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #8  Nostr││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Identity││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 9 | Page: 1/1│││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +││││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #8  Nostr Identity││Notes & Tags #8│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 8┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal ▣ g QR (public/private) ▣ a Archive (nostr)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/note_board.png b/artifacts/ui_eval/audit_20260302/note_board.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5cce8ace5090946e3882789efa48cf03818909 GIT binary patch literal 31067 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 NBhH7551#(v{{b%=i4y<- literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/note_board.svg b/artifacts/ui_eval/audit_20260302/note_board.svg new file mode 100644 index 00000000..411d70ac --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/note_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-note_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #3  To-Do││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  To-Do││Notes & Tags #3│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 3┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ e Edit Doc ▣ Ctrl+S Save ▣ a Archive ▣ doc-export (document)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/password_board.png b/artifacts/ui_eval/audit_20260302/password_board.png new file mode 100644 index 0000000000000000000000000000000000000000..00295e89f4f35e16f50fc536cf483f2d3f4689d6 GIT binary patch literal 32173 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

vS2kkx4InBshd(M;{ z-Jh;;lV1(~K|HMO-VXT8Oq;q} zY;)y0^zCigw?A1^VD)^EuIj4o1)J8?0r%9GMY(hQaxODA^#{Bs9XG7AgmR{gfQ^2~ zsMpb-gSyonED!Ro-{_fJS{;*dIcu`{_ujv&jB>wf?*Dxa_};SZ^vUHhqmz3Pp4K@- z6~KUuk0-JL7(}(*xe4pcJqWeoS<| z@MZ4ND6MwT@sK68U$1v%?Tp!)R8g6S{}!Y_SB3D$XwE1x`wfGX=JXpd{=gl@f0ne% z_XYm;ik8>0C3lv`8=FIei#xDG7>)p*k6IIgE7Wh&p+0O_qN1U;?8Bcm=q`u)0n>Hs z*EC~en%`7y#nvpA83D=5K796bP=R^s=)r7^BHnLbef+!OYvO>ig#9f@|5L&J)bf~p z(rRRRw)cZJ^<&8a7m|;@C%m6gSq=OK43+;2YNRV3Mf~lqme+w!pyff;)S*mX@>kt! z`I(~j+orW9(LTHL#In(+t0HG+mS865CK;&O+*E2p-*?4c!{F{a| zA8d>X`b*rpEy*Qk)7896&wpKK$NQ)(!pd5+XNJFf#)w4PCi9n9V$Iuw9Cxj0yn9`yr!0#=SW2QX zC&B}uuXo0(u3_GQmQ{PVRh|tvtu4a5BeXV$7ho9`H7;JA*s#|25#D#U|H2Db?nYB3Q;(8yQW$9oOrd*(a zyLYfDli&p-aaMQk=)pDmYTgo;xGaZ|lm<^``BXq`ih>jWzNWj3f6%S)^CH1W-Hyzm z=K&-ICydQ9$*U8FfhMJ9|HYbBI&cM`D*wuiNJ&v8MVC3XJe0gzMnRb+E~B6%!&?-T zWKfdfEdtAb{-9(~rn|pr=>N+uin6Koi~j%1jX`A^{Kxfg%A#+X-^%2C8HGP+2>$0N z`d&vJ4p|<^HxF7xhjaqT?L?93dm2-VvT<<?Q?0fYrCIo?|k}f?ZazNmAg_vdr67aGQs}$lfe_b z{Oj7k8<&XvtmPqloP-iY06XA05JA{lYciOYb_<=@HhB~!ONsp!~EZ06u={nHL z(ZM3&KqLi-M{$RqFI%xreqgwvboE@vCE?oVgp{#jSvmjxvEscBUR!5*C>%UR@gu*M z#*|LJfYiMD=7x*wWeh1%41vmIqr@C`I3hO z9b|jI*V3BDNBL_XAN}8NpvrKhpuaL4z4g#awlBk=B!iL+ZxQ&@li|I|7hE(u(w1pt zGcy3o=fDEAIT6}x@BKEI?!?L^qE0M_zg$Dnq|fE*atKG}U0_c?q|Sb6_V}|Owwbs+ zK8pF<4;33t@0ebeZ2WHb(PO(VWV)RA+b88)JV7c8<>y}n`bAe~tJb!rX4WQ_@A)qh@2N)CmZ|@~wwU{V?JanZ*9O!#%F}wQ zBPCiZRQ*iJt+zm2Qd;5)A(Rec1qY>rP&$Ye1Xlhk9mG2{ln!DA2&IEq!9kfpC>_K* z*RZlsI*1hh)gJtDa4ItF~=M63l72!H&)~86I}!MYvH$(hsVeHT1R5sIjyfP2x%? zPAB4=kiOH+S1xZ{r)e4?7|+I!&flUfY+{|A+ z$C-1NL|7IaV?4GY4;Pj|4eZ*Y_E7WZtu+AmA5+ z6moCk1Ve5tlhR3=KoKV1W3wmxy zhlw+TZ2f7IO+0cAL0gn41WtP)x-B@&A;x>J+Vm2b9#2z7b>_`4#3wXOEDjB!P&W9!h{#szP5?1}^)t(tu;L!uL#9!oqp$6qNdzW+suX7& zQ`{jjshFlc9sKFhu9VUM)n&mIXD$oQqpf_TXVwM0`mwkH(rvrLnaPHU{9Vtda+&6& zs$e-u%3q*}5qJe6og2#4mc^OLqcD&}O0Z~TwrwQS*}&E%t!&4=rHj*#9%!hRnubIA zS#{nuU%nL@ef3fPdJvUu+g^YhRs6U<%*CW`zd}x!)LJRT%S3ijGPw8%x8RXb-sEC3 z%XkXeMUfuj*lgG;8wp^RwoeP9V`Khc@oIy+xULuhr|6*nb?@bDA-=x^iGWv*H zbX07hg)by5%s)I@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-password_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #1  GitHub││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  GitHub││Notes & Tags #1│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 1┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal ▣ g QR ▣ e Edit ▣ a Archive (password)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/pgp_board.png b/artifacts/ui_eval/audit_20260302/pgp_board.png new file mode 100644 index 0000000000000000000000000000000000000000..e742166bafffee75ea225069f88d798688be425d GIT binary patch literal 31323 zcmeHv2~<;O`Zpa%nX16Fjw=ebvW%jjA|N1StgRRkP?UWM$|h@&ErgInYn7@++C)Is z)B;ioo2&u}Q4uk+M3%5+16jhB1PCD;NxnqrI0e6R{^!h@|7YjR`<#>H+~mIZ-sk;2 zzh`^l)>(TSwe>sJtEi}`0Z)DHsG{=aeiV8Fv`1SD% zaRbw|z$~XxJb#Fhv;A*p?;T#h{!7R2d>ZYiZ&~fQ*Jqh}*}nVh3(pVTc1`a1UN57s z{>5$GuWxznclCXC>elXUYd7rLU%7n@`kB@6rjhUeWLzHU1s)q7;MescOE2P|^YSln zYvot}-T2#urc0&MX^4q59Bqo_4d$OdX|HJ>Hd5)=oqSSqxjPv}tUp8dpEKl1Vt#j` z{PDgFUI?ym$;4+A@yFu9CH#PL`ZO<~)XZ`s&ZC)PK~Ej&+nMRR6^?i`7Inw{;Fb9o z9h+?Q*HAP<0cG&R0sKSt$^BN_DTq++vy0;Uz3(&W{H{tcTZ`7iDpMyne^;%XaPfCWhwVckKwBX80Z+mA&DbOtzP z0>ktU;7DJt*|5ic+m+|vZ$f20WE_z^oFJBAHj3phI>w^5akE?y90^}}wY>f(0mB(d zw$%fHSa|h-{sj3Kmpk4EP&`8qPC3sI>*cb*(YOCK>#X^Ma?_%jxU}Z_WAtxaKUp!4 zfSpc9#EU0bA>zN7+2MmG?arfbHR`Klj^bjy!hD7%J+rasYffvh>zs8-G#=H9L`!L{ zg}1Y!!b>@&YgWuwb{RDP*-c4YUvi@4==Q#NpQ&rb=&YQssCdUhA+>M9w;(w?$MbB= zaq?OxB9{UnNVt?-@Q)dF_gm1!FH`wJ6X~rr${GPsTRwXI?i5d|veIsn&WNa~RuIWM5%H=F2hv z`@x_WWe2j3g)sdtkj`1z@D?3?F2)y3WIu$QE(|ZOtD5W)X>I!bDJp{$>_A~Kwy^j& zB!brOUo4$S&zay^$&KxIP5;Ib27tKmF5+V`t<3v|+`ee++Fl zDmz=q`J`bM*TQ(Q{H^R0dyBD=Pw*6-UN6XSQZEQI4`NQYkTR-f>WtU%z;sUKKny60 z&oK=r07qXI=-7ltj;y!Axr@=9YCt&5Dbv98kwl_}qdeH0_(L)0(e1!17_;TcT|eK< zvwB)n63OZCZF#w#hbzbzlv6uLwCkl}1a#|}6I=SBXqz)f^ zL^u#+rZ4jhV?X4oKT3pF3^;I4mGir3+6FK{|8TV($v`us()w{zWhVx8i(k`voMvJo$N(FiXnye#H)8; z*i1WW_$RYoe#CD|mVJ_%`Skhiv^4mII`ava>V>A_W_^J0S+Ii%U=MJPR5UOAWpCA# zhlA(i+4UyGD{jVEh~3>x+!(SLaWRsij+Px|4UA+pN^6-fGW^(A*M{`&tlv0>|Mgiw z|LzIMTj_91fsR#k45KVGS%-KNh}vY#YMJr?biIY;Q_#K@Q;ZfFFG@D2!{@;-Hm(gr zMFAS7jL2=MT9;O&84|S4EH3tX=3KlZm)l798qL!&3$1s~)kkGv{BGzF^@P*5Q_U{c zp5Ew@MXQR=V4z*I{H+3bHzBsU-wM^axrS4DbphyZW4yD9KQVGC>Q8NDr8|7PU&H+9*vGPq6?VTyv6frx(+1hq_DsU z6h|;n1w~1mAo^;0CVvk(XaJ3FvC%sw@{DAztKruVi*EGF;#-Un$avHOfK_%{JcT|- zxw|;}%A9z$osexZD7euJ`TJA^II$S5)ytxVmsS%kyeNcn`%=Ho?|^W9H9P6R@H75R zoKX0-w?Qh_j%**Y)UG?(8Gf=JMu|B?PZ;8K(WkQ)4b!qBgHYC1B5x7a3DxdZcZ9XL znG1r@lFYo3@W`n!GeV3ldgPJ*P4Ag*DPxge_N#b-oycK}*&uXwFGKi4c8Q%k)w{oJ z?#2jftuL&>YCm*P8)-gil&CXY0*CcH$=!-a-k}(1R>xVJ&u~<;VQ)HsOaR3E5w~?j z(xz`MKn#ztS)95dwkqlb$vl*KqW4sf1)lXfgqFS0i%H}sTHo79olWfmCmsr$77C?H&1O0&%|d(%$L}d+`|!sFTUWI z*_Tjw8EZ=L`3sBr65KM(pP~fqs#`?69xoIZ1MCMd)XS$D4btchEd3+#RYPt-!loW; zJWrjteLJ%2yZl2OTXD?+Oll?a33yO9PjNunP5nSzolG*?hDHd_Gbi)Qz-=TA z4@e3~zxHC=-p%0sc&Krt{KE-!#;`^`I0b_0R5SDIainT3S)_n{^b&fH%QP>zQ-bGU zXm|)}bAwWfs_l6kgAJmbcDWv-R{`z`ny@1f|8U8HhP^7dAoYk@mBR1r^rt=`IKghZ#$k zu}UoiXov94XHI9($fKTyX4w$zChhfd}(LOzmo0)7F#P;66h)*@Rj~3G#SklWLlVcz6qODg@W? zOipU-t`VwUV}@sTmM~X}SpcULMe|>8a*6*E$k})Xb$8+j-WP=iALWtJnL19TB*25o z93A2d(S3*;C7K<82^S6fk?UQo0?4d}`De8B`}(M)3b}6s*3FCPFpY`7uHFgM zHv1n_{J;_ILy zn4?qVm_gulKR9-7=(V=@>`%AlQyMHcv zR^-=XSy7VCyA&zJ6J(A4Tr_vV3N}!?RmaybK16We3a!U6o9Oo2iyMc_n)qW4H;FBp z4OHG}#|EUdSyqc9X`j^FgAk4Bf(>t!J>S~X7m-xob96U!;YDC9EH*z+c3Wa-9o02* zv$;eQ4xjR)_dy+6VSDyYosW&}4+4_L#8fKxwN5YdA@yuM=^7Fsz+JyvqGr$v2$K$R z9Zr`7MLM;F+_h`ZgtqH4V^8btG`;xZyKvC@gWX-YmVv^=qIgPSfnK9?{6gbJh;E?T zbPYmghSJoilU8bKm1I|RY)QHsR2fwcPLyEie7aHCj1ZSt0vEhEA<3+Ve+KP1OaizB&Q(EJ*07N8CqO}fUD{gZ)Yqn4VkeXv||bx?H} z&8w8zk7dykKK+vlj8N_G-!G`kgm7X#*lr6XFcQ($M)9QosxDJSXJl3*@Exoeh}9DA zeEL1!d_*LP1lk5@jwYY^%R zlkQ_Vo5zybEr|97qe|H~;*31r`eGy{9z8G&X^0lPLqfARYR`!b8j-2EuKDcq^zE6R zk`}DUoA(uK1FHo~40H%K7tV~N4uk7NW4-8GiFVr#J@%NR?rJnl2(KCWX^+-Eq`+2o z^&e9nl%n1-US89!1KyWsDFZ(~3&;#>5C&`|m%!#E&0yHu`H}oJ-isY~$VAJ6A7o-n zif(UKv_Aujao7^=R<`i1eGCBXl|I*ZZ%u(Gnu?oEQf161`aOU1X{Lh!9u_h5z#a)7 zdms+(h1AZ#U`WnrUcX+O;pLt^ZedI^+m+Rq*O;^m7QJZ0s#6s$=FdN+j)0Lc;V40} zFa65myh*@x_C_lX(JRN(7|OnTk+8kmgC#oP%x(~+0_T=vzx|4bQ78k>{`+W7u8H@ zPo_N;ew%%}Ea($?$TjzuB zS^8ZMeSI*ExwW9xzGRUTqFz6lMyzclF*sBTdaTrhLrn;#k@_cxO%U`#-t%UgQqy2g z2NEO@6zvLZ&m@~bWv_2x@yM@eqOB@3o2kn110yr+%rq zNvH~RDf&`9^bYB$rAfS~yiZF_lyT`A)G&ceG9Jk-%u8GoIXij+pl;T4cXN)JEW=+C5xeS{py?zrSJYF4Q&}WCWgT>LG~3I`jyjSX1H- z%@QbohiXC-6q_^v>vma$E;2|4G8v$Bl%E1{lKME-o*&(n0w}I$&MrqY=`b!85hW9B zW<;68=*!$IAkAgNN8!cQY8vjdi7|2b8W(EVjkeUmMPbTbng@hi4b7Wt>$I{hd-jA3 z-U}*VkF`;-*`5snySz1)=5QTzu7i!$bJStyP$xNgBgwy43y9^p?o-?*caiSWsWUFV{I2;Re4g*!$&`4shbH>xyHJ{0* zMAQp)vj%syy}Ar+B-&zY`OSC}{^HY3<{p(*3KL0|K^>U)&u=J}V~#GF$YQkOtJo!c zIwGn)6V~;4mMn8Gggot($jvbweVL(UTXsAVm_KPY8BUMRnh)ZI#Kir^Bk7cAdH^O= zZaDe0ea$81{;XNsweZ*yc!L&Eei-=Se` zQ{l{Q4ShYdUP3pd^UVzaSeB5uiDKj`h(kwZZVZWx>5P;)8&z8jXCgVe*)=86)atHz zdpNqh!(X;vvtouhWq7GwgC2(@Xs}ON#|>YXFbKY%G21-nV=VdOos}(VQk=5`RtqFK zcR1*IUIY53p&Wdf?)04B5@l&cLg1PWC)6`U`0W_Efom;B2X}2BmV@mX5_b8S#$*H? zFO7ZuEi29E`gLzX+cY%B46Kg0DDF3&oQYpT+tb6nK91MR*MVlgimTBumBMNc1cRP1 z7MK(-JS*f~JU$`U&ImQvD^40N54kLn%-pJmOisXlu7`L#wAuO9p+K~jP4si}4=$M+^5yhiUV1q&j4^P%8a6? zT`HWtpRB2a@e=hvz+|WYFmdc5|30v4Dz+|~`PlNnsXF)@7Kc`Ss%J+{&!-_KK!j-K z3PcMQ=QuljJ9poLWUM9-$SgKUv2>!JgN8}2VnGs{KsEx% z5_Q0BXnBn&yCFMqcQn0 z?mbOBddA%1JQJ1Ba_YGx479W6XRo=6>7H_&`WRj&Hfnb-vqxz*(1iKkjp~>#gGUo@ zayhSK4uU7XzgW;}z7N=J@nqZ5^k?-?(gkB7d(`a_P<~!rAa8*T(=qZ| z=mdiX_D!6taFJ;NosV5=igGz-ZN9I0Wc(H|_Vs+$y@YCMpcv7kmku3hy&jlzuPFXi zVNG%TM~wI@_)>BCt6NXUiD_j_E;lADQO| zTyCpaPB%=6r?EwqU8h;8iwHYJ=-jpQB|ucdkGn#WL1jJPoIn@@YI(0Rwd;6jzrI@} z_QJHI;0`sJEsBume|E8P0#yd(VnTT%5AY-?5h>ZlWj_)vGG~d?X#pTJafc#F#SO7j zfj0xVMw}>85F}aqh_QK9Q)&1(H@b6X@+RpB&dU4?!Xo9C%)LCwQ7q2nE@rKbQZMv! z>E-sM7(G{|NG^#TYHU%-+@M$>D*DtvBfo4J+@{7-`%I*isjrpoZN9IzirjWRyx(e~ zYnV_fCg%c&k61sPZ70qWtY>TVqwP?*6dhqBAqQjBdK4krVZ30^&Vs@+EvxN25AHDz z>$gf~bVEj=%Qe)irH;;wHTz$~G+QM+oB_Jt2opWm?U6={VIx92w|A}6D&^p zZ=o=Ib0aHMJ=2XUmHebR-HHPTmLcwh3eJkzY% zI)*a+6VSpwo**Lo$L(4I)z9tlnU|_!WJF-(=pq0S`%SXnTih+UUPDGJ9vV)lMV_Hs zM@|nu&PKOnNZ4qGcE(2drSY{6yUxO-Ta6r%1Xhnnc+5%GtZJrgbWFA6%uT9nP(z#g zWxA-p8~gBXA^b5SnsJVwJaDWwj;M~5~UN!-y&#YUtseQ zO>w55eN$Eqv(=t%DWf^iDMq!iy;zMW3#opKudZbNK)5nNE8RM9j4>`OKyB5A4wY<8 z{uTZSaye&6Hw&N-N2R@GFd7aGCc)@^hiWItnoN2naL!xIm(I|eF@#rA`?;6ajSf2- zzKWE_GaF**KM}usu*noNBfh~GzP0wM6oGGoo`6{r*<1c>6TH51?5&w$zj^xN_{bVP z(0L@+Fa)$H&7n$WH|NAzrY9`qrJ^-Tv!et*_JX!cD@Jg(?fo;XMIz%^%n}nw*MN9tnMtdr0*_?PzWO1kN_+szoTU_U{+UNM zoR&8#;OY}mr!Xf_i6n$zI+0{w7=MBHt2=6|APu$oW{TE+9+2&M1y8YLr$vWT1;r@jy1_b^jrOrDLWs;utS?W#-}I)}#I$Ld5bV_B;$P(Wg3qwS z4+n7`$+#?j{S*yo>A*_cIrI8^Enl#A{KXrxY)EtAbz=*2pQlX@&c*kr@X0dLmi>YS zF%2&+>)23;UQ>b-)E1_sU2+}TpvEK-4S^H+QOJY5DxGFE)=_b~yg>Qn!DftA`aN$8 z2>(&3&2JqSA9JUr_!&(%%M!gNs_IHGM+3Vm5NTPDC)4%$n&_gKcuGodon;WUe)j20 zrj9t4Dw~k7i`5K9#^+z3BfhFRX}T-MACA;qGGCRec?zH7$+a&rFB^NECv)fcy-guj zX(!BFCu-`zXy=8_6+mLLl)gCja2Qop4UQXG4>(Q7=0tIDfv7LS3U(d#WsQ&+nDT}B zhs5t_^1>^aU~!*cStu3SL^`ui#h|7TbK{%H5Iq>L?^1sGPegVB*dlNGC%4-w^Z@i}24$_C|<%fjRV|(g= zFEz{sT{gDgbDdA^rKzkYs z3nxo}I|ADLk!i~bk!w$Q7F@E!Z0CENL#gS19F(2q-tud-#^#RR)i?dQv{I> zmVvrwW&|q0`5zwbAgbEe>OsS(*z?|ao#jNgVw&m2`_T#P!RyW&l@@yklfe@-lEO9K z(ID9cNQ1_n85?=W|7LtDF$I?*ng(w_BbG=Ya(h5t`^`+2Z&c;yt5U17vvQyFTbcj2 zFZPFgp!f8tys!NGaYMiC_Xku|{+9DUYh?Y0Cu6u(VA3V6(}Af8+N&OW&@#l40u0ly z@|uJHdCQ6?xcYpP>xx4v>m7VnYUuCBR!#f!%*Qbq?zU*Tmi+!X2B+rPw0a1K&KUeo zpX--%ru;^2{4{d#nz7c=;cLcQkZ@@4T*;^xI%!?#5ue;oKJZ(gGj|RhcvpJvTvKh28~j1FU2e^zUM=;h5IfTyWgSoXIJg79-Kf16l<@6mwLwxBZzL0!LMxugbgjYpnA>yY7H=u5(Z!dE~m{p0KKLc|no8a);(0 zKDqmN)6Re6&YZgW@A16+2~<$77;~Cg5f|>t%RhIZhm1~s041%H##mC30woFfIo|7D z+d8#z)1N6St1>Ph^Mj=vTmx5RC>7m)rl^(aw*?--bR?XV0|m75`aW)d^i){Mk?+^^ zW9CRD&fc$+GURx#3za_@XiMeQ_u#+babvw$~MccAlzsuOZg~-Qc8^lv7spN9WOxqqX>NxQh?xc#29ueiI0Ucj0-H zVY+fRaN^6=`MqlJ!lV9z0F3;H^eRO$Adhl2d`+F&UsrW2Q&q1Y{`>VUNN7-mLOO$K z3RIZw#d3rz3lYC>$_bFu)GxxbT(+GY;_zG7Wo*0eoU$?WjoVkQXZ?Jf9rs!u{Qgh% z-yYX}_Uz=EqH-UD4X;f1H=atZ|FgqYlZ;&EGfqlF{k3=1hJUPHsvlSPibqxh61vI* zDyMqK&PrV=)bQUA2D<3Ystf|>=a%a4w!i>*S;?i1+D4-$t?~pBf6ghz$c4`+HFVyJ zy_4P+TR{t5yJ~xbZ-iw{RJ|;r|3JOJSyU`SF4j?zuimOlD0xYtpZ|VdQaW_SIxEqxM7u%*?}ic#3N4apK4Gt!@mcHsS_(J)+#e7dARG}kCa98Kc_<*xA^NI^wbqOWiy+iqb7~x6) z{F6(RG3Pr~DDCcl!|s%HC)cvF%=Hdx|FbgJ2WwO2R*E6Hp{mUsPROdoh-*LaM_7M3 zhKOIB7X-;9laVpCby@wPW|TJPRlD1c{s{n(EiQ7oQZX+a@4*S6AHzZ8xCiAm%at82 z6`bj++ScyX9l}?ucN@*E-n+kg>zHz?ceqgMN}-1TGBDtH4^~-I9C6~^FghkUDmUa- z36&&Sy&1`7aJFl>pxHspaY@6rkVjhs>ifg1S2>cWp9zFQCKH2^_a`7zw0JY_*ic(z zW@0+}1o9oM{^ez`O4%5ctK*{xc|I74XTBStxS6nqwwiRP8D}heRkJAK&xlZkEHE&O zSLT|D+QtNeM8e{LSGT10%rF=-iG;xrb9(FLB%cYD^@<5}nTe9)m#pHyjBJ#yRk5tf zFhrq+t4c5^!JyE9V*Gyz1~7blGSJ}(EEw$wdt9)pRF!qJ|$>N zB{Q5vd4FFXc}+%+kyscCpyortmz2V1G{~xD2#LQ!##r)ykp~r%b3IcI{^!odc); z_V~w7j(-+m=< zL(tjPYWcvw=>Gtpt?r%wb#+$y{p$U3FIFe2%G+APsZv`@df2VR);mR9Ra)W_Ae025 zB#0#qEWIiTVo485f>=g{k|358p^PAu1hH%q@7|OIv8)XxK`bdkNf1kVP(~0-dQcLC zk|35fu=J)Rh$TJzKOl%UBiTmsSv3joxaPZISu=hLnFr`B-7x^DL|&E=1UG)SRPxd? zXg*EcA{i|t^#VY$1b9u2P}`kc*h6Z0rVY@`aX5yF^ClOWV%sLe!Jn=;cZP4m%;dHS z3wzu{imRN-i%$-T;}&M8hYKIq`$C%8&hSS@yiuc#T6l~2nE6Td@P@M+s?M6=j>^T= zi52W3#%Rh|v>FJ5?xfbL5GS=zg|G&pD=y`u%F|GY6R%zpPVg{^io|kedyc?4&7wkF_qnO~1tdbT^_T+n{g?kmc zOP+|X@P^e5)mL1v?1Vl3DDQ3eox+y3(Xq($CW7IY-MNo!&LM_1gB3LpujNiapQ0<|v&F*+Oa;ZBKwoze(FBZ(Y*b;vAmYHJzu z=avVD`pYFhxXz50$#!ZxmJU74%`3$B(?h||c3PNY*3iXXbD3G$3sbXtiulNXevRQ7q(h>m_b0p6BYo1r5VD?k$wc0gK=QRqn z?5&ClHDhwa7o`%JO7X1@y3b;*wfuC;=x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-pgp_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #7  My PGP key││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #7  My PGP key││Notes & Tags #7│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 7┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal (confirm) ▣ a Archive ▣ copy/export-field (pgp)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/save_shot_test.png b/artifacts/ui_eval/audit_20260302/save_shot_test.png new file mode 100644 index 00000000..1e794a8a --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/save_shot_test.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:1 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 1/1  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #1  A││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 1 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | A                           | password       | -                        | NO ││ +│Profile Tree│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  A││Notes & Tags #1│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 1┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal ▣ g QR ▣ e Edit ▣ a Archive (password)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/ssh_board.png b/artifacts/ui_eval/audit_20260302/ssh_board.png new file mode 100644 index 0000000000000000000000000000000000000000..b157f9aad0e50ba367ae19be77a46066aeb3427e GIT binary patch literal 31112 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 bl5pBIBy#(VRaBO$bI@Uzugd;@^4tFd4LrI# literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/ssh_board.svg b/artifacts/ui_eval/audit_20260302/ssh_board.svg new file mode 100644 index 00000000..f4a9a71d --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/ssh_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-ssh_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #6  My SSH Key││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  My SSH Key││Notes & Tags #6│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 6┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal (confirm) ▣ a Archive ▣ copy/export-field (ssh)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/state_dump.txt b/artifacts/ui_eval/audit_20260302/state_dump.txt new file mode 100644 index 00000000..c5f945f0 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/state_dump.txt @@ -0,0 +1,336 @@ +=== UI BOARD INITIAL === + +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: #0 AIIT +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 9 | Page: 1/1 + +Profile Tree +------------ +■ workseed-aaaSeed +▶ └─ □ workseed-aaaSeed:workseed-a + └─ □ myseed-bbb22Seed:myseed-bbb + └─ □ projectseed-Seed:projectsee + +Nav: / j f h p/n 1/2/3 ↑/↓ Ctrl+O ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +--- GRID HEADING --- + +Entry Grid | Pg 1/1 Rows 9/9 Density compact +Sel Id Entry# Label Kind Meta Arch + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal (confirm) ▣ g QR ▣ e Edit ▣ a Archive (managed_account) + +--- ENTRY DETAIL --- + +👥 Entry #0 AIIT +------------------------ +Kind: managed_account | Modified: (unknown) | Archived: No +Index Num*: 0 | Entry Num: 0 | Edit: e +👥 Managed Account Seed Board +▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) +Seed Phrase*: hidden (v confirm) | Word Count: 12 +Index Num*: (auto) +Tags/Notes appear in right panel. +Actions: Reveal (v confirm) | QR (g) | copy seed confirm | export-field seed confirm | Archive (a) + +--- LINK DETAIL --- + +Notes & Tags #0 +---------------------------- +Tags: managed, acct +Notes: managed notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- SECRET DETAIL --- + +Sensitive data hidden. Use 'v' to reveal 🔑 or 'g' for QR ▦. + +=== PASSWORD BOARD === + +Entry #1 GitHub +------------------------ +🗝 Password Board +Kind: password | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 1 +▣ Copy Password ▣ Create New ▣ Edit +Credentials +Password*: hidden (v reveal, g qr) | Length: 20 chars +Username*: user1 | URL: https://github.com +Tags/Notes appear in right panel. +Actions: Edit (e) | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #1 +---------------------------- +Tags: online, account +Notes: pw notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal ▣ g QR ▣ e Edit ▣ a Archive (password) + +=== STORED_PASSWORD BOARD === + +Entry #2 School Login +------------------------ +• Stored Password Board +Kind: stored_password | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 2 +▣ Copy Password ▣ Edit +Credentials +Password*: hidden (v reveal, g qr) | Length: 16 chars +Username*: student | URL: https://school.edu +Tags/Notes appear in right panel. +Actions: Edit (e) | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #2 +---------------------------- +Tags: school +Notes: stored notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal ▣ g QR ▣ e Edit ▣ a Archive (stored_password) + +=== NOTE BOARD === + +Entry #3 To-Do +---------------------------- +📄 Note Board +Kind: document | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 3 | File Type: md +Content Length: 28 chars +▣ Edit ▣ Export +Content Preview +Task one Task two Task three +Tags/Notes appear in right panel. +Actions: Edit (e) | Save (Ctrl+S) | Cancel (Esc) | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #3 +---------------------------- +Tags: journal +Notes: doc notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ e Edit Doc ▣ Ctrl+S Save ▣ a Archive ▣ doc-export (document) + +=== TOTP BOARD === + +Entry #4 Discord 2FA +---------------------------- +📱 2FA Board +Kind: totp | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 4 +Period: 30s | Digits: 6 +▣ Copy Code ▣ Copy URL(confirm) ▣ Reveal Secret ▣ QR +Current Code: hidden (use '6' board or 'v' reveal) +Secret: hidden | URI via QR +Tags/Notes appear in right panel. +Actions: 2FA Board (6) | 2fa-copy | 2fa-copy-url | Reveal (v) | QR (g) | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #4 +---------------------------- +Tags: 2fa, discord +Notes: totp notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ 6 2FA Board ▣ v Reveal ▣ g QR ▣ a Archive (totp) + +=== SEED BOARD === + +🌱 Entry #5 Wallet Seed +------------------------ +Kind: seed | Modified: (unknown) | Archived: No +Index Num*: 12 | Entry Num: 5 | Edit: e +🌱 BIP-39 Seed Board +▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) +Seed Phrase*: hidden (v confirm) | Word Count: 12 +Index Num*: 12 +Tags/Notes appear in right panel. +Actions: Reveal (v confirm) | QR (g) | copy seed confirm | export-field seed confirm | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #5 +---------------------------- +Tags: bitcoin +Notes: seed notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal (confirm) ▣ g QR ▣ e Edit ▣ a Archive (seed) + +=== SSH BOARD === + +Entry #6 My SSH Key +---------------------------- +🖧 SSH Board +Kind: ssh | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 6 +▣ Copy Public ▣ Export Public +▣ Reveal Private ▣ Copy Private ▣ Export Private +Public Key: ssh-ed25519 AAAA-6 user@host +Private Key: hidden (use 'v confirm' to reveal) +Tags/Notes appear in right panel. +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +--- SIDE PANEL --- + +Notes & Tags #6 +---------------------------- +Tags: ssh +Notes: ssh notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal (confirm) ▣ a Archive ▣ copy/export-field (ssh) + +=== PGP BOARD === + +Entry #7 My PGP key +---------------------------- +🔒 PGP Board +Kind: pgp | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 7 +▣ Copy Public ▣ Export Public +▣ Reveal Private ▣ Copy Private ▣ Export Private +Fingerprint: FPR-7 +Public Key: available +Private Key: hidden (use 'v confirm' to reveal) +Tags/Notes appear in right panel. +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +--- SIDE PANEL --- + +Notes & Tags #7 +---------------------------- +Tags: pgp +Notes: pgp notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal (confirm) ▣ a Archive ▣ copy/export-field (pgp) + +=== NOSTR BOARD === + +Entry #8 Nostr Identity +---------------------------- +⚡ Nostr Board +Kind: nostr | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 8 +▣ Copy npub ▣ Copy nsec ▣ Edit +▣ QR Public ▣ QR Private +npub: npub1demo +nsec: hidden (use 'v confirm' to reveal) +Tags/Notes appear in right panel. +Actions: Reveal (v) | QR (g) | qr private confirm | Archive (a) + +--- SIDE PANEL --- + +Notes & Tags #8 +---------------------------- +Tags: social +Notes: nostr notes + +No graph links for this entry. +Use Ctrl+P: link-add + +--- ACTION STRIP --- + +Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh +Entry ▣ v Reveal ▣ g QR (public/private) ▣ a Archive (nostr) + +=== COMPACT SHORT MODE === + +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: #8 Nostr Identity +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 9 | Page: 1/1 + +Profile Tree +------------ +■ workseed-aaaSeed +▶ └─ □ workseed-aaaSeed:workseed-a + └─ □ myseed-bbb22Seed:myseed-bbb + └─ □ projectseed-Seed:projectsee + +Nav: / j f h p/n 1/2/3 ↑/↓ Ctrl+O ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +--- NOTE BOARD INLINE TAGS/NOTES CHECK --- + +Entry #3 To-Do +---------------------------- +📄 Note Board +Kind: document | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 3 | File Type: md +Content Length: 28 chars +▣ Edit ▣ Export +Content Preview +Task one Task two Task three +Compact: Notes/Tags shown inline. +Tags: journal +Notes: doc notes +Actions: Edit (e) | Save (Ctrl+S) | Cancel (Esc) | Archive (a) + +--- LINK DETAIL HIDDEN? --- + +hidden=True \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302/stored_password_board.png b/artifacts/ui_eval/audit_20260302/stored_password_board.png new file mode 100644 index 0000000000000000000000000000000000000000..762e36dfea047769e5e07983e3e9bfac92ea6bde GIT binary patch literal 33033 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 CWEQCa literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/stored_password_board.svg b/artifacts/ui_eval/audit_20260302/stored_password_board.svg new file mode 100644 index 00000000..02106c70 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/stored_password_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-stored_password_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #2  School Login││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  School Login││Notes & Tags #2│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 2┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal ▣ g QR ▣ e Edit ▣ a Archive (stored_password)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/totp_board.png b/artifacts/ui_eval/audit_20260302/totp_board.png new file mode 100644 index 0000000000000000000000000000000000000000..a24356ea4b954077c2c9d4c7e27524a7b94a78d3 GIT binary patch literal 30743 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 BGT;CJ literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/totp_board.svg b/artifacts/ui_eval/audit_20260302/totp_board.svg new file mode 100644 index 00000000..74f25f21 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/totp_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-totp_board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #4  Discord 2FA││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Discord 2FA││Notes & Tags #4│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 4┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ 6 2FA Board ▣ v Reveal ▣ g QR ▣ a Archive (totp)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302/ui_board.png b/artifacts/ui_eval/audit_20260302/ui_board.png new file mode 100644 index 0000000000000000000000000000000000000000..6470db88e7e3e106d75cf3f83b9b3b39cab41489 GIT binary patch literal 30080 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/audit_20260302/ui_board.svg b/artifacts/ui_eval/audit_20260302/ui_board.svg new file mode 100644 index 00000000..0bcc0cdd --- /dev/null +++ b/artifacts/ui_eval/audit_20260302/ui_board.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audit-ui-board + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP:(default) | M:0 | E:9 | K:all | Session:unlocked | SEM:kw/n/a | Sync:(none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 9/9  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Selected: #0  AIIT││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 9 | Page: 1/1││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  0      | 0      | AIIT                        | managed_accoun | -                        | NO ││ +│Profile Tree│││  1      | 1      | GitHub                      | password       | -                        | NO ││ +│┌─────────────────────────┐│││  2      | 2      | School Login                | stored_passwor | -                        | NO ▁▁││ +││││││  3      | 3      | To-Do                       | document       | -                        | NO ││ +││││││  4      | 4      | Discord 2FA                 | totp           | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│👥 Entry #0  AIIT││Notes & Tags #0│┃ +┃│││------------------------│┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│----│┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┃Selected entry 0┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃Global ▣ ? Help ▣ Ctrl+P Command ▣ / Search ▣ j Jump ▣ 1/2/3 Focus ▣ p/n Page ▣ f Kind ▣ h Archive ▣ r Refresh┃ +┃Entry ▣ v Reveal (confirm) ▣ g QR ▣ e Edit ▣ a Archive (managed_account)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseA/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseA/state_dump.txt new file mode 100644 index 00000000..eb03aa81 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseA/state_dump.txt @@ -0,0 +1,66 @@ +=== STARTUP FILTERS === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +■ (default)Seed +▶ └─ □ (default)Seed:(default) + +Nav: / j f h p/n 1/2/3 ↑/↓ Ctrl+O ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== STARTUP DETAIL === +Inspector idle. + +Select an entry from the grid to inspect details. + +=== STARTUP LINKS === +Links: select an entry first. + +=== STARTUP SECRET === +Sensitive data hidden. Select an entry, then use 'v' (reveal) or 'g' (QR). + +=== OPEN 1 FILTERS === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: #1 AIIT +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +■ (default)Seed +▶ └─ □ (default)Seed:(default) + +Nav: / j f h p/n 1/2/3 ↑/↓ Ctrl+O ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== OPEN 1 DETAIL === +👥 Entry #1 AIIT +------------------------ +Kind: managed_account | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 1 | Edit: e +👥 Managed Account Seed Board +▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) +Seed Phrase*: hidden (v confirm) | Word Count: 12 +Index Num*: (auto) +Compact: Notes/Tags shown inline. +Tags: managed, acct +Notes: managed notes +Actions: Reveal (v confirm) | QR (g) | copy seed confirm | export-field seed confirm | Archive (a) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseB/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB/state_dump.txt new file mode 100644 index 00000000..bbdc2f47 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB/state_dump.txt @@ -0,0 +1,31 @@ +=== STARTUP FILTERS === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +▶ □ (default)Seed:(default) + ├─ 👤 Managed Users + │ └─ #1 Acct One + └─ 🤖 Agents + └─ #2 Agent Alpha + +Nav: / j f h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== SIDEBAR TOGGLE COLLAPSE === +left_collapsed=True +filters_hidden=True + +=== SIDEBAR TOGGLE EXPAND === +left_collapsed=False +filters_hidden=False \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseB2/screen.svg b/artifacts/ui_eval/audit_20260302_phaseB2/screen.svg new file mode 100644 index 00000000..3bf7760e --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB2/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP fp-a | Managed Users: 1 | Entries: 3 | PW:1 2FA:0 DOC:0 KEY:2 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +││││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Jump to entry id (Enter)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | A1IT                        | password       | -                        | NO ││ +││││  2      | 2      | Managed User 1              | managed_accoun | -                        | NO ││ +││││  3      | 3      | Agent Alpha                 | nostr          | -                        | NO ││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +││││││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseB2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB2/state_dump.txt new file mode 100644 index 00000000..61292d2c --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB2/state_dump.txt @@ -0,0 +1,31 @@ +=== SIDEBAR PROFILE PERSISTENCE CHECK === +active_profile=fp-a +left_has_sidebar_collapsed=True +sidebar_collapsed_flag=True +filters_panel: +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-aSeed:fp-a + ├─ 👤 Managed Users + │ └─ #2 Managed User 1 + └─ 🤖 Agents + └─ #3 Agent Alpha + □ fp-bSeed:fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) +status: +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Switched profile to fp-a diff --git a/artifacts/ui_eval/audit_20260302_phaseB3/screen.svg b/artifacts/ui_eval/audit_20260302_phaseB3/screen.svg new file mode 100644 index 00000000..86d288c5 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB3/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 1 | Entries: 2 | PW:0 2FA:0 DOC:0 KEY:2 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 2 | Page: 1/1│││  1      | 1      | Managed User 1              | managed_accoun | -                        | NO ││ +││││  2      | 2      | Agent Alpha                 | nostr          | -                        | NO ││ +│Profile Tree│││││ +│------------│││││ +│▶ □ fp-a             |│││││ +│Seed: fp-a│││││ +│  ├─ 👤 Managed Users│││││ +│  │  └─ #1 Managed User 1│││││ +│  └─ 🤖 Agents│││││ +│     └─ #2 Agent Alpha│││││ +│  □ fp-b             |│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseB3/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB3/state_dump.txt new file mode 100644 index 00000000..c65c16a7 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB3/state_dump.txt @@ -0,0 +1,25 @@ +=== PROFILE TREE LABEL CHECK === +filters_panel: +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 2 | Page: 1/1 + +Profile Tree +------------ +▶ □ fp-a | Seed: fp-a + ├─ 👤 Managed Users + │ └─ #1 Managed User 1 + └─ 🤖 Agents + └─ #2 Agent Alpha + □ fp-b | Seed: fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) diff --git a/artifacts/ui_eval/audit_20260302_phaseB4/screen.svg b/artifacts/ui_eval/audit_20260302_phaseB4/screen.svg new file mode 100644 index 00000000..63175cee --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB4/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP fp-a | Managed Users: 1 | Entries: 3 | PW:1 2FA:0 DOC:0 KEY:2 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-a│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Managed User││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│1│││Search entries (Enter to apply)││ +│Filter : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Managed User 1              | managed_accoun | -                        | NO ││ +│Results: 3 | Page: 1/1│││  2      | 2      | Agent Alpha                 | nostr          | -                        | NO ││ +││││  3      | 3      | Console Login               | password       | -                        | NO ││ +│Profile Tree│││││ +│------------│││││ +│  ■ fp-a             |│││││ +│Seed: fp-a│││││ +│▶   👤 #1    Managed User 1│││││ +│    🤖 #2    Agent Alpha│││││ +││││││ +│Nav: / j f(menu)│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│👥 Entry #1  Managed User 1││Notes & Tags #1│┃ +┃│--------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1 | Edit: e│┌──────────────────────────┐┃ +┃│👥 Managed Account Seed Board││Sensitive State: HIDDEN│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseB4/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB4/state_dump.txt new file mode 100644 index 00000000..8ff9bf56 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB4/state_dump.txt @@ -0,0 +1,27 @@ +=== TREE CHILD OPEN CHECK === +cursor=1 +selected_entry=1 +status: +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Opened tree entry 1 +filters_panel: +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: #1 Managed User 1 +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ + ■ fp-a | Seed: fp-a +▶ 👤 #1 Managed User 1 + 🤖 #2 Agent Alpha + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) diff --git a/artifacts/ui_eval/audit_20260302_phaseB5/screen.svg b/artifacts/ui_eval/audit_20260302_phaseB5/screen.svg new file mode 100644 index 00000000..13176025 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB5/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP fp-a | Managed Users: 1 | Entries: 2 | PW:0 2FA:0 DOC:0 KEY:2 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-a│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 2 | Page: 1/1│││  1      | 1      | Managed User 1              | managed_accoun | -                        | NO ││ +││││  2      | 2      | Agent Alpha                 | nostr          | -                        | NO ││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #1    Managed User 1│││││ +│    🤖 Agents│││││ +│      #2    Agent Alpha│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseB5/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB5/state_dump.txt new file mode 100644 index 00000000..27cb2138 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB5/state_dump.txt @@ -0,0 +1,24 @@ +=== TREE GROUP HEADER CHECK === +filters_panel: +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 2 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-a | Seed: fp-a + 👤 Managed Users + #1 Managed User 1 + 🤖 Agents + #2 Agent Alpha + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) diff --git a/artifacts/ui_eval/audit_20260302_phaseB6/screen.svg b/artifacts/ui_eval/audit_20260302_phaseB6/screen.svg new file mode 100644 index 00000000..e75f2be7 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB6/screen.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-a││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: fp-a | Profiles: 1 |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Managed User 1              | managed_accoun | -                        | NO ││ +│Tree│││  2      | 2      | Agent Alpha                 | nostr          | -                        | NO ││ +│----│││  3      | 3      | Doc 3                       | document       | -                        | NO ││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a  M:1 A:1│││││ +│    👤 Managed (1)│││││ +│      #1    Managed User 1│││││ +│    🤖 Agents (1)│││││ +│      #2    Agent Alpha│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseB6/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseB6/state_dump.txt new file mode 100644 index 00000000..a3d5ba4a --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseB6/state_dump.txt @@ -0,0 +1,22 @@ +=== PROFILE TREE DEPTH READABILITY CHECK === +has_counts=True +has_managed_group=False +has_agent_group=True +filters: +SeedPass ◈ TUI v2 +Fingerprint: fp-a +FP: fp-a | Profiles: 1 | Session: unlocked +Scope: filter=all arch=active links=all managed=(none) +Selected: (none) +Results: 3 | Page: 1/1 + +Tree +---- +▶ ■ fp-a | Seed: fp-a M:1 A:1 + 👤 Managed (1) + #1 Managed User 1 + 🤖 Agents (1) + #2 Agent Alpha + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 diff --git a/artifacts/ui_eval/audit_20260302_phaseC/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseC/state_dump.txt new file mode 100644 index 00000000..cf69525f --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseC/state_dump.txt @@ -0,0 +1,10 @@ +=== TOP RIBBON === +FP (default) | Managed Users: 1 | Entries: 3 | Kind: all | Session: unlocked | Last Sync: (none) + +=== ACTION STRIP STARTUP === +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Select an entry to view context actions. + +=== ACTION STRIP PASSWORD === +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +v Rev ▣ g QR ▣ e Edit ▣ a Arch (password) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseC2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseC2/state_dump.txt new file mode 100644 index 00000000..0f6ea489 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseC2/state_dump.txt @@ -0,0 +1,2 @@ +=== TOP RIBBON WITH TYPE STATS === +FP (default) | Managed Users: 0 | Entries: 4 | PW:1 2FA:1 DOC:1 KEY:1 | Kind: all | Session: unlocked | Last Sync: (none) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseD/screen.svg b/artifacts/ui_eval/audit_20260302_phaseD/screen.svg new file mode 100644 index 00000000..6494f863 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseD/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 2 | PW:1 2FA:0 DOC:1 KEY:0 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseD/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseD/state_dump.txt new file mode 100644 index 00000000..aeae1b27 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseD/state_dump.txt @@ -0,0 +1,53 @@ +=== STARTUP FILTER === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +▶ □ (default)Seed:(default) + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== FILTER MENU OPEN === +visible=True +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Filter menu: enter all|secrets|docs|keys|2fa + +=== FILTER DOCS APPLIED === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : docs +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 1 | Page: 1/1 + +Profile Tree +------------ +▶ □ (default)Seed:(default) + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) +rows=1 \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseD2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseD2/state_dump.txt new file mode 100644 index 00000000..774b8b5b --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseD2/state_dump.txt @@ -0,0 +1,124 @@ +=== DEFAULT PROFILE FILTER === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : docs +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 1 | Page: 1/1 + +Profile Tree +------------ +▶ □ fp-aSeed:fp-a + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + □ fp-bSeed:fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== PROFILE fp-a INITIAL FILTER === +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-aSeed:fp-a + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + □ fp-bSeed:fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== PROFILE fp-a SAVED FILTER === +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: (none) +Filter : keys +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 1 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-aSeed:fp-a + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + □ fp-bSeed:fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== PROFILE fp-b INITIAL FILTER === +SeedPass ◈ TUI v2 +Fingerprint: fp-b + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ + □ fp-aSeed:fp-a +▶ ■ fp-bSeed:fp-b + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) + +=== PROFILE fp-a RESTORED FILTER === +SeedPass ◈ TUI v2 +Fingerprint: fp-a + +Selected: (none) +Filter : keys +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 1 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-aSeed:fp-a + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + □ fp-bSeed:fp-b + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseD3/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseD3/state_dump.txt new file mode 100644 index 00000000..3e95f6f4 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseD3/state_dump.txt @@ -0,0 +1,24 @@ +=== MULTI-KIND FILTER === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : password,totp +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 2 | Page: 1/1 + +Profile Tree +------------ +▶ ■ (default)Seed:(default) + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) +rows=2 \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseD4/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseD4/state_dump.txt new file mode 100644 index 00000000..f2613732 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseD4/state_dump.txt @@ -0,0 +1,7 @@ +=== FILTER MENU OPEN === +visible=True + +=== ESC CLOSES FILTER MENU === +visible=False +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Filter menu closed \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseE/screen.svg b/artifacts/ui_eval/audit_20260302_phaseE/screen.svg new file mode 100644 index 00000000..6291bf27 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 1 | PW:0 2FA:0 DOC:1 KEY:0 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseE/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseE/state_dump.txt new file mode 100644 index 00000000..37f0f547 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE/state_dump.txt @@ -0,0 +1,26 @@ +=== HYBRID SEARCH RESULT ROW === + 2 | 2 | Roadmap Draft | document | sem:- | NO + +=== FILTERS PANEL === +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: (none) +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 1 | Page: 1/1 + +Profile Tree +------------ +▶ ■ (default)Seed:(default) + ├─ 👤 Managed Users + │ └─ (none) + └─ 🤖 Agents + └─ (none) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseE2/screen.svg b/artifacts/ui_eval/audit_20260302_phaseE2/screen.svg new file mode 100644 index 00000000..6291bf27 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE2/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 1 | PW:0 2FA:0 DOC:1 KEY:0 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseE2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseE2/state_dump.txt new file mode 100644 index 00000000..536594ec --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE2/state_dump.txt @@ -0,0 +1,2 @@ +=== HYBRID OVERLAP RESULT ROW === + 2 | 2 | Roadmap Draft | document | mix:- | NO \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseE3/screen.svg b/artifacts/ui_eval/audit_20260302_phaseE3/screen.svg new file mode 100644 index 00000000..4a8c2c88 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE3/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 2 | PW:1 2FA:0 DOC:1 KEY:0 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact  Search keyword (HYBRID) semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 2 | Page: 1/1│││  1      | 1      | Roadmap Draft               | document       | -                        | NO ││ +││││  2      | 2      | Console Login               | password       | -                        | NO ││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ (default)Seed:(default)│││││ +│  ├─ 👤 Managed Users│││││ +│  │  └─ (none)│││││ +│  └─ 🤖 Agents│││││ +│     └─ (none)│││││ +││││││ +│Nav: / j f(menu)│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseE3/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseE3/state_dump.txt new file mode 100644 index 00000000..6e7b7a73 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseE3/state_dump.txt @@ -0,0 +1,8 @@ +=== SEARCH MODE CHIP CHECK === +semantic_mode=hybrid +grid_heading: +Entry Grid | Pg 1/1 Rows 2/2 Density compact Search keyword (HYBRID) semantic +Sel Id Entry# Label Kind Meta Arch +status: +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Search mode set to hybrid diff --git a/artifacts/ui_eval/audit_20260302_phaseF/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF/screen.svg new file mode 100644 index 00000000..bea37010 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 1 | PW:1 2FA:0 DOC:0 KEY:0 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF/state_dump.txt new file mode 100644 index 00000000..32c2fd54 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF/state_dump.txt @@ -0,0 +1,7 @@ +=== STARTUP INSPECTOR SIDE === +link_hidden=True +secret_hidden=True + +=== SELECTED INSPECTOR SIDE === +link_hidden=True +secret_hidden=False \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseF2/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF2/screen.svg new file mode 100644 index 00000000..03c73331 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF2/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 2 | PW:1 2FA:0 DOC:1 KEY:0 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Runbook││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 2 | Page: 1/1│││  1      | 1      | Console Login               | password       | -                        | NO ││ +││││  2      | 2      | Runbook                     | document       | -                        | NO ││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│↑/↓ Ctrl+O Ctrl+B ? r x│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #2  Runbook││Notes & Tags #2│┃ +┃│----------------------------││------------------------│┃ +┃│📄 Note Board││----│┃ +┃│Kind: document | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 2 | File Type: txt││Notes: (none)│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF2/state_dump.txt new file mode 100644 index 00000000..84114007 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF2/state_dump.txt @@ -0,0 +1,24 @@ +=== INSPECTOR CONTEXT CHECK (DOCUMENT) === +secret_panel_hidden=True +status: +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Selected entry 2 +filters: +SeedPass ◈ TUI v2 +Fingerprint: (default) + +Selected: #2 Runbook +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 2 | Page: 1/1 + +Profile Tree +------------ +▶ ■ default | Seed: (default) + +Nav: / j f(menu) Shift+F(cycle) h p/n 1/2/3 ↑/↓ Ctrl+O Ctrl+B ? r x +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 (v confirm for seed/ssh/pgp) diff --git a/artifacts/ui_eval/audit_20260302_phaseF3/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF3/screen.svg new file mode 100644 index 00000000..85f9d85c --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF3/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│Selected: #1  Doc A││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Doc A                       | document       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Auth                        | totp           | -                        | NO ││ +│Results: 2 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│↑/↓ Ctrl+O Ctrl+B ? r x│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6 (v confirm│││││ +│for seed/ssh/pgp)│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Doc A│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│txt│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Tags (comma-separated)│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF3/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF3/state_dump.txt new file mode 100644 index 00000000..abf8b012 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF3/state_dump.txt @@ -0,0 +1,9 @@ +=== RIGHT PANE MODE TRANSITION CHECK === +editing_document=True +totp_board_open=False +right_view_hidden=True +right_editor_hidden=False +totp_hidden=True +status: +[EDIT | RIGHT] Shortcuts: ? help Ctrl+P cmd / search +Editing document 1 diff --git a/artifacts/ui_eval/audit_20260302_phaseF4/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF4/screen.svg new file mode 100644 index 00000000..85f9d85c --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF4/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│Selected: #1  Doc A││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Doc A                       | document       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Auth                        | totp           | -                        | NO ││ +│Results: 2 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│↑/↓ Ctrl+O Ctrl+B ? r x│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6 (v confirm│││││ +│for seed/ssh/pgp)│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Doc A│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│txt│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Tags (comma-separated)│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF4/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF4/state_dump.txt new file mode 100644 index 00000000..7bbcbdea --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF4/state_dump.txt @@ -0,0 +1,7 @@ +=== ENTRY OPEN CONTEXT GUARD CHECK === +editing_document=True +totp_board_open=False +selected_entry=1 +status: +[EDIT | RIGHT] Shortcuts: ? help Ctrl+P cmd / search +Finish document edit before opening another entry diff --git a/artifacts/ui_eval/audit_20260302_phaseF5/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF5/screen.svg new file mode 100644 index 00000000..d45a9c64 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF5/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1│││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Doc A││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Jump to entry id (Enter)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││  1      | 1      | Doc A                       | document       | -                        | NO ││ +│Session: unlocked│││  2      | 2      | Auth                        | totp           | -                        | NO ││ +│Managed: (none)│││││ +│Results: 2 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│2FA Board│┃ +┃││┃ +┃│id  src  rem  code      label│┃ +┃│--  ---  ---  --------  -----│┃ +┃│ 2  imp   27  123456    Auth│┃ +┃││┃ +┃││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF5/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF5/state_dump.txt new file mode 100644 index 00000000..d43c1de2 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF5/state_dump.txt @@ -0,0 +1,4 @@ +=== INSPECTOR HEADING CONTEXT CHECK === +heading_view=Inspector | #1 (document) Doc A +heading_edit=Document Editor | Entry #1 +heading_totp=2FA Board | Live Codes diff --git a/artifacts/ui_eval/audit_20260302_phaseF6/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF6/screen.svg new file mode 100644 index 00000000..10e0625d --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF6/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1│││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  Auth││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Jump to entry id (Enter)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Session: unlocked│││  2      | 2      | Runbook                     | document       | -                        | NO ││ +│Managed: (none)│││  3      | 3      | Auth                        | totp           | -                        | NO ││ +│Results: 3 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #3  Auth││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│📱 2FA Board││--│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│2FA Fields│┌──────────────────────────┐┃ +┃│Period: 30s││Sensitive State: HIDDEN│┃ +┃│Digits: 6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF6/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF6/state_dump.txt new file mode 100644 index 00000000..ca738ef9 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF6/state_dump.txt @@ -0,0 +1,6 @@ +=== INSPECTOR FIELD LAYOUT CHECK === +password_has_login_fields=True +document_has_document_fields=True +totp_has_2fa_fields=True +inspector_heading: +Inspector | #3 (totp) Auth diff --git a/artifacts/ui_eval/audit_20260302_phaseF7/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF7/screen.svg new file mode 100644 index 00000000..f7b65e13 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF7/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: (default) | Profiles: 1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│| Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: #2  Runbook││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 2 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Tree│││  2      | 2      | Runbook                     | document       | -                        | NO ││ +│----│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #2  Runbook││Notes & Tags #2│┃ +┃│----------------------------││--------------------------│┃ +┃│📄 Note Board││--│┃ +┃│Kind: document | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | File Type: md││Notes: (none)│┃ +┃│Document Fields│││┃ +┃│Content Length: 15 chars││No graph links for this│┃ +┃│Preview       : steps and notes││entry.│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF7/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF7/state_dump.txt new file mode 100644 index 00000000..e41992e6 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF7/state_dump.txt @@ -0,0 +1,6 @@ +=== BOARD RHYTHM CHECK === +password_has_aligned_url=True +password_has_aligned_length=True +doc_has_preview_row=True +inspector_heading: +Inspector | #2 (document) Runbook diff --git a/artifacts/ui_eval/audit_20260302_phaseF8/screen.svg b/artifacts/ui_eval/audit_20260302_phaseF8/screen.svg new file mode 100644 index 00000000..0fe3d92d --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF8/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: (default) | Profiles: 1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│| Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: #1  Auth││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 1 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Auth                        | totp           | -                        | NO ││ +│Tree│││││ +│----│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  Auth││Notes & Tags #1│┃ +┃│----------------------------││--------------------------│┃ +┃│📱 2FA Board││--│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│2FA Fields│┌──────────────────────────┐┃ +┃│Period : 30s││Sensitive State: HIDDEN│┃ +┃│Digits : 6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseF8/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseF8/state_dump.txt new file mode 100644 index 00000000..9e81c040 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseF8/state_dump.txt @@ -0,0 +1,5 @@ +=== TOTP BOARD RHYTHM CHECK === +has_period_row=True +has_digits_row=True +entry_detail_head: +Entry #1 Auth diff --git a/artifacts/ui_eval/audit_20260302_phaseFixA/screen.svg b/artifacts/ui_eval/audit_20260302_phaseFixA/screen.svg new file mode 100644 index 00000000..c5a83fd1 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseFixA/screen.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-a││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: fp-a | Profiles: 1 |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=docs││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 1 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  3      | 3      | Doc 3                       | document       | -                        | NO ││ +│Tree│││││ +│----│││││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #1    Managed User 1│││││ +│    🤖 Agents│││││ +│      #2    Agent Alpha│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseFixA/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseFixA/state_dump.txt new file mode 100644 index 00000000..ded449c6 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseFixA/state_dump.txt @@ -0,0 +1,5 @@ +=== REPORTED ISSUE FIX CHECK === +grid_has_labels=True +filters_has_fingerprint=True +filters_has_managed=True +filters_has_agent=True diff --git a/artifacts/ui_eval/audit_20260302_phaseG/screen.svg b/artifacts/ui_eval/audit_20260302_phaseG/screen.svg new file mode 100644 index 00000000..fd6bc17d --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseG/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 1 | Entries: 1 | PW:0 2FA:0 DOC:0 KEY:1 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseG/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseG/state_dump.txt new file mode 100644 index 00000000..5148b140 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseG/state_dump.txt @@ -0,0 +1,56 @@ +=== STARTUP SECRET PANEL === +Sensitive State: HIDDEN + +Sensitive data hidden. Select an entry, then use 'v' (reveal) or 'g' (QR). + +=== PRESS V WITH NO SELECTION === +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +No entry selected +Sensitive State: HIDDEN + +No entry selected. + +Select an entry, then press 'v' to reveal. + +=== REVEAL CONFIRM STATE === +Sensitive State: REVEALED + +Sensitive 👥: Managed Account Seed #1 + +Label : Acct One +Seed Phrase : legal winner thank year wave sausage worth useful legal winner thank yellow + +=== QR STATE === +Sensitive State: QR + +Sensitive 👥: Managed Account Seed #1 QR + + + ############## ## ## ############## + ## ## ## ## #### ## ## + ## ###### ## ## ## ## ## ###### ## + ## ###### ## ## ## ## ## ## ###### ## + ## ###### ## #### #### ## ## ## ###### ## + ## ## ## ## ## + ############## ## ## ## ## ## ############## + ## #### #### + ## ## ## ## ## ###### ## ## + ############ ## ###### ###### ###### #### + ## #### #### #### ## ############## ###### + ###### ############ #### ########## + #### ###### ###### ## ######## ###### + ## #### #### ######## ## ## ## + ## ############ ###### ## ## ## ## #### + ## #### ## #### #### ## ###### + ## ## ######## ## ############## ###### + ######## ## ## ## + ############## ## #### ## ###### ## + ## ## #### #### ######## + ## ###### ## ###### ## ############ #### + ## ###### ## ######## ## #### #### + ## ###### ## #### #### #### ## #### ## ## + ## ## #### ###### ## ######## + ############## ######## #### ###### ## ## + + +Payload: 101920151790203919831533203119191019201517902040 \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseG2/screen.svg b/artifacts/ui_eval/audit_20260302_phaseG2/screen.svg new file mode 100644 index 00000000..491ec3e6 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseG2/screen.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 1 | Entries: 1 | PW:0 2FA:0 DOC:0 KEY:1 | Kind: all | Session: unlocked | Last Sync: (none)┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 1/1  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Acct 1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 1 | Page: 1/1│││  1      | 1      | Acct 1                      | managed_accoun | -                        | NO ││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ (default)Seed:(default)│││││ +│  ├─ 👤 Managed Users│││││ +│  │  └─ #1 Acct 1│││││ +│  └─ 🤖 Agents│││││ +│     └─ (none)│││││ +││││││ +│Nav: / j f(menu)│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector Board│┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│👥 Entry #1  Acct 1││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1 | Edit: e│┌──────────────────────────┐┃ +┃│👥 Managed Account Seed Board││Sensitive State: REVEALE│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add New Entry  C Create New Seed  R Remove Seed  H Hide/Reveal Sensitive  E Export Data  I Import Data  B Backup Data┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseG2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseG2/state_dump.txt new file mode 100644 index 00000000..5ccd9744 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseG2/state_dump.txt @@ -0,0 +1,12 @@ +=== MANAGED ACCOUNT DOUBLE-V REVEAL CHECK === +selected=1 +secret_panel: +Sensitive State: REVEALED + +Sensitive 👥: Managed Account Seed #1 + +Label : Acct 1 +Seed Phrase : legal winner thank year wave sausage worth useful legal winner thank yellow +status: +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Revealed selected sensitive data diff --git a/artifacts/ui_eval/audit_20260302_phaseH/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH/screen.svg new file mode 100644 index 00000000..6494f863 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH/screen.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ UI v2│ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃FP (default) | Managed Users: 0 | Entries: 2 | PW:1 2FA:0 DOC:1 KEY:0 |┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 2/2││ +│Fingerprint: (default)│││Density compact││ +│││└────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃[VIEW | CENTER] Shortcuts: ? help  Ctrl+P cmd  / search┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃S Settings  A Add  C Create Seed  R Remove Seed  H Hide/Reveal  E Export┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH/state_dump.txt new file mode 100644 index 00000000..71f28ac5 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH/state_dump.txt @@ -0,0 +1,22 @@ +=== ACTION STRIP DENSITY === +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Select an entry to view context actions. + +=== STATUS DENSITY === +[VIEW | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Entries loaded. Select an entry to inspect. + +=== DETAIL BOARD DENSITY === +Entry #1 GitHub +------------------------ +🗝 Password Board +Kind: password | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 1 +▣ Copy Password ▣ Create New ▣ Edit +Credentials +Password*: hidden (v reveal, g qr) | Length: 20 chars +Username*: (none) | URL: (none) +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Edit (e) | Archive (a) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260302_phaseH2/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH2/screen.svg new file mode 100644 index 00000000..0d6d6d24 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH2/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: fp-a││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Managed User 1              | managed_accoun | -                        | NO ││ +│Results: 3 | Page: 1/1│││  3      | 3      | Agent Alpha                 | nostr          | -                        | NO ││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #2    Managed User 1│││││ +│    🤖 Agents│││││ +│      #3    Agent Alpha│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH2/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH2/state_dump.txt new file mode 100644 index 00000000..8c0fb733 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH2/state_dump.txt @@ -0,0 +1,6 @@ +=== HIRES DENSITY CHECK === +brand_height=1 +ribbon_height=2 +status_height=2 +action_strip_height=2 +grid_heading_height=2 diff --git a/artifacts/ui_eval/audit_20260302_phaseH3/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH3/screen.svg new file mode 100644 index 00000000..928f1515 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH3/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: fp-a││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Managed User 1              | managed_accoun | -                        | NO ││ +│Results: 3 | Page: 1/1│││  3      | 3      | Agent Alpha                 | nostr          | -                        | NO ││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #2    Managed User 1│││││ +│    🤖 Agents│││││ +│      #3    Agent Alpha│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│↑/↓ Ctrl+O Ctrl+B ? r x│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH3/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH3/state_dump.txt new file mode 100644 index 00000000..98aa941c --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH3/state_dump.txt @@ -0,0 +1,7 @@ +=== HIRES DENSITY + WHITESPACE CHECK === +status_margin=Spacing(top=0, right=1, bottom=0, left=1) +totp_margin_top=0 +brand_height=1 +ribbon_height=2 +status_height=2 +action_strip_height=2 diff --git a/artifacts/ui_eval/audit_20260302_phaseH4/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH4/screen.svg new file mode 100644 index 00000000..adbfac6e --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH4/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Search entries (Enter to apply)││ +│Selected: #1  A1IT││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Managed: (none)│││││ +│Results: 1 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Nav: / j f(menu)│││││ +│Shift+F(cycle) h p/n 1/2/3│││││ +│↑/↓ Ctrl+O Ctrl+B ? r x│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6 (v confirm│││││ +│for seed/ssh/pgp)│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  A1IT││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│🗝 Password Board││----│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 1│└──────────────────────────┘┃ +┃│▣ Copy Password  ▣ Create New  ▣ Edit│┌──────────────────────────┐┃ +┃│Credentials││Sensitive State: HIDDEN│┃ +┃│Password*: hidden (v reveal, g qr) | Length: 16 chars│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH4/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH4/state_dump.txt new file mode 100644 index 00000000..40fc2472 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH4/state_dump.txt @@ -0,0 +1,5 @@ +=== DENSE ACTION STRIP CHECK === +dense_hires=True +action_strip: +S Set A Add C Seed+ R Seed- H Reveal E Export I Import B Backup Ctrl+P Cmd Dense +v Rev ▣ g QR ▣ e Edit ▣ a Arch (password) diff --git a/artifacts/ui_eval/audit_20260302_phaseH5/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH5/screen.svg new file mode 100644 index 00000000..34a74551 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH5/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: fp-a││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1│││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  A1IT││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Jump to entry id (Enter)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││  1      | 1      | A1IT                        | password       | -                        | NO ││ +│Session: unlocked│││  2      | 2      | Managed User 1              | managed_accoun | -                        | NO ││ +│Managed: (none)│││  3      | 3      | Agent Alpha                 | nostr          | -                        | NO ││ +│Results: 3 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #2    Managed User 1│││││ +│    🤖 Agents│││││ +│      #3    Agent Alpha│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  A1IT││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│🗝 Password Board││--│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 1│└──────────────────────────┘┃ +┃│▣ Copy Password  ▣ Create New  ▣ Edit│┌──────────────────────────┐┃ +┃│Credentials││Sensitive State: HIDDEN│┃ +┃│Password*: hidden (v reveal, g qr) | Length: 16 chars│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH5/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH5/state_dump.txt new file mode 100644 index 00000000..96b19507 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH5/state_dump.txt @@ -0,0 +1,31 @@ +=== DENSE SIDEBAR + TYPO CHECK === +dense_hires=True +filters: +SeedPass ◈ TUI v2 +Fingerprint: fp-a +Profiles: 1 + +Selected: #1 A1IT +Filter : all +Archive: active +Links : all +Density: compact +Session: unlocked +Managed: (none) +Results: 3 | Page: 1/1 + +Profile Tree +------------ +▶ ■ fp-a | Seed: fp-a + 👤 Managed Users + #2 Managed User 1 + 🤖 Agents + #3 Agent Alpha + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +action_strip: +S Set A Add C Seed+ R Seed- H Reveal E Export I Import B Backup Ctrl+P Cmd Dense +v Rev ▣ g QR ▣ e Edit ▣ a Arch (password) +entry_detail_head: +Entry #1 A1IT diff --git a/artifacts/ui_eval/audit_20260302_phaseH6/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH6/screen.svg new file mode 100644 index 00000000..0579a175 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH6/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1│││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Jump to entry id (Enter)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Session: unlocked│││││ +│Managed: (none)│││││ +│Results: 1 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH6/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH6/state_dump.txt new file mode 100644 index 00000000..855f2c8c --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH6/state_dump.txt @@ -0,0 +1,9 @@ +=== BOTTOM ACTION SHORTCUT CHECK === +action_strip: +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Select an entry to view context actions. +palette_open=True +palette_value=db-export +status: +[PALETTE | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Export shortcut opened diff --git a/artifacts/ui_eval/audit_20260302_phaseH7/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH7/screen.svg new file mode 100644 index 00000000..0579a175 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH7/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Fingerprint: (default)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1│││Search entries (Enter to apply)││ +│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: (none)││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Jump to entry id (Enter)││ +│Archive: active││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Session: unlocked│││││ +│Managed: (none)│││││ +│Results: 1 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH7/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH7/state_dump.txt new file mode 100644 index 00000000..9232aba3 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH7/state_dump.txt @@ -0,0 +1,7 @@ +=== ACTION STRIP CLICKABLE CHECK === +clicked_col=73 +palette_open=True +palette_value=db-export +status: +[PALETTE | CENTER] Shortcuts: ? help Ctrl+P cmd / search +Export shortcut opened diff --git a/artifacts/ui_eval/audit_20260302_phaseH8/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH8/screen.svg new file mode 100644 index 00000000..2c489728 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH8/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: fp-a | Profiles: 1 |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Managed User 1              | managed_accoun | -                        | NO ││ +│----│││  3      | 3      | Agent Alpha                 | nostr          | -                        | NO ││ +│▶ ■ fp-a             |│││││ +│Seed: fp-a│││││ +│    👤 Managed Users│││││ +│      #2    Managed User 1│││││ +│    🤖 Agents│││││ +│      #3    Agent Alpha│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH8/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH8/state_dump.txt new file mode 100644 index 00000000..36339b3b --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH8/state_dump.txt @@ -0,0 +1,19 @@ +=== TOP-LEFT HIERARCHY DENSE CHECK === +dense_hires=True +filters: +SeedPass ◈ TUI v2 +FP: fp-a | Profiles: 1 | Session: unlocked +Scope: filter=all arch=active links=all managed=(none) +Selected: (none) +Results: 3 | Page: 1/1 + +Tree +---- +▶ ■ fp-a | Seed: fp-a + 👤 Managed Users + #2 Managed User 1 + 🤖 Agents + #3 Agent Alpha + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 diff --git a/artifacts/ui_eval/audit_20260302_phaseH9/screen.svg b/artifacts/ui_eval/audit_20260302_phaseH9/screen.svg new file mode 100644 index 00000000..deb858ea --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH9/screen.svg @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│FP: (default) | Profiles: 1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│| Session: unlocked│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│managed=(none)│││Jump to entry id (Enter)││ +│Selected: #1  Doc 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 1 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Doc 1                       | document       | -                        | NO ││ +│Tree│││││ +│----│││││ +│▶ ■ default          |│││││ +│Seed: (default)│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  Doc 1││Notes & Tags #1│┃ +┃│----------------------------││--------------------------│┃ +┃│📄 Note Board││--│┃ +┃│Kind: document | Modified: (unknown) | Archived: No││Tags: alpha│┃ +┃│Index Num*: (auto) | File Type: txt││Notes: n1│┃ +┃│Document Fields│││┃ +┃│Content Length: 11 chars││No graph links for this│┃ +┃│Preview       : hello world││entry.│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260302_phaseH9/state_dump.txt b/artifacts/ui_eval/audit_20260302_phaseH9/state_dump.txt new file mode 100644 index 00000000..4f5e89d3 --- /dev/null +++ b/artifacts/ui_eval/audit_20260302_phaseH9/state_dump.txt @@ -0,0 +1,4 @@ +=== DENSE INSPECTOR NOISE CHECK === +has_dense_hint=True +has_verbose_hint=False +has_dense_actions=True diff --git a/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.png b/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.png new file mode 100644 index 00000000..9ee2e694 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #5  Managed 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│👥 Entry #5  Managed 1││Notes & Tags #5│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No││--│┃ +┃│Index Num*: (auto) | Entry Num: 5 | Edit: e││Tags: (none)│┃ +┃│👥 Managed Account Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12││Sensitive State: HIDDEN│┃ +┃│Index Num*: (auto)│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.svg b/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.svg new file mode 100644 index 00000000..9ee2e694 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_managed_seed.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #5  Managed 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│👥 Entry #5  Managed 1││Notes & Tags #5│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No││--│┃ +┃│Index Num*: (auto) | Entry Num: 5 | Edit: e││Tags: (none)│┃ +┃│👥 Managed Account Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12││Sensitive State: HIDDEN│┃ +┃│Index Num*: (auto)│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_nostr.png b/artifacts/ui_eval/audit_20260303_after31/board_nostr.png new file mode 100644 index 00000000..a6f1371a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_nostr.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #8  Nostr 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #8  Nostr 1││Notes & Tags #8│┃ +┃│----------------------------││--------------------------│┃ +┃│⚡ Nostr Board││--│┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 8│└──────────────────────────┘┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│┌──────────────────────────┐┃ +┃│▣ QR Public  ▣ QR Private││Sensitive State: HIDDEN│┃ +┃│npub: npub1demo│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_nostr.svg b/artifacts/ui_eval/audit_20260303_after31/board_nostr.svg new file mode 100644 index 00000000..a6f1371a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_nostr.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #8  Nostr 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #8  Nostr 1││Notes & Tags #8│┃ +┃│----------------------------││--------------------------│┃ +┃│⚡ Nostr Board││--│┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 8│└──────────────────────────┘┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│┌──────────────────────────┐┃ +┃│▣ QR Public  ▣ QR Private││Sensitive State: HIDDEN│┃ +┃│npub: npub1demo│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_note.png b/artifacts/ui_eval/audit_20260303_after31/board_note.png new file mode 100644 index 00000000..247ea47a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_note.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #2  Note 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #2  Note 1││Notes & Tags #2│┃ +┃│----------------------------││--------------------------│┃ +┃│📄 Note Board││--│┃ +┃│Kind: document | Modified: (unknown) | Archived: No││Tags: ops, kb│┃ +┃│Index Num*: (auto) | File Type: md││Notes: doc note│┃ +┃│Document Fields│││┃ +┃│+- Content││No graph links for this│┃ +┃│---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------││entry.│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_note.svg b/artifacts/ui_eval/audit_20260303_after31/board_note.svg new file mode 100644 index 00000000..247ea47a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_note.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #2  Note 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #2  Note 1││Notes & Tags #2│┃ +┃│----------------------------││--------------------------│┃ +┃│📄 Note Board││--│┃ +┃│Kind: document | Modified: (unknown) | Archived: No││Tags: ops, kb│┃ +┃│Index Num*: (auto) | File Type: md││Notes: doc note│┃ +┃│Document Fields│││┃ +┃│+- Content││No graph links for this│┃ +┃│---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------││entry.│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_password.png b/artifacts/ui_eval/audit_20260303_after31/board_password.png new file mode 100644 index 00000000..3242781a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_password.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #1  Login 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  Login 1││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│🗝 Password Board││--│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│Login Fields│┌──────────────────────────┐┃ +┃│+- Credentials ---------------------+││Sensitive State: HIDDEN│┃ +┃│| Password*: hidden (v reveal, g qr) |│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_password.svg b/artifacts/ui_eval/audit_20260303_after31/board_password.svg new file mode 100644 index 00000000..3242781a --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_password.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #1  Login 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #1  Login 1││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│🗝 Password Board││--│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│Login Fields│┌──────────────────────────┐┃ +┃│+- Credentials ---------------------+││Sensitive State: HIDDEN│┃ +┃│| Password*: hidden (v reveal, g qr) |│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_pgp.png b/artifacts/ui_eval/audit_20260303_after31/board_pgp.png new file mode 100644 index 00000000..8193c152 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_pgp.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #7  PGP 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #7  PGP 1││Notes & Tags #7│┃ +┃│----------------------------││--------------------------│┃ +┃│🔒 PGP Board││--│┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 7│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private││Sensitive State: HIDDEN│┃ +┃│Fingerprint: FPR-7│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_pgp.svg b/artifacts/ui_eval/audit_20260303_after31/board_pgp.svg new file mode 100644 index 00000000..8193c152 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_pgp.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #7  PGP 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #7  PGP 1││Notes & Tags #7│┃ +┃│----------------------------││--------------------------│┃ +┃│🔒 PGP Board││--│┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 7│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private││Sensitive State: HIDDEN│┃ +┃│Fingerprint: FPR-7│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_seed.png b/artifacts/ui_eval/audit_20260303_after31/board_seed.png new file mode 100644 index 00000000..3788a157 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_seed.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #4  Seed 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│🌱 Entry #4  Seed 1││Notes & Tags #4│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No││--│┃ +┃│Index Num*: (auto) | Entry Num: 4 | Edit: e││Tags: (none)│┃ +┃│🌱 BIP-39 Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12││Sensitive State: HIDDEN│┃ +┃│Index Num*: (auto)│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_seed.svg b/artifacts/ui_eval/audit_20260303_after31/board_seed.svg new file mode 100644 index 00000000..3788a157 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_seed.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #4  Seed 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│🌱 Entry #4  Seed 1││Notes & Tags #4│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No││--│┃ +┃│Index Num*: (auto) | Entry Num: 4 | Edit: e││Tags: (none)│┃ +┃│🌱 BIP-39 Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12││Sensitive State: HIDDEN│┃ +┃│Index Num*: (auto)│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_ssh.png b/artifacts/ui_eval/audit_20260303_after31/board_ssh.png new file mode 100644 index 00000000..fb6d2139 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_ssh.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #6  SSH 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #6  SSH 1││Notes & Tags #6│┃ +┃│----------------------------││--------------------------│┃ +┃│🖧 SSH Board││--│┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 6│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private││Sensitive State: HIDDEN│┃ +┃│Public Key: ssh-ed25519 AAAA-6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_ssh.svg b/artifacts/ui_eval/audit_20260303_after31/board_ssh.svg new file mode 100644 index 00000000..fb6d2139 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_ssh.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #6  SSH 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #6  SSH 1││Notes & Tags #6│┃ +┃│----------------------------││--------------------------│┃ +┃│🖧 SSH Board││--│┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto) | Entry Num: 6│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private││Sensitive State: HIDDEN│┃ +┃│Public Key: ssh-ed25519 AAAA-6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_totp.png b/artifacts/ui_eval/audit_20260303_after31/board_totp.png new file mode 100644 index 00000000..739d6257 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_totp.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #3  Auth 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #3  Auth 1││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│📱 2FA Board││--│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│2FA Fields│┌──────────────────────────┐┃ +┃│Period : 30s││Sensitive State: HIDDEN│┃ +┃│Digits : 6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/board_totp.svg b/artifacts/ui_eval/audit_20260303_after31/board_totp.svg new file mode 100644 index 00000000..739d6257 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/board_totp.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: #3  Auth 1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃│Entry #3  Auth 1││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│📱 2FA Board││--│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No││Tags: (none)│┃ +┃│Index Num*: (auto)│└──────────────────────────┘┃ +┃│2FA Fields│┌──────────────────────────┐┃ +┃│Period : 30s││Sensitive State: HIDDEN│┃ +┃│Digits : 6│││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/state_dump.txt b/artifacts/ui_eval/audit_20260303_after31/state_dump.txt new file mode 100644 index 00000000..47b007e6 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/state_dump.txt @@ -0,0 +1,398 @@ + +=== ui_board_idle === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Select an entry to view context actions. +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: (none) +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Inspector idle. + +Select an entry from the grid to inspect details. + +=== board_password === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Rev (v) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (password) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #1 Login 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #1 Login 1 +------------------------ +🗝 Password Board +Kind: password | Modified: (unknown) | Archived: No +Index Num*: (auto) +Login Fields ++- Credentials ---------------------+ +| Password*: hidden (v reveal, g qr) | +| Username*: alice | +| URL : https://example.com | +| Length : 18 chars | ++------------------------------------+ +Operations ++- Quick Actions ----------------------+ +| ▣ Copy Password ▣ Create New ▣ Edit | ++---------------------------------------+ +Tags/Notes: side panel. +Actions: e edit | a archive + +=== board_note === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Edit Doc (e) ▣ Save (Ctrl+S) ▣ Arch (a) ▣ doc-export (document) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #2 Note 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #2 Note 1 +---------------------------- +📄 Note Board +Kind: document | Modified: (unknown) | Archived: No +Index Num*: (auto) | File Type: md +Document Fields ++- Content -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Content Length: 230 chars | +| Preview : This is a long note content for layout audit. This is a long note content for layout audit. This is a long note content for layout audit. This is a long note content for layout aud | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +Operations ++- Quick Actions -+ +| ▣ Edit ▣ Export | ++------------------+ +Tags/Notes: side panel. +Actions: e edit | Ctrl+S save | Esc cancel | a archive + +=== board_totp === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +2FA Board (6) ▣ Rev (v) ▣ QR (g) ▣ Arch (a) (totp) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #3 Auth 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #3 Auth 1 +---------------------------- +📱 2FA Board +Kind: totp | Modified: (unknown) | Archived: No +Index Num*: (auto) +2FA Fields +Period : 30s +Digits : 6 +Current Code: hidden (use '6' board or 'v' reveal) +Secret: hidden | URI via QR +Operations +▣ Copy Code ▣ Copy URL(confirm) ▣ Reveal Secret ▣ QR +Tags/Notes: side panel. +Actions: 6 board | 2fa-copy | 2fa-copy-url | v reveal | g qr | a archive + +=== board_ssh === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (ssh) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #6 SSH 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #6 SSH 1 +---------------------------- +🖧 SSH Board +Kind: ssh | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 6 +▣ Copy Public ▣ Export Public +▣ Reveal Private ▣ Copy Private ▣ Export Private +Public Key: ssh-ed25519 AAAA-6 +Private Key: hidden (use 'v confirm' to reveal) +Tags/Notes: side panel. +Actions: v reveal | e edit | a archive | Ctrl+P copy/export-field + +=== board_pgp === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (pgp) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #7 PGP 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #7 PGP 1 +---------------------------- +🔒 PGP Board +Kind: pgp | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 7 +▣ Copy Public ▣ Export Public +▣ Reveal Private ▣ Copy Private ▣ Export Private +Fingerprint: FPR-7 +Public Key: available +Private Key: hidden (use 'v confirm' to reveal) +Tags/Notes: side panel. +Actions: v reveal | e edit | a archive | Ctrl+P copy/export-field + +=== board_nostr === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Rev (v) ▣ QR (g public/private) ▣ Arch (a) (nostr) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #8 Nostr 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Entry #8 Nostr 1 +---------------------------- +⚡ Nostr Board +Kind: nostr | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 8 +▣ Copy npub ▣ Copy nsec ▣ Edit +▣ QR Public ▣ QR Private +npub: npub1demo +nsec: hidden (use 'v confirm' to reveal) +Tags/Notes: side panel. +Actions: v reveal | g qr | qr private cfm | a archive + +=== board_seed === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (seed) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #4 Seed 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +🌱 Entry #4 Seed 1 +------------------------ +Kind: seed | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 4 | Edit: e +🌱 BIP-39 Seed Board +▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) +Seed Phrase*: hidden (v confirm) | Word Count: 12 +Index Num*: (auto) +Tags/Notes: side panel. +Actions: v reveal(cfm) | g qr | copy seed cfm | export-field seed cfm | a archive + +=== board_managed_seed === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +managed-load ▣ managed-exit ▣ Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (managed_account) +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: (default) +Path: (default) +Session: unlocked | Profiles: 1 | Managed: (none) +Scope: filter=all arch=active links=all +Selected: #5 Managed 1 +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +👥 Entry #5 Managed 1 +------------------------ +Kind: managed_account | Modified: (unknown) | Archived: No +Index Num*: (auto) | Entry Num: 5 | Edit: e +👥 Managed Account Seed Board +▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) +Seed Phrase*: hidden (v confirm) | Word Count: 12 +Index Num*: (auto) +Tags/Notes: side panel. +Actions: v reveal(cfm) | g qr | copy seed cfm | export-field seed cfm | a archive + +=== ui_board_managed_loaded === +-- action-strip -- +Shift+S Set Shift+A Add Shift+C Seed+ Shift+R Seed- Shift+H Reveal Shift+E Export Shift+I Import B Backup Ctrl+P Cmd Dense +Select an entry to view context actions. +-- filters -- +SeedPass ◈ TUI v2 +Fingerprint: fp-m1 +Path: (default) > fp-m1 +Session: unlocked | Profiles: 1 | Managed: #5 +Scope: filter=all arch=active links=all +Selected: (none) +Results: 8 | Page: 1/1 + +Tree +---- +▶ ■ default | Seed: (default) M:1 A:1 + 👤 Managed (1) + #5 Managed 1 + 🤖 Agents (1) + #8 Nostr 1 + +Keys: / j f Shift+F m h p/n ? r x Pane:1/2/3 Tree:↑/↓ Ctrl+O Ctrl+B +Act: Ctrl+P a e Ctrl+S Esc l [ ] o v g 6 +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Inspector idle. + +Select an entry from the grid to inspect details. \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.png b/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.png new file mode 100644 index 00000000..75126071 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.svg b/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.svg new file mode 100644 index 00000000..75126071 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/ui_board_idle.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: (default)│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed:│││Search entries (Enter to apply)││ +│(none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Scope: filter=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│arch=active links=all│││Jump to entry id (Enter)││ +│Selected: (none)││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│Tree│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│----│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│▶ ■ default          |│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│    👤 Managed (1)│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│      #5    Managed 1│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│    🤖 Agents (1)│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +│      #8    Nostr 1│││││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.png b/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.png new file mode 100644 index 00000000..cb656895 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.png @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-m1│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default) > fp-m1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed: #5│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: (none)│││Jump to entry id (Enter)││ +│Results: 8 | Page: 1/1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Tree│││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│----│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│▶ ■ default          |│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│    👤 Managed (1)│││▌ 5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│      #5    Managed 1│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│    🤖 Agents (1)│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│      #8    Nostr 1│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.svg b/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.svg new file mode 100644 index 00000000..cb656895 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after31/ui_board_managed_loaded.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ ◀ Collapse ││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│SeedPass ◈ TUI v2│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact  Search (KEYWORD) hybrid semantic││ +│Fingerprint: fp-m1│││Sel Id       Entry#   Label                       Kind            Meta                      Arch││ +│Path: (default) > fp-m1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked |││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Profiles: 1 | Managed: #5│││Search entries (Enter to apply)││ +│Scope: filter=all││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│arch=active links=all││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: (none)│││Jump to entry id (Enter)││ +│Results: 8 | Page: 1/1││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Tree│││  1      | 1      | Login 1                     | password       | -                        | NO ││ +│----│││  2      | 2      | Note 1                      | document       | -                        | NO ││ +│▶ ■ default          |│││  3      | 3      | Auth 1                      | totp           | -                        | NO ││ +│Seed: (default)  M:1 A:1│││  4      | 4      | Seed 1                      | seed           | -                        | NO ││ +│    👤 Managed (1)│││▌ 5      | 5      | Managed 1                   | managed_accoun | -                        | NO ││ +│      #5    Managed 1│││  6      | 6      | SSH 1                       | ssh            | -                        | NO ││ +│    🤖 Agents (1)│││  7      | 7      | PGP 1                       | pgp            | -                        | NO ││ +│      #8    Nostr 1│││  8      | 8      | Nostr 1                     | nostr          | -                        | NO ││ +││││││ +│Keys: / j f Shift+F m h p/n│││││ +│? r x  Pane:1/2/3  Tree:↑/↓│││││ +│Ctrl+O Ctrl+B│││││ +│Act: Ctrl+P a e Ctrl+S Esc│││││ +│l [ ] o v g 6│││││ +││││││ +││││││ +││││││ +││││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃│Inspector idle.│┃ +┃││┃ +┃│Select an entry from the grid to inspect details.│┃ +┃││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/audit_20260303_after32/state_dump.txt b/artifacts/ui_eval/audit_20260303_after32/state_dump.txt new file mode 100644 index 00000000..a4b91dfd --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after32/state_dump.txt @@ -0,0 +1,209 @@ + +=== ui_board_idle === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Select an entry to view context actions. +-- entry-detail -- +Inspector idle. + +Select an entry from the grid to inspect details. + +=== board_password === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (password) +-- entry-detail -- +Entry #1 Login 1 +------------------------ +🗝 Password Board +Kind: password | Modified: (unknown) | Archived: No +Index Num*: (auto) +Login Fields ++- Credentials ---------------------+ +| Password*: hidden (v reveal, g qr) | +| Username*: alice | +| URL : https://example.com | +| Length : 18 chars | ++------------------------------------+ +Operations ++- Quick Actions ----------------------+ +| ▣ Copy Password ▣ Create New ▣ Edit | ++---------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Edit (e) | Archive (a) + +=== board_note === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Edit Doc (e) ▣ Save (Ctrl+S) ▣ Arch (a) ▣ doc-export (document) +-- entry-detail -- +Entry #2 Note 1 +---------------------------- +📄 Note Board +Kind: document | Modified: (unknown) | Archived: No +Index Num*: 2 | File Type: md +Document Fields ++- Content -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Content Length: 230 chars | +| Preview : This is a long note content for layout audit. This is a long note content for layout audit. This is a long note content for layout audit. This is a long note content for layout aud | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +Operations ++- Quick Actions -+ +| ▣ Edit ▣ Export | ++------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Edit (e) | Save (Ctrl+S) | Cancel (Esc) | Archive (a) + +=== board_totp === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +2FA Board (6) ▣ Rev (v) ▣ QR (g) ▣ Arch (a) (totp) +-- entry-detail -- +Entry #3 Auth 1 +---------------------------- +📱 2FA Board +Kind: totp | Modified: (unknown) | Archived: No +Index Num*: 3 +2FA Fields ++- Parameters --------------------------------------+ +| Period : 30s | +| Digits : 6 | +| Current Code: hidden (use '6' board or 'v' reveal) | +| Secret: hidden | URI via QR | ++----------------------------------------------------+ +Operations ++- Quick Actions ----------------------------------------+ +| ▣ Copy Code ▣ Copy URL(confirm) ▣ Reveal Secret ▣ QR | ++---------------------------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: 2FA Board (6) | 2fa-copy | 2fa-copy-url | Reveal (v) | QR (g) | Archive (a) + +=== board_seed === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (seed) +-- entry-detail -- +🌱 Entry #4 Seed 1 +------------------------ +Kind: seed | Modified: (unknown) | Archived: No +Index Num*: 4 | Entry Num: 4 | Edit: e +🌱 BIP-39 Seed Board +Seed Fields ++- Seed Info --------------------------------------+ +| Seed Phrase*: hidden (v confirm) | Word Count: 12 | +| Index Num*: 4 | ++---------------------------------------------------+ +Operations ++- Quick Actions -------------------------------------------------------+ +| ▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) | ++------------------------------------------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Reveal (v confirm) | QR (g) | copy seed confirm | export-field seed confirm | Archive (a) + +=== board_managed_seed === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +managed-load ▣ managed-exit ▣ Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (managed_account) +-- entry-detail -- +👥 Entry #5 Managed 1 +------------------------ +Kind: managed_account | Modified: (unknown) | Archived: No +Index Num*: 5 | Entry Num: 5 | Edit: e +👥 Managed Account Seed Board +Seed Fields ++- Seed Info --------------------------------------+ +| Seed Phrase*: hidden (v confirm) | Word Count: 12 | +| Index Num*: 5 | ++---------------------------------------------------+ +Operations ++- Quick Actions -------------------------------------------------------+ +| ▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) | ++------------------------------------------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Reveal (v confirm) | QR (g) | copy seed confirm | export-field seed confirm | Archive (a) + +=== board_ssh === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (ssh) +-- entry-detail -- +Entry #6 SSH 1 +---------------------------- +🖧 SSH Board +Kind: ssh | Modified: (unknown) | Archived: No +Index Num*: 6 | Entry Num: 6 +Key Material ++- Keys -----------------------------------------+ +| Public Key: ssh-ed25519 AAAA-6 | +| Private Key: hidden (use 'v confirm' to reveal) | ++-------------------------------------------------+ +Operations ++- Quick Actions -----------------------------------+ +| ▣ Copy Public ▣ Export Public | +| ▣ Reveal Private ▣ Copy Private ▣ Export Private | ++----------------------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +=== board_pgp === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (pgp) +-- entry-detail -- +Entry #7 PGP 1 +---------------------------- +🔒 PGP Board +Kind: pgp | Modified: (unknown) | Archived: No +Index Num*: 7 | Entry Num: 7 +Key Material ++- Keys -----------------------------------------+ +| Fingerprint: FPR-7 | +| Public Key: available | +| Private Key: hidden (use 'v confirm' to reveal) | ++-------------------------------------------------+ +Operations ++- Quick Actions -----------------------------------+ +| ▣ Copy Public ▣ Export Public | +| ▣ Reveal Private ▣ Copy Private ▣ Export Private | ++----------------------------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +=== board_nostr === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v) ▣ QR (g public/private) ▣ Arch (a) (nostr) +-- entry-detail -- +Entry #8 Nostr 1 +---------------------------- +⚡ Nostr Board +Kind: nostr | Modified: (unknown) | Archived: No +Index Num*: 8 | Entry Num: 8 +Key Material ++- Keys ----------------------------------+ +| npub: npub1demo | +| nsec: hidden (use 'v confirm' to reveal) | ++------------------------------------------+ +Operations ++- Quick Actions -----------------+ +| ▣ Copy npub ▣ Copy nsec ▣ Edit | +| ▣ QR Public ▣ QR Private | ++----------------------------------+ +Compact: Notes/Tags shown inline. +Tags: (none) +Notes: (none) +Actions: Reveal (v) | QR (g) | qr private confirm | Archive (a) \ No newline at end of file diff --git a/artifacts/ui_eval/audit_20260303_after34/state_dump.txt b/artifacts/ui_eval/audit_20260303_after34/state_dump.txt new file mode 100644 index 00000000..7ae90c63 --- /dev/null +++ b/artifacts/ui_eval/audit_20260303_after34/state_dump.txt @@ -0,0 +1,189 @@ + +=== ui_board_idle === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Select an entry to view context actions. +-- grid-heading -- +Entry Grid | Pg 1/1 Rows 8/8 Density compact Search (KEYWORD) hybrid semantic +Sel Id Entry# Label Kind Meta Arch +------------------------------------------------------------------------------------------------ +-- entry-detail -- +Inspector idle. + +Select an entry from the grid to inspect details. + +=== board_password === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (password) +-- entry-detail -- +Entry #1 Login 1 +------------------------ +🗝 Password Board +Kind: password | Modified: (unknown) | Archived: No +Index Num*: (auto) ++- Credentials ---------------------+ +| Password*: hidden (v reveal, g qr) | +| Username*: alice | +| URL : https://example.com | +| Length : 18 chars | ++------------------------------------+ ++- Quick Actions ----------------------+ +| ▣ Copy Password ▣ Create New ▣ Edit | ++---------------------------------------+ +Tags: (none) +Notes: (none) +Actions: Edit (e) | Archive (a) + +=== board_note === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Edit Doc (e) ▣ Save (Ctrl+S) ▣ Arch (a) ▣ doc-export (document) +-- entry-detail -- +Entry #2 Note 1 +---------------------------- +📄 Note Board +Kind: document | Modified: (unknown) | Archived: No +Index Num*: 2 | File Type: md ++- Content -----------------------------------------------------------------------------------------------------------+ +| Content Length: 230 chars | +| Preview : This is a long note content for layout audit. This is a long note content for layout audit. This is | ++----------------------------------------------------------------------------------------------------------------------+ ++- Quick Actions -+ +| ▣ Edit ▣ Export | ++------------------+ +Tags: (none) +Notes: (none) +Actions: Edit (e) | Save (Ctrl+S) | Cancel (Esc) | Archive (a) + +=== board_totp === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +2FA Board (6) ▣ Rev (v) ▣ QR (g) ▣ Arch (a) (totp) +-- entry-detail -- +Entry #3 Auth 1 +---------------------------- +📱 2FA Board +Kind: totp | Modified: (unknown) | Archived: No +Index Num*: 3 ++- Parameters --------------------------------------+ +| Period : 30s | +| Digits : 6 | +| Current Code: hidden (use '6' board or 'v' reveal) | +| Secret: hidden | URI via QR | ++----------------------------------------------------+ ++- Quick Actions ----------------------------------------+ +| ▣ Copy Code ▣ Copy URL(confirm) ▣ Reveal Secret ▣ QR | ++---------------------------------------------------------+ +Tags: (none) +Notes: (none) +Actions: 2FA Board (6) | Copy Code (Ctrl+P) | Copy URL (Ctrl+P) | Reveal (v) | QR (g) | Archive (a) + +=== board_seed === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (seed) +-- entry-detail -- +🌱 Entry #4 Seed 1 +------------------------ +Kind: seed | Modified: (unknown) | Archived: No +Index Num*: 4 | Entry Num: 4 | Edit: e +🌱 BIP-39 Seed Board ++- Seed Info --------------------------------------+ +| Seed Phrase*: hidden (v confirm) | Word Count: 12 | +| Index Num*: 4 | ++---------------------------------------------------+ ++- Quick Actions -------------------------------------------------------+ +| ▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) | ++------------------------------------------------------------------------+ +Tags: (none) +Notes: (none) +Actions: Reveal (v confirm) | QR (g) | Copy Seed (confirm) | Export (confirm) | Archive (a) + +=== board_managed_seed === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +managed-load ▣ managed-exit ▣ Rev (v cfm) ▣ QR (g) ▣ Edit (e) ▣ Arch (a) (managed_account) +-- entry-detail -- +👥 Entry #5 Managed 1 +------------------------ +Kind: managed_account | Modified: (unknown) | Archived: No +Index Num*: 5 | Entry Num: 5 | Edit: e +👥 Managed Account Seed Board ++- Seed Info --------------------------------------+ +| Seed Phrase*: hidden (v confirm) | Word Count: 12 | +| Index Num*: 5 | ++---------------------------------------------------+ ++- Quick Actions -------------------------------------------------------+ +| ▣ Reveal Seed ▣ QR Seed ▣ Copy Seed(confirm) ▣ Export Seed(confirm) | ++------------------------------------------------------------------------+ +Tags: (none) +Notes: (none) +Actions: Reveal (v confirm) | QR (g) | Copy Seed (confirm) | Export (confirm) | Archive (a) + +=== board_ssh === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (ssh) +-- entry-detail -- +Entry #6 SSH 1 +---------------------------- +🖧 SSH Board +Kind: ssh | Modified: (unknown) | Archived: No +Index Num*: 6 | Entry Num: 6 ++- Keys -----------------------------------------+ +| Public Key: ssh-ed25519 AAAA-6 | +| Private Key: hidden (use 'v confirm' to reveal) | ++-------------------------------------------------+ ++- Quick Actions -----------------------------------+ +| ▣ Copy Public ▣ Export Public | +| ▣ Reveal Private ▣ Copy Private ▣ Export Private | ++----------------------------------------------------+ +Tags: (none) +Notes: (none) +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +=== board_pgp === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v cfm) ▣ Arch (a) ▣ copy/export-field (pgp) +-- entry-detail -- +Entry #7 PGP 1 +---------------------------- +🔒 PGP Board +Kind: pgp | Modified: (unknown) | Archived: No +Index Num*: 7 | Entry Num: 7 ++- Keys -----------------------------------------+ +| Fingerprint: FPR-7 | +| Public Key: available | +| Private Key: hidden (use 'v confirm' to reveal) | ++-------------------------------------------------+ ++- Quick Actions -----------------------------------+ +| ▣ Copy Public ▣ Export Public | +| ▣ Reveal Private ▣ Copy Private ▣ Export Private | ++----------------------------------------------------+ +Tags: (none) +Notes: (none) +Actions: Reveal (v) | Edit (e) | Archive (a) | Ctrl+P copy/export-field + +=== board_nostr === +-- action-strip -- +S Settings A Add C Create Seed R Remove Seed H Hide/Reveal E Export I Import B Backup Ctrl+P Cmd Compact +Rev (v) ▣ QR (g public/private) ▣ Arch (a) (nostr) +-- entry-detail -- +Entry #8 Nostr 1 +---------------------------- +⚡ Nostr Board +Kind: nostr | Modified: (unknown) | Archived: No +Index Num*: 8 | Entry Num: 8 ++- Keys ----------------------------------+ +| npub: npub1demo | +| nsec: hidden (use 'v confirm' to reveal) | ++------------------------------------------+ ++- Quick Actions -----------------+ +| ▣ Copy npub ▣ Copy nsec ▣ Edit | +| ▣ QR Public ▣ QR Private | ++----------------------------------+ +Tags: (none) +Notes: (none) +Actions: Reveal (v) | QR (g) | qr private confirm | Archive (a) \ No newline at end of file diff --git a/artifacts/ui_eval/current_tui2.png b/artifacts/ui_eval/current_tui2.png new file mode 100644 index 0000000000000000000000000000000000000000..82503c36791c2cc44ddeab9fb3b20df41b3ea244 GIT binary patch literal 16800 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 RyD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────┐┌────────────────────┐┌────────────────────┐ +││││││ +│SeedPass ◈ TUI v2││┌────────────────┐││┌────────────────┐│ +││││Entry Grid│││└────────────────┘│ +│┌────────────────────────────┐││└────────────────┘│││ +│││││││┌────────────────┐│ +││Activity Log│││┌────────────────┐│││││ +││││││Search ││││││ +││1. Selected entry 1│││└────────────────┘││└────────────────┘│ +││││││││ +│││││┌────────────────┐││┌────────────────┐│ +││││││Jump to entr││││││ +│││││└────────────────┘│││Links for #1││ +││││││││││ +││││││ +└────────────────────────────────┘└────────────────────┘└────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ + / Search  ^o Profile Open  ^s Save  esc Cancel ▏^p palette + + + diff --git a/artifacts/ui_eval/current_tui2_after.png b/artifacts/ui_eval/current_tui2_after.png new file mode 100644 index 0000000000000000000000000000000000000000..91fbbda87c30672d17a2c5c4dfc531179cf4dc18 GIT binary patch literal 37280 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│GitHub│┃ +┃│Kind: password | Entry: #1 | Modified: (unknown) | Archived: No│┃ +┃│----------------------------------------------------------------│┃ +┃│Credentials│┃ +┃│- Password: (hidden)  use 'v' to reveal│┃ +┃│- Username: me│┃ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ + + + diff --git a/artifacts/ui_eval/current_tui2_after10.png b/artifacts/ui_eval/current_tui2_after10.png new file mode 100644 index 0000000000000000000000000000000000000000..797f5c7444124c66e78706af8567dc52377de6eb GIT binary patch literal 48793 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│┌────────────────────────────┐│││Search entries (Enter to apply)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +││1. Selected entry 0│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------││----------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃││└────────────────────────────────────────┘┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after11.png b/artifacts/ui_eval/current_tui2_after11.png new file mode 100644 index 0000000000000000000000000000000000000000..377295b44c70c3b23974ccdfc309b522fbc646ab GIT binary patch literal 54967 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≫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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after11.svg b/artifacts/ui_eval/current_tui2_after11.svg new file mode 100644 index 00000000..c48dfbb2 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after11.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐│││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││Activity Log││││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +││││││□   1        1        Admin Console               password       https://console.example  NO  ││ +││││││□   2        2        To-Do                       note           -                        NO  ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│││Links Board #0│┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after12.png b/artifacts/ui_eval/current_tui2_after12.png new file mode 100644 index 0000000000000000000000000000000000000000..df2ff42aee8c2ed33376c308e3ea7dda02638d61 GIT binary patch literal 54523 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after12.svg b/artifacts/ui_eval/current_tui2_after12.svg new file mode 100644 index 00000000..d2227768 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after12.svg @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Jump to entry id (Enter)││ +│┌────────────────────────────┐││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +││Activity Log│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +││││││□   1        1        Admin Console               password       https://console.example  NO  ▅▅││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after13.png b/artifacts/ui_eval/current_tui2_after13.png new file mode 100644 index 0000000000000000000000000000000000000000..de88cdde01e9df7be79633001a81624427253186 GIT binary patch literal 49163 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after13.svg b/artifacts/ui_eval/current_tui2_after13.svg new file mode 100644 index 00000000..aacb900b --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after13.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│┌────────────────────────────┐│││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------│││┃ +┃││└────────────────────────────────────────┘┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after14.png b/artifacts/ui_eval/current_tui2_after14.png new file mode 100644 index 0000000000000000000000000000000000000000..01f6e7a319f16bc1d6a8e6c77660795802edd861 GIT binary patch literal 61888 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 N^A&Pe@lOA^zX9j{&x!y5 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after14.svg b/artifacts/ui_eval/current_tui2_after14.svg new file mode 100644 index 00000000..7aae6907 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after14.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│Selected: #0  managed_account││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│AIIT│││Search entries (Enter to apply)││ +│Filter : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│┌────────────────────────────┐│││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +││││││□   1        1        Admin Console               password       https://console.example  NO  ││ +││││││□   2        2        To-Do                       note           -                        NO  ▆▆││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------││----------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃││└────────────────────────────────────────┘┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after15.png b/artifacts/ui_eval/current_tui2_after15.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce29a698254324608dc0f54002c2d0271dea1ff GIT binary patch literal 61702 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

-5V;e;CS({&UG~`Rn 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 4/4  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------│││┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃││┌────────────────────────────────────────┐┃ +┃│Seed Board│││┃ +┃│┌ Seed phrase││Sensitive data hidden. Use 'v' to reve│┃ +┃││ hidden (use 'v confirm' to reveal)││al 🔑 or 'g' for QR ▦.│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after16.png b/artifacts/ui_eval/current_tui2_after16.png new file mode 100644 index 0000000000000000000000000000000000000000..a291c8ea17b62ad17114f526451855ee92312531 GIT binary patch literal 65490 zcmb@ucT`hdw?1kGmG&yqn}C3H>76Jbpp;1Oy@Vbq5_&`hq=WPh(xms^r8nul_g+E^ zBqX`l^1(i*Nn6d$rn}rm-scnSC5>Md znJsiunI@*DtF6Ab|6FHmIJ)Bk!)=mlk7Sg?!NIxr=aNRRiy4p+ z6eYllL)q2cUDoyIiUF!nPHKQpa&lE8)1S^#PlkUV-XQt(;`Z-j^#SqQ1XJVB=cwxR zcC}t#T{rXvHbJQwG&CxX%Foj@P&)+cRJH}^2*#G5ie3yU+@Z7iKQ?3hl5FxHeD;cF z!8}(Lkiy=J3zxlkv2nqwrKbTCj!8bf z24fJ+ve&P=$Bv>GwWqw6T2M>#mLgYln0DyHtD{BFa8UobctPJP-D(Mj0X8!H;}j1o zSBzlVi}nRAL)cNXBd4B$!Sy+Ju_3b9sqs8&e)#gT@(85$^#W>*Scx4)VgkTXXb0zVqcEBEkVs*6nzo@y=qQ0wA~tm2B0_by!fzhtZmar$nOOufJ5)aRv0#h7C>hZ zN=vwDiVd!>ratA&feTX+4=TRx!sv>gJ?_FFgvRz&YQNi}0@Gj)*$%=w}g z=4FX(Nv+dq%O&0tq(rFVvu3AR%OzE26|{2#da~7qbRZUH04)tB$An$H+66<)=BBT9 z#n5pna0Bp+SCcy&^vE+4*-R%2E|1pPC8m7_H% zG6_IUm3ja2@Tz&iW|Kmx&pY~RaOoU{0wJO2OBZ8nLUtbOIZ1AsZ(7drni$)I_I!@r zYLz0^FlZ>W3ToH+ehG{z@Z_kg5k;ex^7POe1&f(00GI1;fGgY?$D~f5D3M}0%H07y zhi{Jl^S;oYP@Z|Yqb|TMa33AO-7~R-62fp9H_X~tLQgwC*1Kbes`aih+unkfy4KNU zSJjw9y$K1jWYWO>a1UduFrlO3uZB*8Bn*U(H5y*_`&WF!XR6XzZ^OYF(RZ(@VkHrZ z^c{^Tr~@($lY0PlLQRBJVp1SJ&dYofPVW|II5GW3!W=e;qL#pYfF=5{ofEz={en^u zvth;ws0|!!qPp5!(Ai|hw75^Zp9hgl*%P7njvf>y`|O=}kXbgwq|kTroX3A7h3Y$I zuW{2}*q22Bt_{|U!oQq1v;{!jylL_p&;h>4>i7+a2YM`c3C*aJ!rP-u&;wJ!u zR}*S(=*e?E)zVuw)qw6KqS4|uN9WSR7H&T>Ig7xRP)zB3xrUz@KbuBHJGn+yf_@X8 zKdvJvcE|sFngvtLuL1h1wixHDS2r;qL;<-%C$ggv{br!1OOVh{@_u8jQF56Hr~+wD zv$pZQtBbw_SJrDj|M7@?@tZep)S45}TqYHhJzi>>v%fg-LAoM>*l6S%(ZS8PgDm>f zM&J3KC1GZf2)Xw6M)6>ef%jvi{ThX*%&At;ZR8BMk8_Cm7h_DnWw(+Rou!}-IYSFF zcyS6qt_#CG*oAJ@q$bS<)$a*j{u6M#*uifI^dw!Q^4>_!4^8uLZ-TQ)&V`imE$8gp3gLR`gmj+gu!t zjpo4~vQs)BO#0gae`yPx?(V$~N&2-|gZl9J=UXQSv9`9XN`s&D-DdC-y2~y~#t?cS z;;9|aHWt#bom6c0<@>`MH$Es#9fL5(OK1T0!^!~Dx0yse*K#ydK6Cn<9W#N)n+t#Q z911VnY7x6KjA^h@VpK4)ba)_+k}^KA2s2UxT9JSF-WRcW2*~M^2BELai{Tg~*>x@< zV>8Lj0-!K_;L>^NBI(TfSuhp9lo`G>)U63#R3Htg?LF;LqD3S!9 zF&p&V_Rta6Iiqb@!~mE9fZU)Xcchl;ab*2M{cTtJDrc zmh3gpUkt5rHy1pBUTKBbz1fo+e%oFw2QgyNE*4y>>_jaL{)9TpowPzx+rcf+l_lCQ zx*V|uNe4@)=CKQdp-qVyiHgrR$Th=#Ldve+^Wm?PM-eq9p~$B6YOeF5Rsx-#Tm`I- zXzE|Fctra~`4FSSTc*RGVEu9HsD@!Wy_opigD9Q%Zi!?7ZZBjK-x2RS+aW&0$oPd85!lR+}uN@-momv^mKGX-z zy`;hSI;7%37srZt$bupidSosb#NG_ca=8@J8sK4w}xKZ24?xQJgcA zN!&A0W|3ihOov(_0)~WI1UPVPa(W%b{B?7U zaHa3M3!!icbZHdz7xaRUyS(7XC-~m(2=dl=20FFCR=pZ;2wtXc3zXRC4J=uR7Wphe z!|q~^nm_C0ut6sidWWFp@@Vb{vC>zHJtFix`K@oSkx)MpF6`QmO+C3q&;rP4&ZTaN zDF8smWHN>sX(Zt1J&S>K=)gRO4gL&YU{+uU-2>1og8T;>>n#Nx4T*}myIT3^Upl5R z^$xStJl}rp2SuJ&&xO2CRcA#WawE_eLUbc+@L}j40^WTMg?S$_>RAyO{A^roKoWJ! zb}f3t0N>$gzoY5^-Rd#;*4Gj=!wf)N(P!dx%Imn9GmK8$d=Sl?pd#){DQ|3fwFbDD zX()qWo}Mivd4B$(Or9s*IOBM+tO@SB!H6&qjP9cZ_B0F z1roaJzAb2Yl$LG|!6>b_D&A)CA1y&~Xu`L+kP`Gs(TKSv^Fcsq>?$QlBzEBxcgBYb zcxLiAyWMdL=CSmk%dTNi{Hi$_K@=EXx{HN@t*UAo&mI%fN$$guxVX4m<+q0lFE^B^ zE}fgnuD5)-(Wj9mISZY8-w|-k?mo9bd!`>|XNCtBY`tido?v5NSP$E0rN^TS)0E)* z@&_%ps*X)hlLyL7mKYgbJW?+gbnR~2$Jp?I?X|rJ`x4j8)-e3Mi1}8s9b&%X=M!;k z*YvqnsGf1Js+}N>^?m@U5B&8?LUUjS#YK9?=X?-GySAzLc%h!{H0XznZ_k=W@53<% zl26Ro<^HS1mR}XVPvL$nN=V0Q8wY&)=z56wb2Lx5*~Fp=g6O3cRx^GzHzC-O&N_?OdK4;!?moJ7_`=8y;@5+%F(KmgkY=%au(jsUh+N3XYRg*i$IMN z!XB#LRlJ-tw8{J0L7kDEqWrN_x%gKqI*O9wB4&jrEYFNBHt*amY)sa_)f;M+6|3_| zM2EIFH1sP8dz_5&+t$8;`wz6;McRyl`Zn$uz50Fn@+LbUOWc`JP^2$o)=uKAT8r%} zcPb&qA!1-o%9B6Dx;zOS5EM|@u;~f7 zrqxOJ!=bb)T-$43m7}9!`8`#o$rE3d0K=0JemZXdQkV2QzF7P4cl%C$hw}Gfy6In5 zzYjkIz5G{aHk|+5nUvJ(doeu=Flpb{dAHqYlrZl6NBK{s&?93P{bNQ~z@~if9 z1SWHYuXoAz2E`~a{FgQ@bHCbf`dGs7Te;Fd2ow8&ypCxBd!KCpGVBKXd z_O(;aEQz_fo$38`bN8oO#x}MmjJgwltHeJ#5Vet}FHrHZH#}6G(?=QG-;bnf!Y?uq z);aXIO8>3HmkKI%$;$=u2_o22?!V<2!lL}NwbM=P)~%Gq z{}tG~U?=bQjNVZ6{bL4i{O{NH>3#n3i3u!}`@7YS(_n-2==&1?OU3&)B}jm#V^MmI zv+wwgga3OTAlsFO{@~eMbOukc3BoRnwOi}mxp^K-+>|^) z#nb-}V-XTLOM;#9e#W{om2y)itfKrqqR)&sHts-K+2V-3NLcx>BZ@t}TR4!cKMG~_ zCknngzXj>Codtmzgq;euuLd5y_s1ivALhrgR#a;8$0u8 z72BLS8Rp8!vNb+C_7Hp^ep+Fw>)d6}_tz3CuVP)CG;(ZA6Q6~UkV^cr6uUNvljRO! zowNV43gy>Pd`0Q3C`ZH($P8)e%-2l6aK(`DHQ+jRlr+|?i99atV+v?_yulQJRbS=+ ztgbsfGbT}Vh;4bip5^5--?3?{6){_73nF({iS4^X=?}P?Fp}eiKK=b3r5pxjSKQE( zOoI338P8pQCBlBS|IS4G+f4mudlG+zOPR04d~ivJu^NTaGAauEb|fD*@;y4IdjV)i zb&R7T--P;J4C*Q#JKJ8SAM;vPAIM_dwMV<||MU1899nB;?3xCSuTs#Nu3ij)BO6J7 z<=?;k5B;G!^YB|pdyCz{W!zc7!j& zyIR0l4=4A~@#p5Ozm}?yB(I@?UejZz|1$7Q5%WFdc?MS&6SuPzR^&*tO$@vO z|IfR`f6n;hGyaEYG%n-TzUM|1aO!QqtEyF_H4t zjsBOCX=&EPwB~p;|@XQ_)RpX2cWhil;N0-wjm+4sw{H=R5B346;{k_^ejYI4zP{)TLb(l4ZY8 z)QA~;Eor2o#<#&rO>w=ux8kUZBi<8r{3NdK;8rxq%b3gKm$M@FV&fML}5m zvqAF+Yeau(me|t=+8bY!4s^L1l^t{L!mXYuh7h7)GO0cb<52pnAa%``08s+zte=Y9+l||$6DnxZ1DzK z@pG}Qe>5IAoJ{etE&KE-N8VI0;R}Pr31(*s2}-ga2;Lys-}XrL=bpenqO_`$2@JRD*jX}My!zIgYzWX$Eqli%_`YHJ z#KXX~z>l#!et$3fD5>zt7|#2+skQR^mda7*n`c%Y}F)iOt;- zle--%;&o)R=XmeebBg84-)DEz)omnYni->c&E3Q%3c{1+R+j=hWeY%2!F6cR$?fnwv} zI3>Auv2tG9^Goldm!lNQyD3EEc=j(KdA(K;pk_7+>P2bH!Os3`_O2Y`o^}fcgUY(J zs`}eEW54i$+Q`48YrzBr;=<%qRRvjy7dHtIde?8{fMvFKL8o_{qy$G7qGI_eY0Bnw zl-N7(T6r-nuc}I2_>e=DcbQ3^7z**#ISX9 zxtkRWujddAjIUKN5)`2iCQ0K$fv>-IJ>X*D?i59;dW^qRmO&JXpv0!QcLuhKjm| zT1Bt+#o0@I#25Vf&~@HGeM>G-v7CyO19Q}hc-x0q<*fUm$yN&zudP`pCMNWGGllmF zeFrVoC4L%jWUce7>Aus^CdNt9_eqQ?mFDRbM}bwW47q+By=bq|>Xw#Kawz zw3Hs(oJ5MrpoD`6vL|&gM^%aN@mNft(U!+j(W*9qdf&Qas&(Cj(|m$001ZN7caNJL3!}_TAX8xG&D5)q)hyk%>6mZ80zwOck^MeK&FUa z0T2o5fd+ZnvtNcE8!+YDsKz%RXM9kqxrq(=e|eL+px^$*{?$L&_lgCSU-!f7z@}W7 z%QZbiKBm(}Uy33wMD8V;=jT8CIZzSBT}rLsWK-tcq55r8m9=-n>7IVrv~@DQk7ly($^km| zLqxEP+-Q8tO_#Oy-N2~KyZ@MX1$m8TS1;4DTLjGIU-&~OTPVWVm3yACcGwYLIu|S^ zCPqE(G9|9H7VIs5Bitsw$AG_O>R#ZdHaa5D5fd{`@$pWgR6D(dfq_b-_WmRvUrw(n z8|mSGm;%22Rhq5=FXpE9a;+1>?jSf41uCXH=&PknQN2N=yE;kd1e0<9%@^cWrHn-1kW{T?Y~m znmzJaO2sGwvqod>So%)0I!Q2uyyM>8It!) zuS{5(dlTX)WacmjIgkx~x;^(Z$&hPgEXk5nm+et7%TvQAf$xNyBSZ+t_1QAx7uwS2 zY&PB6DDENda3&3KRi^nekICP*g(LPu;s;U>@BPp@C*iAgsjU$56X5&@yBaf-Id9(y zWjf2gZhp~FGEP|XW~ceE$J|>_8SZ-i^)0DfZs?y}z>~@`d%OOp-=YRj6QlQcEI++8 z>gV!)fXfsYBv++|dl0Ctdn>~r>;pq^LgDvg=bqr?U4qk_Etr|Oj~;@L%E%qX^aUlO zq6NJD?l00>!9Ryoo+r@MXJ$vkFh(Di*kZ5&_a*iio0_|O2)wQTYmAff|1$7qC3?Oa+enYyy;!FKNeeP&|vYYTxS z1BDa{&^ymUafSJ!p*j|$s8t%8hl=-pLu$1h;#bs?UeiZ#B0@stg%?K2)@g}}iKD=r z*{&)AnMhnYE;N5^Ke26fqJWA_+Kt*L`8Ksxp%dL3B>~+ECF`eG35()KxbCLkE(N_O z0>MRSgqcbg^*<>|1qBjki&Gq*%Q3YA<#a6UK z{?W4!3MBtIr^)edB9M)j$9H7rhJs8+{)@C8Hr3)Qi5?9XA^UHApTlox*CyJ6r^oey z#%!o>`g%svzizmh@zx@doQk`}>DSYHdU_O-NXf09{S}pWtxKRUgU@}>GFIR8tYUSm zG;C)hC&(u;KEJQza_HzK*YEe9A3sYdZ zrRIEa!NTZCbm)Ecu$z~=0xPBhT_{<+rh1%_NW5ptx9V!w93?z_{?^g12dS|ank{3z zW?8-~Zm9;Y0n|Ua(w->y_V0aV#6wshQ?8K0dh@rwZ$6Ws-zZXSui11|D)FXFm80@p*O-W= zk^?bO{!*3`#7+0z*x>6B zZW?~Kv$I2@3gnVIEHd;9HbvLUw9Wv;$?JaTic<(0XWNk33R~<=EY0bwOYYe)kKs_u z=h$>gW?Gz=p}s+kOUapYLcdYS)S3v#yYA;=h?H>xC5^C$3nAFn zO4~EihE8A*B5}UT2Yw!XVZlO=w{qv}UpWZ0*5f z=v=kE$9{9{6cPyMO}GE~LpI~}yGyz{$VNYr`0+^qANtsUC0>O0I>m||EmUx#aatSu+K=p`GCd;jh(qk-u znQk*Hx}peRYy%<`vQQOi*stOU_w@~Oz1E&7)tuhX!Pqsetl)~eLVZ>|V%7mmsAwo$ zZOpFDZRk>Utkm`3%`dV-p3Y}l0xW>L+PR&Js)X2hHvF=&=TEbp@^?VSgRV88*s@z> ziOfu%q79%!>F1pOEAC+yY*Y6?t{l+frUk>Z*%3^MSTL3t-S?&ZoBWJA8~YGaGKH?) zslwu0}URQ(T0Uq3e-RLu* zf}Sfthk8l!YLdtZYF<4FLr@(;cUc+xo;1VOy&+z6v)2b=v{u&c%VlX$x5iEXUS?yD z2qhsq=)T_++(&x=AL^QPm0%ASm|8^l;DJYlpz$6Rb1jaqwQ^!-EUu%o?cdpk+pcNZvEyzVh`A-{mtz$g& z^4@sMm#9w7zdKSJ+E(!&$&{0O-3dIL(-S8GG!6AclpYj^cG>4IxrF;Td9;bu!q4N< z8n zf?w6RbcY5@0S|f`9G)u|ZO%3r4s*A)^+aVm04mi1-a`aYTS}QSh^Pz*F0betnN-iL z>G$hrW4d1EMzy))ndY&eYxSDoUfldm94O4M7uQp;Q%bKdI5j30mGmZjqY~nE!n%n1 z;T+jS=i_!fxRtv9Ww;5zZy7D@y-I_~jb2=^hGb>Btn%k>Ex6{vKDP^&e2G4<57p{LRcK9T=vEn^wSQG!RbyG3X zZ*{$IILu%pnqbx#v%7fR<K zJE_m=TndFAkp+h?C1+ZIdVX5Z$b;11yDbo6k>=QfSpC=orQ)IqwhN0vhq%FkXLWY@ z+>ex~%7|o-t7<$sDkYj5#4Ik{49?Au3T$ogd0`G$Jgr|FJfH*QLk++ z*^9)S3u6^td1hKSCH`!fb&Wx|#m}We_K-RCkk7!Q0?6(ARS0|C`rHB*f$l^JmTAtA z$4P>Jwch7S8?vuSq|i|WMf2I5;DeprCC;$lWU47MOU)xx6Q#&rdg1bYzeYiC zC)rTL4L5$uq3DZmEX{m97w=t|&icFK7wivcMXqIp`E05E%iLxm2#&6y<`nL$ZA_LM zNN#<9n_$pXwEJ@ZR$K&^Pr+05MP0~t#%Q>b9-R&Jy8SjMIE0o)_?`UxvwO0cbSQgc zE354nedJY=qO;tzqVZmhH3=nI8cLWJzO1joZ^QOT2; zasdb;nn!X}l!=Ky9a0Ldn;TFG-3zj(*R!Eyg$d10+jaY);x(fyiym;@*-3AEX;jr5 zW=hMjQR{hi=vSO3oW|VDjj}kRpNRQh&(u9P5Ba~0!lQ7FSTz`j+Q1h`Au8XLIQU~R z<#mA9!A_X%5kmuGfS}~L4RW$i@FFa%59N8WPeQlwM$MqE+{A*Q2{6=n8PeclM42cE z_Oz-fbv0a3xg{&hv^fHLben)5 zkQetPLf0x}Z=MN%;sJDLB&^~`wKK~S?Rbkb6Lo=`6^<^k+$->5fgKdbqg^dBSIl7= z(T7svN0fV;p%%SuQA3R<(JD7-vmx`_hcD79khGr8<+oMaCj+Fi>82bSYno8)(nO8d z^mVSDNcM$JJ*9R9_MKNVyNf?=()!0Spz>V7tv zL795b;0ZJ3C94V5CK>?BTJCAPyRMXjLYbkG?J4#gEGr;}qAw94+Y2-|*BE)DVdYOe zZ&*ORhu9%raO_+qM5J^I5c2cXOAloj)({HIm)EeQs;N&*E0Hh)hlwv?#7$%GLFpQ9 zRB>T0hiIt@k&voav86zM~xYjhP!) zT818i#%3a(+alhkep`Ae*%y>bq*2}yDL`>VlpN$NOV|TH&f=vvK0l?^x2X(v)`Bw+ zjCRX2piEA~_e80oNFE?gg0Z{RG-6zA2935xl5L~zi4$S;$DxMo^TU zC!se{*_p5~I{PJ`DT(kF>+#p8bj@h(erM!ay!35?r_>8%KB7MAB`ef4qRfX2xku$+ ztLufvhw~$(hi$1>3(unxt162#G0$DBjxsU{!nzH8oFOB7z@-UANoWOXB^QoQA-BL0 zaT@?d2&e$!Vx-PX7)ri+p} zNyCcsHo3EB?IV{_shmsbi*V61(1Z7Q` z%y0y)SvwY7%xatAU&sB)1ptFR^nqBy=7Qr=I}mLbuHuqZ?I7gAJ%NQgnQ$s;L&EFp zGUQ?Hnj8@TRdF0O)Cm~cLN3|CJrCL6mp)u_Qv^6;)I1*w;bK>J8^f8Ev9{jvjMm5O zr5yXbRDZTyq-m$ClWv_l1z$-`hb;%F>YY=4E_XH@9AWCMDOWJ)U|Dgd)nx}6c_s}6 z&szcFkPM`HN&VKZWjfT(!Lb$3VL#vTD-^~iKTES|(%MkxCeYd@LAx1^j%<$V4O(2C ziNp_@4uz#={Sb5h#$4dM4NA9M^JX&K4DVLMrh>*{czD*lnp%+7=d#3eV! zUy7e8=?y6~3y|$ZTQV`w=}flP@HJ;t&oY@)|51kocT41>sRyzOysSeb5rD-;RO{7A?p#5+J{rWsYc}#1GOdMOF5*U+Ag#KC}1CE-K8r{4o<+ip07& zlckG6S#2|y*m?`4+eK7G{3q}eTTejTRVG6CWAzSogG z?Z)kpzHL6&6{93HJUtkImw4*Ldr!J#kZSdnRcAH}*&M*#sd5%RPeoV!n05|Z)97Y| zeL{72%3rrN&^@v;JKyxLIp-o!VyBuE6rd8a+nC*~n%a$%0y_g7&xSKHKWi2w9eQuZ zRKdLS#uweL+fRM=C%}z+w3(ys+k--#F>pmbVa)h=JXq!;IgvVZbGE2cxV<%1hzMU` zUhQf{=qh7G)fi;ao@lE8yEVG(b_}Dka`uK@Th}@q3=u`Ul24x^s5}8r3HX1?nyIn} zGszeUeje8T@Yk--t7+%u<;4YX2a-%xHf--<`><@r%W(4MGN(0J#%U+xql^q4NP$kn zl`EsFpv&^cmZ8GP-ZbV!tszwD{Ko;`g5xQ&OUxff6-l_TJjJMzcYBqfb4#NIluZmM z^#ty=XJmqDJzS_lyZDEf)d(o;XA#D5HFz2im(9i-R6Z7^FE-arEA4KO83MhP(LnQQ1ZuA=ZtmPsM6Y(*W4V*QBTtlVP{kJ^}pE>^3CxKS2N@0?Mx|b-qnw9 zPB#srBoe~lSb44|l0w0gz`uJmV+FYg(N~@v6%b*u#Rsp%kFAmND=Cu&;L7)=I`B@Z z32z0|9XO|pwx;UG;VzSUs(Kv5*3XQ%2?$9dr0$Myq9 zk;2%~HwiYIrW)52{wccr#yaG)@bz%oFNz695y@f&V{ z=Z5$Bhtr8tt#q-Fw+_x6#W_)Bg)+84U$*5|>ls0hV~mu?JfT)gdobxVI9+4G6@?Qm zzpF}qb~x9kV*Dt796}o5QZRfkQs~0RXLZ)s)Z%M(X9Fbst7pg|LFR2l0p1UA^HyrF z32~ZH^5QDLy6K%LS)$K$ZkH5@x<0&4B%kQhaMFOa9%+xAv4D^e+VM|P1O$UZh590F zw4$@)Pxz^bNoglQ;Sq2NxVGFU$tjCZJmAeHB8kQ3+%@qif8`XA$%o0Fq5I^+U!?NF z<(@iu7{5{?4&_r+-g`d&4lKRFLR82aqn4R9X{0wWJzE4>YIxt5be6$fLGu)IMMV=X zP~x?lVXtH>)NquI5kI?Zr3#lgo*uuF={J+1qSoU>f*U3W(+F&TKZ7O$sMl^IlnW(KMyzJdkuMdrm#{NJAy| zfPv|)r0z&UaTw246(;(6M7n{9psq&XUf7_X*6w*!=2kG@dVtICZG|zbtE_u4!)H!9PbTufA zCraf#{aKO}9fBnZ7mj!jNl@3VBpiBLuUqdONO`}JloZv?=Mp?dpn6O6dxfI&GrG;q z)CXp(e#n-eZ2L;fP1Prb47Uz{Se)=(-x%)?cYq%F9l#fzr(DfGH1ot_LUl;X(~IUh zi*FIkrFv}9u}m3GlLs}89k+&`p?2@WKXppdMhfM)G+Y1Wu%w^({5S>$2R3gXqV2QV zoGphP7BvO!d1c8WGgn(-B_#s+9hm{C%}32-gsG0sHpL6Vb0#NgN8X!lVup+B&G6!e z!}=*Dz00ISpX1cHwIOPbHPSR#NPmEp_KFWB&%9zu%A%R^_VCpjey${uX0buT$v}9B z&f%q_{h`Dwn;aLYsY9c!URhG#kS?vy=98JTX^9M0k*oQ8=Fzbe+Lrx`*woFy92O0m zqzV_z_2#sP@7}(Go{arm?8t-N&FAQ&1XppsQ@Ryfa~zTnv3)`|yl;TxR?tp=>=AHy+ovhS|BAdPiXh z7eQR@NM>jCizdvOE*hu%Vs7hs9n@!ecv1R{3OzdrpU<8e4RIZwfkYA=ESe1v(a)oL z7CNhNG`UI-grP3W5j+=O2a|I`C+CAn!BMX`xX+%3?XG;ykVak{%$;@(r8!(hZmskL z;N>sv5`%ZgZs2!t|11ssnjyj6m<|*!bvl&}Ujl+*+pRB0o{=D)e(@q`aYqW8RSu}Y zhDX-qkmqd|T>~_70CC~xl}-n;sKcG859`+H=14P|a69l{ke2K5C}4|gy1HjdQ$<_f zjOVUm0wtf1EM0gX+*lYJGu8l3dKP5wnHvusN~Z;R!gq$+u#xC|#ksE8NaP%yS9zsJ z$3AZTN-B#O?Ytsk)77n}XJB$7;v$owjGm$E5F(n{B0wzx)e$f09=Qa6K&Qm1TxT>- zjdZ&u=F{OOBGHxx&60MuR}nPe)EyogDKac)20Q{cz~EtmfqC^T$n}&j;t|+)sGSlu}GJS%#8vD(|3Ym1@8c{a_6&<#hQ`>Hcj3 z#E%FLfx+iDIpac@nJU=-dUs!3fqjn)+G?Mo$C=18x1j86rd_eH21(d(VaSZYlhb&b zaO@h_ZnHV~@nGP_P22OTYCkD^&cixj+4t~!k-`oAKAJKwqefvNrmh}4e#Rm6M6RcK zmC<&E+|v8#58=&L$sVm+!r*w>NGFd)np*|jCo9Lpj8sBd@u`b5AIJu%Gl@#yc^H5K zB>7PTBEjifA5Dg~Kfe4V_Ml97p1_ps+lQdLA%>06wY$aqhBwZsYN$A?38;j2%~S-z zaKOp7^jy-A7EPl5@H?lCA32^z^ME>4`j!c(P*Wv{tMIM5{^8q}%g&eV>_Ro& zv`j$q9U2;T(E|H1bgtLvbjldM9M9tee^|4 zM44oJE7ed_Bape9NXGDajsVFa6jpO)l0B7;%IKb>n-NFuN1Z3py6@%%9D zOc$%DF7hO4$IK%IR1U6@n=|}SE3Lj}Ja-MIWrpA=$ksi_9}?z4FjJ`U@^A0;Z%co> z7^Ht5LuP%WKc3Ka4YhD|ZFW&pB6&V6eE=MpR`uBwLklF}nYBPeNT$|>>siV{%klA| z#xlg`ge;iLxn5AC$*BQiwzQk5iI#^n*nXPYW1~g~L2-O3osm0xl;Y)MyTWw;C z6JRtZXN6f-i@VITPXU< zfRolRqK?Pz3b?bFNIRL{dY*A@*D=iKo8 z*PV8?dae?f(bI-ogqji<{*qvHe3(;{{r<_3;{6u zo~=2SofV=IR!;dPKz<}d60BdBS2vL*BTOB~iLM5v+2bMRt1CV}Zd}-_U=6gwcl7UX zh27=`fW`?4q*o=)xN2kAll(%XPT2(c?^6j0rj4Z9De4#@5+;F!111x-*INx~--^zG zE!9WEBO|J&o<5UKOYN0XQ!kRJS++jw*Ik5++h__7FWp@kpN(~CK!04cM_#t2LBwge ze^!lTNV2==pK0;f;`XIrAl}u$_Dio;F9Ro;DeeW$i$~a%NirPj$*AmB7^;( z>mDW^nc5YeXE4tsIilw4WAAX3*U}5?{lSsj0I+*H)3>3@x0H+-5GX*@SaBdd^JPGW z7rI?YRMe*$+*wkBZpsLvlZ*1D>SpYWv(bB*bY65)_jp~ zDp=Q%M$moVZbPwmHmbfE(y-h#ua(yQsJk?PGbg!jTU;Djtzu4tXlbyE_;Kr47qv7y zRpPmvj4p5@9fxi6t;}ezA^@!i}+rmQxI3Z#xhTSl%mHKEMjNHEGMbCbe^Jy*FEGk>33J;h%o!D!`mO8?UoICL9;e|yWiNV zkRxe44tBN{g-IB`!W-XmM0CzmiyqT&I{gYLUT9>z752I;T{@zprcSQ+Z5AGr6cC6i zb5*lvv|mzLZ;QNN{`h(F%v?y=z%RrcgtpZ7KfIy-LJ@HKllu zVGo)-*q20{lRkHJY9T86xx;F7KBa@b*}3D@-U@7#{p$K{j0D4Ey9Dn+9TgMKqEF+&h3va8zU_^Dpib(VRGR|&DyrB z*vhfnb^;k)F2VAta*fZJSxGbHY^~Gs77^yVw-D(m-*FA35t|6TCGr@Hy+EqueNg{I zOH6Q!myKTgcgOdHTwN1+br;2lMy?H0hU?wfI=u1C{CM^xq2u;6A1@hBA8(??Vp+RBJGUw*WwwLFPYY-FJx;{1-z%MWt09^jVemdj$7<`T#!-#cWuQIS5e zrUjjGz)#Lqil7-fh~#b(mPWUOHcOi~KdMm(mm*t-H;a_uE#z}K0pyy+0*Hq2AlMYq z0H1OMM*JMX$9hYR=4gq^-GzwB6Oi&5yN;`BbqJv3cC9*J?;Rffu&XWhR zNwLZIcZ#Ncd3Zy+%c`M4`1#Yq$8c<62m$g0$eo)nhS6Qmn1#cJ#NT5ktCXZ1--M{Z zLbpV>EnY$I)Rvw|Bb*!SOt3-CkOb<-;VXQ;_3%Sa#0s56E)b6`Qw_Ttztx@d`S4qf zY)k-li*Y(2Qey)UdFmCRl*4A4ZKl>El37jP2$szc}QlYUC2J$o0z|AOJyD@%*#_G^2~9ojrSO zIW1#3?L_~zAiubnG8a1VYljw~jtxPQ|6Ec<`}!A+SW#ml>$&%e^vxuP+t|Hizqs%< zB){3rfB0v3iVorc-j}2|v22y+z`OSAS-%;wIa2?}O;-OsH~611|9`QLv2>O148+7( z#+ZWCAKJ?at$9@MKb+BJRsJQ>PKsZomSNHETh7?OiBQ$}{tak;RR$36`TKt9N#K-K ze5(Zgzhc)!Vq5+E_wfJzzEqzB`{x;Et~D)ZZ$=aj9QdST@imXD4r~lmb?Tq4i2kD) z98_eUyz)PH2`?oy@$Azk)nEOzcr;?AuWmW_3QH#fgpJMSaMtpfGm~^^&vVkt73Z?E z<(sRFINQRbLB zG&xPIl8vipod(L$EsT)7W@}t9S?OUgAy3`XwuH^~Qv4j?3wl<709sC7=GC^X5?0lU z@QlL7(p+VnEg{b;2j95o}`?f*<9TLP8x9E4Jy%rNV2;~JpB1rLBEB{*owTWx;Fbz#o6&$ zjJbJp(Q?SLEs>5z;KM>o**7e_Aqy636L$R6VPj^zq*~9`YxXkml_JYoJqlF63MLF* zL@*_N9n|FOb}D2BnMySEu4?|=B)YqxDPgK!-virUuiG==z2(EQ&|j;5R$I=&RQ`I6 zcF?PP2$BMNuBUuf@t1zHsYm5^bG5RbXofDG;QNUps^akGX!UtPrnvm4$}_iN)k0Fg6y^^xx0u|8A$31x@#*LH{S2u>NWDy=4tDW(?$|%Zk>b>cfSwl6 zrLNGlO{Qyv!Cn1d#Z-tU-vaJ6@DD%1mY9-_??OEbIL8)Lyx=>9+VdId3QDpKp5<&{ zIL^l+J0OUt=svF{=*fD;m$GAG7&W7?_e~bYG_wizUQAx^1{d*gOT#QzU# zZygp@--Z98C@6xcNSBh5(jC$urNYo9-Q6i7AT1p;fG8nDcb9YwHH5^_-5mo1XQMvv zdEV>yo^$>=`>(mKiM?m$8+)yF-=8H4t0?C$L!_3Fty)_+$stmQAa9*2H27E&Gb*%5 zUOH&UYY1&R42=`LO>K?NX=j534jehVls1li=q1@)4+o<^uacJyB?iS>aM#jD<4FZ- zY+V^VlU(Xod5aT-x3!|`rmhj?ImonnoXH_9%@)|<7Bgh6`jl3Yk`xd7?ntElyC|As zf(AScaENO#oWtxC*`UThrc$3*HobqSznWaQ5)O>_2Nh>9L;ZnBRxMR)rQqb5Oo#)6 zX3O~S!nbqmU0L~~XN(ggtJC!4_+bq1f`)_F96+i^0u}`HE&=QBxl$CdD zD@cF07~K%?BlPOuC@q_4lx0qhUDlza$clHVQ(+4-8q_Kr?>9cWy2r0M#5B|p&F>uZ z6*i-!7dk{>^ETUNDnwR4sA4Fe2)3o>QE5aq4dT#GVnvxN01+Ojl*$NSCY-79*}dKm%y& zN>aj-jn|cFNOSzNAj~FD-U?gKy_iV_5>jM^hYC5oMoQ*#`|kN#&???+O4S~^?+rOf zt36ke=4d?OhLHS5me|jOZp3mMnk5{-0;6;~>_jZLzUcF*Cj4|LP9c9lR$PTv&V-MG z$?W%X)SR_z2nf84jdVpLO6mGJ?rN(^*0TJ zOiJ#4gny6XDv5&*hpJARIvYAnSg)v3=2 z(;{W~Rqyw}x22kzsVg72m|jb#^o25pm6|%cJzHK@0^3nO{r#OkEH4{kl7xoO9~ufo z+gDY337>pQ;zG7t8J2(NOkk>#&SuE9mkO@t^vwTeCgXOnWqQ=3tlh04v@PgEfQ;RC zj;KTN%L79`r53sdm(U`k2u`_YhW|~O@<;B$-3_aOz5X{|Z@xV7X&7?m$2xcq7H?Q#r}M&U#b(x4}vfMfef>9$8M6aNZLeOP)kS7!Ep}79v5eelnfzlkGO=N+U3-2=}KX z@E_+ulBMU6UMbsE@J)Xt^I7Nwbal;9z;;OvhJc(Z1x0c;bxf7kY~s1q(t8f3$$`QM zo>H+AXSoVE10p4xT0ufpV;BF>Zz8U2w|ihP9;0NDu($>)6JJms#Y zFE~WF_e;Nu4dYqtnK&f=0ulWOle85*gPNCNzBM3Ui_>EdEviG1QOAe zQY#C&V{@h67M|(wv3IrXF?)2E?pF$&jvr_LWikcM2fPwgEDfhcCu%n;vmw{D->I7zf+La?WH{V;W7n=9SO z>RQ;lnc9}`7^6q;M9tc8Itj7p=?TV0(1+p~TZVpnGDBqcEoaq5b4BQWEA~IT-9%lI z1id+|^yTvD-ASLUmG_|6r!F!JSsl|WLQWo#FfMf>#EIYjxb;{6*vILtd|YL;j7A0B2EPRC!`Gc6gX?PE6qjQe@(?`i%z7~Tv`{W2je>RV zf$+tXJmm+(n_+lSFq7rdGF@HKe~fxIWUu_q8F#I_o#Vuyx9lM(U4%0hAAd?`xBoxCbxj`QQ>-z84IiB= zPxtzx*MJ#w9p?Urb}`57RHTxxS(e?{=)1uL05PIvjZw(sFaa5KoehmVzwyI5aaM3v zweRQbbtk3`C#PpUzo!tI{gEz0;h$W9g%$)vKgW?_df|D&*Hq=Qy7Vr?k`*84wBIk} zQU6dWr?IFRQ6QbPn{x-vr|fPnNij=fm!guASw#@r)4wqq z!%ZXyeSM94t6GCgDuK;nA^eEG6naVj1osbmk7z|Rhp+WEI!@rnD@q_>_;@8r(Bnt7 z|Hs?-;eDD*D5t^Noj)i1f3*HHOMmq*yE~QI@F&RH^bi>Ik6~9wA?%U)+@0X~?vN*T6%T-| zBvVYu6-6UgC7|VsQSEMK#_VQUBOW15=1WE$J~2AE12_NloFTFD^AJ77=MB-~k3|Kr z=*^j-STXlM_a|ruB}rZF*`36)JOqlL^GBcC|MOi~i3x=V0e#8s?(9-Sfq03`zi*fu zcD%7la#emc@sg5KDa$2W%!&?j)_RUse3}14-wT9_t5NCbq=TyWJ*p?8WKu2qk>aZI z-n!mW>R6!;=GqlX58(3@4qw{ry)p!NRxl+7ryapoafi}lI( z34!Su7Y*Qp9rKR;?su|I=~oJXMJ{8hkC;ZV#}9@@_C4s-v)tI2n}9P$OWm*_mcM?8 zUQPk**}r|-n0KwOxY7EZmxX} zC3(-BR_U7lCdHZcY>P?kn+dgG?Ly2yrc#6TAOC9-n>v0C{?{Z%3oH0P=j{W(FX|&j z%j(cl?cqg(NpjN6-z>ZyR8!Vs3i4S1_n^ewEd!zHOU$BUYN^=bnZ#G9j; z7W;pvHvkaIi!UK1B|jxKsYTG{#2KD;bat%y$$6}xp1~0v58SVQkFW%a21ho%tMOxx zF@}C)st0eS6qwXh!O(kX%(pU3{LgUTp ziH~~3j)fR85A#$Y7JyG1fWvvSsp~au_wV}T5OYsvb(AAXz=!>Uw(R2zMFPNEm~YA3 zL}GMoSy~)APULdzp8Gvt$IdiE-L^h|&QaPK7IFBH z6;fl_n>tmv<+r*m5g_k3s;AOgRas+ONG{uWc%@Ew1^2h8pQ(Yp7CAdE5)}v<_|{|8 zr@ecX_Qvc|i1`W`;j`?$pp1P?kGH68+cYXQBVYeA;t_B~AKIOx(Q&vU2WvSEguk;Z zC^-WzS7^IF7pQ+(k`>?-R9cl^p%(d`=ilTB(oTvYEQ1SXc)IhM3JJvg6UVVM!u&0> zGnRr*a55#bxtJC%p4rlNSKY;p6w4S&wV=kWYt)6Nh4H%j3DeiHdXp(Sy1G+DD}C=| zl)_Rl1}3J}ag!ck6c}l zx~^gm@4;wGgMM^abNPnACUP{O$?vqQ9RJs4Vs4cms{73Zuhk5_h$ta{O_;J^0*p-4 zFVDqi(X2N^=Hbm1)FuoLhU5m^b1WezADSksjVK*!?&l%2yCm~IiT^6n^=xv87(AU= z!PlUdh@jh(?9MW3h_2Qki*Di9at+#oBt$q%gM!Dmi?#T;5e?r33n092JGQX?QCZUt znzHDM=@l3tuRq`zaI{KKLeS|YtZ>okY=y~0}(Y20+w9k;Ephy>e= zWxHH%Y|IylUZAc}>2X@4ig{yxt0yd^V{6;%9?QM0!84+RqI@;$+Ou_2C4~alng^-4 zNjSXP`kwCk*n{53mXo!d1vc0EK(a26;6TZBG+Njb=)({uh>@Ch($$3UHD)bvxzC~w$o?= zrS)v_F;c ze1lAGdMiVKTSzOg?L|wa-AIJrd0iE5IM-~o0}23W9i;DgY$E(8`sanZlP!xTi*wx@ z%r(zSMa!;FS8*L+Y9~i{O*_4_eiH@=dvck9Ia$9I)bR7;68@^fjcbE75>G-k_4F^I z7iY~E6Gi=Sx6YC3^?t#W;2A-ewCs+}s@eC#(cTvb&S1IluHfZ;?V>tM7gzgx(ZC9V zrokouVvvphb2Ev#-Q$(o*pzM5I(h?_^w19VP-NMKoc+nGuvzAlW7ki#RMnSP36It{ zLO0*uqa8)542=%&xF99+Q$kNNQ*Tv$gE3e(?-4v0U~8kY?;}IUfyT*6m%V)(#|0z= z??~LLpoYY;_Y=QLq(oY>T}K@A&Ymq_P-0`JqI5=h5RMlt5&BoY*Hd0W&~qGcrS+6r z>e;c3C(P5(eXlI)#E<7iFMZdBm35U(4Ju*2>XaB%6cU?Wf9OZ?9lsH0tUzhS_{88q zeluZH$-Mn7M#T!O&;~ZydEtkeNu;+T0jCsM{3u|(O9HhT(~k`t@FEkCC(i;3l9bMCw9)dn(KUghARbmx$PXrmT;S{XQEeF)L8t| zoRYZtRa!AtD`6EfzE!Ic{?Q;su&oPU>Uou0dXaoHv&jIT!&L{kvuyXe)~>jAonY0? z7Qx|c$tQQbVP)GGJ$U`Rtp+p+|IfB%jAetNzk0} z=r3mFlPaexJ*E)6k?@mQ|Es7n)bN|!)fR5jLSjnU#_NzFy!Ugbn51Kfq58)C#TFya z%=fYzl#CR{d$LVj-U!g9T5`71wgG?z!9ne8FUbUOuedlO-psg{yhlaATn_vjFduHh z8tJo?XA-lG>91W*8crV)E3WB3#9k@N&C4hlEA!(^sy-$?o4>kaGcpDjxx7H%?3+pf ztNCeJat);OU0&dZo|90#I~dimi3sVl!3f=`SOAZkZBcDdo z)Ww|(vi9`OsQS~6b?Bv#lJ|+A-s@sp*dFG!u*V)z4OA>ahJZsZFvQBzmh5_~;WQ$W z{K%8M-V{*)gGEf7My1jZvsq2_razjMConU)JTs^~SF*y>ANMPD*F5Oy>^3g>;A20x zhulpDlO+33NND1P9<2{X#71M_nO${2->)}w`IXWg92u&PkEnvz25#=F4IG$j_(>Q) z&){Dn(Q;oyO}}xff3o zg3*)2NiUZWyrLdOl@18*O>j}uxtFN z9pY{lS!s;FsS3Jo@!?hSc&iD6^z@D_#%o@aUL*H9rF*#>BzMzJ5!toUzAogudrE4T z5fWV$((O)$YkU6ao0Zd-!gh!EO+I6glujr|!DwgRJAY3)=Llz_-1WOId%xIu*_|<; z3(me2s=`Z0MJ7h3BwmD}<2MQ%?ff*&{b4ny9vh3IKa6F-8M-{oQyc$s82*A^d4e>Z z=w<4~9bx0f?2M8Q<2K(lT4KsHW`jlgCK3Kd-(#o%-jHd75ZCathcn*aA6s-4HExjR z9Sr-oSQz5bp``IrxW3&~X^KB5Odce}x3PscI!cV^3)68)y=6T^yD{S1xNs(G=<`9k zdmwcMFe$V-GCXQ&ri&a(T)y3D$3tXP)1~`{&G@pY@ZMF? zDFtyKuXW?0*DC8^3?*@Y`r$%g(qns_E5uZtDD;fXdvS3x#8G?8Oz%`o@T9x03E5V@ z(X%52NJCh6mFsp12KiA;Ww9! zE~fOiKm;ZcRg-=3yMoPoYQYk7tL_FtRrl%>*25%YiPwJybE73RgzS6!*4HM$1@DBX zlaZ0=!-}+hc5?8`EOm_#duEuk*K2zvv0B8V{g-=RL?pzFblXL49nxbce+jZG)ERut z6hk`cU5KsDn?h=3>ILsM3dU`?*wiiE?r2Vy0|hv~e?9{gVsu1s!8g^>a9g zZzSfOACK>?Y?1_JDd$9RCT+Mk+UkgKd}_K0TZ)qs-hLHRp$W8C`|dg5xHYm{2c^l& zpL3jI7P2dueEk^h-^w;4bXLEw)qAbC*U6twif2?3RGBEv)^cn1Fod_iuPXjDeXPr@8w3O4uiU zm&<3huqs+JOI%#FqPnXU92|OF%CyQ&Y?MS*2D@M8wYPcOQ_#&jB{Gl z2{pKR{A*;kfnJFWmm&xUM*5DofQ1Iu%i)Q&vK4Fez5I zUauZ4`L5}lj_wZU;0pDIphGgCwXUF4hN6e*o>ZM?JGUAE4p&>bBYvH@3dkly_ZPi% zP!N_?)A9DM_iBROtallVF<(2w8!`zN;jlI~Usy^UrnD-maX6#{!z%Z|I7a%E=UWd< z;<5#@$%M0Y_Z2V3Sim;0%j%=~=3k(3o`<;JJU{Ri@*0mtFT0KlMn}2Tv3O^ubxuvL zS937$J(X^{(jkGaFq7I|^}F%dT$(N>aXce`D@`YR3o!GdI~?Ru2RM@gfk)kLDL_bTsO`3_b3p8g`XDQKJc1Q) zW|5Rvox8KhZPGv{tGvxVQfuB>??vwOY0>pg=J1CU=Y~sI?+;CdnZ}EZl*rDl=Qd-J zh=Rg~g%s0GMX=q3LeXKzrrK4BpWjAvVyjd2ZeX-1MUh4AQ0+=v^J*xMOE8INNTUY~ zxoJT_$6XYIiwhwF?}iLGb{;RY>|U)_a*tx4MnshV6h2c<#{o3ADbM*m8Nnl{Z$gr5Q&hK6pcM~drP$|?Q5^Riw`Mp7FRu_`j|eTg);NTT zp2K&oFFWwh2YgR=#4I*ghy*jt)vb&DWSV413&|2hgn2kT8p`K?YHc2`Xe|%6NE~$W zS4GrVmK{zV>u)KeuCIT@pE3gp&E~AGwqk2oTd{!FOx1DCIK#%qhFYPH#~9P;w9^2- zy3X5wL!WaR0~%#b->7g-w8vF;=G#0A72+!$48=fW)&b#ERhA&DFOT<@WW+>7jjWD; zQZC^iTb;*4nbRRoins~faOknN4!GL?)YoT^>8LL~5QrgD-MA>H4o|Lte6NGp@Ri$) z2v^aBkoni;eirUzx09oE#PZLP!7b+rsOT^7rST&-Okl$QusnI~8-G$Eq^gJ4Hof`O zYAipus3;xz+Q`U==80yLFDi>e2KaJ18hAit;AeK77{NQ^P8(#;5;V!wZtHeTd_0sh z{_9BC3|{U0Vt@0>!tg$x1ZtNKd9wyJ4}W+CoblCNMQq=relVqClj6k&s>)BQCkN;1 zYTS-&giYZl?UxW3c$Wk#@V-qxo4;HRTEZvs_udNMuW6T)PXmP5vm*%iF41-F;NcPB z-6Xb5GUCx~ydiM_kVHLoLE!=Tdj_%w zLR$O=&^)>G_<)T-zuwNle-gp}rDsV%9VFy)?`<6l`ut=LE7*@5EF0Lx;&*qvzhLd3 zIv_f=!C_Rv4_pFpXxt{C9&Ek=SRM2*4PaO^*AS^{K6T=M`>wmR4Xd$Iw_t~u>i*G^ zV_c>|3fq6)^M36PJzqX{!Ret|U9%|%VI#6Abl;v{vy$jW0F#{2`SFJ55c@ZGY#>*C z=8qxV|EhH8#~OAG+3m#c7g^)vEP@iQO1;to-=VFWt{N`GDMp^w0XUe;3_EmSLc^=3ZvyYC$!ExajzGDQ_qZ>=%Rb3(d zV^;E1z3Acyfpkjx|1}JlAY;YLScSE zVH0VwKBg8 zYW9(}3TjWHGVNsCe!BbP>C6~f9y!upct*7S`Q6YM=e}W*m_x*#O~|VCvGYf%M{&h% zbiRgOfbDcZ07aLSgz$`0^G|tVKcis$U z(S1hrQm`egbRUWW3bWl4)YOT*IXhOe*9|!S+lpDHnh2lLnFC2zg@vyFq0F%v_bR z>@nYWaVy;?xEkU#lPf$g8^@llV<(Dp{{3AZIF_K}l=m~4Pw2fJ8nI^VbXNu))0aR3 zL)?PCYZ_K8N!DoKuWnN$N+~&?&`CC|3&(yo&Zba}e==|1_bX0uRh6_e)y-5=u_u!z zs?%Z_&QL>S_J-qa$q1--r8;6ea#-H6>{4NpoOSb|qcr>Jq&nPOGsRTejZ29*Kf5McP6HS_B3f{~8FUPu zr@nLiJvzv^Uml&@`?VVL!(h#R$x!rrME!>I{LhOwvzp_o!pP*m6UOG6I|9n1ShAZC z(}y`I@MZspT-hvxd##!*5IPguK-F-OX^D~Bo|$4X>)bgGK@=rix7!W5od_~ev;%Rc z@__RNJ?T5U%NvT+sZXVM#YOKw;PfVW@=l7;smAKIguH{Vtftgv`YJ_s1&(7DiXGQSMq~rNLCQYfcDglY zJ90tvS&tI-My+&;k3Uv``|T|w?Al-K{Ov72|Hu=%+mJu!71UOyZERQ_#fD@h)Nll> zSB$0YlSUO3Af6%Z=A9Gh>}V_Ry_rS-;*W0_oI!?Do?K*1pmpN@o#QEs%;)hb75w_K zP8<&R)Y4!t;=vVz<|p*N!3eq`J_!zP&Hb?(lM@fP8CdW=S=f*<#3{h|dKzlr9@cD? zJR>_o0-noJpNIuY-)c?CychX zh%}~;LyOpw3N$LoG0u$9aYQZem(6BXV&Ng-madrStR&V3d||Bss^#pio6{f|#ho|4 zx|C_W;#{HK-GSt2+rd5CGEI07bG-q?Da$GDejOyhs;H=Daq0=6ljjdC;oBlekS6{e z&8X(42mLA4f6Y-<=-(El<_GmNv@O^R-bt&{uu(gl?$^eTC2n6h@M7+X>nA~Kr4Pk1 zo_!Pv4m8r3Svk4Ty)FOGQa8VFY|geqLt_ZsFJHdnVet~?8vgRyvVEClJuhQbZ$GD1 zuvQtk;w9B;6(=vm&R`*0r+H~osL3i@!QEB!3H;JT%b^4wpSGZPu3U70hM_kqN9qfVKa_5j=Ap60O6aen~~k>K<7gJN3uEJ&$EW@feT`vE{uZB zx@p#6ev@$hHyqK0tlgWg7;Z?uAi6{mYJSD^jhMrWOPhhx6i9D}ms8A)n197xw@Lwe zBQBPKhHpjFL&uVQDm`&2@}|a#V8X>*PHDNW^_fDwCs?0cYeP!Nq^Y3a?EVyw(Nv}X zr!<~BD_x-?!iw}W6>g-$BQyuz>Q*pTl5?rGlS?s4OoF)|vHFH#(dnhnyK8rAlng043;d4gfFahGEmr z7xMcLs_0e>pFmW?U$P+w{#MEUj^g4t-6cQ-yI)>W6F)k3^228AzK&Xjda>T}M&1!fIo!ZZ}`HQi+V^S@VCOvaM&s&z!{ zPR*~#NORi^l32j5`lqL$<5x6*&a>kCUv!>occmiCpsEXPiHF=X2y)nlE*()>>#Eb# zu^br}D4|V3h(vLPU{d=dd!2ZJFF0XmeM7F>iKM@I;xgmwRL>A4NK*lB-B#vA0-&XT zAH@)6;0l(W-M0GLAjN0KWL9!N*}j^Z8qen}u+vE1EoX^y*6^_6&h~44b+>$?fUmdw z4VrV?f084<^(5V`(;Y0wQgHhJO#83?J)4eJ!t`KB@(;(_mkI2aE1@()#r}G5`W$+t zrToUPk4^4%DxYc?@FVFWeuRF5N-A`=bLHOQ##`U&!#euBpd%<_4v6uXuYMTESWK*! zrc7jpE8!GF3T}$?!cNH3{gRLke9nAhPLaQ)>Yu;dM?*J~UBTO5@Re;1KPIijPdbY3 zKZu@|%;<5}Oam5gup1!W*50~NhkF6)@X{M{`@gm{~#`0&hi2F z(!$sJHno>OgKta!X0*o#+?GzT0e?%RcMm!3B(4N zS{=>E5^PoOsn;tpcN%s9c8HsUSvQQ``6K>x%MFz8@AU21vPG;{B|wMLQeS!~*`#dx zgV+gnOtrPVS#DL7(KA@3NW(21E+PULYn+A1FIah^v~6lBTI(29TkpTx}iJxmWN zl$LK6V=q1XO|S^Wa8FcVdfi3CjjV2?AwVcRmanOzuP=HW-_g+_OH=BLLdqL)$o@UE z#*_c;A29Xz4`SpHc{}Egi&kxqmC44g_k(IVWi>!Y3TyH1J72&b1swJ*AmZ7vUR0Xs zZ`(k1y@|gn_zetAg9<7epIZyP{L&&sX^boZDF)#D9W#)R`!)^JyXS`mfHTDZMx*fI z(1@haI$yWe&mqD6L_tHI75!Z%D;aea&1g~kOuY~XG> z+J!7HDGULy3s7G(YvDQiI zEDnU&#Gr86c~!J28jKtc+1ja^x!$;>6v_^=v#HZ1^4=ZCi~{YcST5yld10Ol+SQDD zZjA?H?C;;C6^hXaeLUnrp>8gcG-|~H(|UID;6eCAY;7?>R}K#r%$aIt6B;OaQrn}{ zUQE{T0-F^}$2+BbH&Jv}<|uUOc((3Py7aT9rTQpHJ(l)sZKbWtHeZc+CJ6 z*ZhO1fY7s~_(kBPgm1bqsS*P+5AtugdIX)5v@&|ff|Xr`TrL@t24BK55iM!dQHMO@ z5z)-fvBwrqSh9(#RFBCMpCR`#zGqesb}U^8zFLprq3x5Y$= zW34F?<8ug^3)0PEdn_k zxQ%Fa#m=c63W?Vs2f=t=IcoumvD=RAumD#(A-cuz{BYET&(<;Z$MR?GaS}y=R(Ufr zom?u59ovPQjhCoIoH3knhtXDj%JqTz>kI!w=NYrY$%BAxQZ-W1*^P#4H7()U9UJ4ylS z+Z-9P>8aHY5-LX9A3n+6teegCEbjo~cQ;*GXsanaV?z^c{KHW#SY?hs zXw4r(Z7)z(7iPe_SFFWy6XYA0{6w^<)(XF^w$nhWQ8!);hLXI|=le zMt0|>B!q3dKkFFUlkS47ZG|rnx)CMRZ`5{x(7W5FD!@DT)3PFf)=R9FWy;*V@H&Z0 z$tuz1GJ-eCZ1&n^*1!eM(!V=hYqC}#j4H#x_(up)*o4BYQl<2+Q_V{^w){0WU0HL| zwR=*}&Q=PwfEPT>;k-WCkqB75&z(fV%a=Olecd9w>yukxIqBY8P{^{|P*yZzuBY3{ z%k5ojHqdB9?Wtf;XR~OQzWtrjn;Lyr+V3iDrl!@C>indUlc~|!NI$)NyI&Ee4dFg- z-EDHq^aum>!ehrUM9KL|W-cS7SD2{ZG;?{k>bM!s!7~m;2D2z=JyS0uS2!!#)Dhlb zr`GCfztb6N>WcB{>gC!L%j7;WMF|OV{t3U*Emq>uydn#zkKL}|?nBE8MeW`C(aL!^ zHD;9Jpi#qNm@i%gn@`bto|8Czna*lRi$oJrv}uHzmDi3Nj3N5#I<4M9-slSAt%!|_ z6EV)sGnSkgoh6WdvsE?^R{h1**`k9K5y_vUBKD#+p)lbCZ%%rfI6TO!-I26*n+r7o(GWat16GV`ILh$0sQm zJAMLzXu-0kv>o}Dl`80@stiMT0CePwj=p}+jA5B}wX^iBaz9OM`{|2hV=dR(d{Z8V zP4;{J8~Yj+s%~})e$;QxUwypk!*t$q6%~d3u!yuDw-+e3;Y6zAM&U_Q9)BHwen{VT z8na6ZI*P(I1@D&g?7N`oR|R)J{zs`G$}b(|4yYk80hgPVlatX2%BXBij=0gI6`Fw? z)5N_{x5Z=#p53xo~qMgQs*xMhb|p=9=hnDX7)C zyAHZO`wj!8a~xh}X&_@c53R);o)1(Ic%}T+;y6V4lx&Mv=@M>z9dtZavtpH_8&+$AC+C}x^Wa%pzUtf^s6d7Oj;&P;uB=_UuM1HYS8y)l#aA>sd_e^!+o`%MD zSDjK)6l(iz_3md}^2?A7SS@nt_j#z?EIl8RS!}<)fAalQqd4WSUuW~l07tBTb%hG* zX?d=G5;p^4-0av(E6rsP?NgE>-9qlx?N#ru(HL61Rix1vh7P|p7?K6bJoIDBa``J( z@!26#ln-ON7~s|%U`<64ZV+um!=T#)vygn;A*F_(3y2EfrhV>)n1-zhDD-sebg+o2$*Ft~&0^R{-rC8Z0K7}(- zo>f=LMC}B4gXDbFrM}f`HqIBc=x9@stC5&RECiY*=ek#Iko^I37}2d%Q)LjOEcpqbd4^FxW@O=V@XjzeNVv4QfM5JM3} zM6D{PjdCujx&`d>yL{%Gbz!~oUFhnR3Fm8@N9|Ii?XXFk9uhjK-N+n1$PX+4eGXZ` zMqF>-atn{W;$okC>l@`mONzVunX}%&ty(zE01O{0`z~1XRU;rp-prUVg3F%Yu&Tt7 z!)ad4z#!X43Qq9l*$u{}Hd!J6C0W0*Nk3w2g$k|rHFpggr~#`Wi>-ayvITjBwMtyU z-ZT=doHoT+ghP>_WNnU=rsm`;>?B5F#@(eA+O=S(?+8|2k~0F-J_>#tT-AG7s@+lJ zhq|l#-X&9=3JTmVd6peAO5x9jfr|%j-@BWgF7J@}Gc1ycq+~n*UW#ceppKfpEFBwO0Yr~uxB+&@< z715iZ0)7WaSYe(8cK%`5NoxBz+~*k?^N!GIGv8M$f8`5M29)0T;44z(@*($;GBz$l z>uAJE2MLG%a@xfw$FsdR2+*uX=cYrDau(i$P)-HxbfM^R<@!tQFM!a`-21o|KM@5`1+d+>2vDivB1SaIPvz34M(#8E(9dtP29NfE?}A4i1^9t{Ic@*W{x5!? zjv!8}P0uL*$~Qj>+HI1JeuzEB%Ox{9z1!frxRuZ9>Ds;&XH7-x^e|mHonlx)dCEvF zX1@<|8z(=|bmr&qp{u9Q!xR;xG)%<=M=T?UHNwC@`Uq7EL(JrC`h6wOA?x2+$g0^@ zwsaBPKWRlc9~L0I$TwwnzE3Dt;IWvXU1(S92(qz}fOlwDd4D%8_A9NsKHHN`TYG;S zk9}0{JR*XW#A-!rv0$Zd>{xv)1yD5nM{@ufd(xFo)H4o<#QsVk&U-)|^jSP-`<;%* zE@0bp0@x}vud%`cUb|0CNk$={pQ?Is@Mh&+jcsoMDGVn(E%CQJf~^X7Hso?J#2X=C zRaPT5&;yF7aGJCeCq8rjQMld#23ukfl9)X+Uh3)$j;}oi+i}4kv~cN|*`#fjUqv!YI2z$L^UOb5mQ+ z7e7ifCvMl>zTIj54$3>N4uQObNwz-j*tPMS8CZjh4?l|R-F8e;=_m$p?CTpb^|ogA zIm-HHR6swZ9LQHX+MnN*P+zVHHkH}BaP#j^?4D4ZS=#Cb z(nX?t?Mjgeid9#09UGS+Edw08I2%k#O4vU2*A1iEw&(q#rvhs&@ydQxZr9CZRD?Hm zU0MZg+l&6wof!o`@&r-TT(eH6eYouIE<)5H4CZmVvhiL@#Cxyd6jLcpYbK`gJ)i)= zCEe6Yi;fP#i{Y!D5Tky+E9YdBTBPfDf#~0Sjk+~vJ#J>9T6&EtIE_*?*GKuz?y4bn z&eFzHDAgLt_;~nMwb>k(3|6|xtGrh`27oF#WSM&)3Hu;FUee6zVDCz}0(fF&Td$L^ z;RWgf6L-VSHDObzrk)m{ng(3h3c2aZFAC$#{&F^2oWt}&20!}kbk+FszjGvB*(rZ> zB=t|nZyEI!Ch$a&tl!H?SZE8$=PoXjl67&Blwy{+Py4TAG&OEEQbTfk9j@?%UKN>a?Y^wCQ z&wLl$&^3NN0fsm0{Xbq2D-T(wxU#ALSm7hBDaKpm-f*Z4K0}MYTE284YXf+8Dye83lRg7Ea0qOM@{q)A&!;Jz- zXQ4NX>noFIgKRjor0eeDphVZZQlp%5Xa*Q~0hA4gD>6$QTnEekZZm^i<$b@SBPvaU zuPw$gE zw7FrYe`k0!^@z&qP+97sdX{crCY7R9>&67NCLjN|w`VAR)s(f@OtUild83Z`zgQEU zPZU8*I&_aCI@%x9eavJGGmQK^>fNN%jBTH*PDiSrZ{r z)JvDdFRhZP!!tn`VPJn7tiGc+ZRx9z1_tIU5~Yhcr&TcFg>_wly@E_FE1 zpM9!9uQuJl6vUsXDCxCGEG0^1v|mv*nW-9y&rH_q7# z!GjfE=X8>gDppzao$0wnN7Cm?*C;YyD#%-l6WxMs3hwylADcIGa}60MNmJ#wOnQ#r z(X!)*DbyHnJq{jNt<+u@14;p%--jgC_yvpd+sQ4Dlgk=(h2^^W+-6n|Ji{LpbOSkF z`jj*wF_huJ%`BVJ7$K^Q3$I1UsC_FUT_)jQ2b??q2YC0<8pYxI73V=t9C#o}HN2xnjbD4!8 z?fqw|xulxAB>e%)HfqCoJF;@0+$zg2gd>f4SYf^fL2ejYm*Ry*W-^Iwll3jHo=L{_ z>rsoh>_r+_4Kj9m3ATRg(Ii(AORwAS14hSC5nuZH`W8#-U5UkqVu>l?uBXNzlBWB2 zv?tQ~)5;C4v4Vtj=!T_=(5+lBZ!?xM(<%Ll#agGSf8z~4ND0yb*=vTWIyo+Jb55V7#%YGZE#AU~qutd+4H?ty1$^!_tG4R8;HV=_ysf`^wqxV< zMMmKRZo#I{cK`pFBC*QD20Gi*u-|oe)cTSbd9+x%RqHgW<#3K6@L|wT|JBxxWYp_F z{pp6Z{FE~HLq?3F?kT=LJ=R2}C76*rgOf(9Oa`WUKg{=;CUgkU)q&Pp*`FGg4PrH_ zl9ky*JKM^uq+`o+ki4ps)1kLp9|(On&g@pg0uZ4ospBt`#9wBMAZen(4rh1GPAfF- z@=rPl^nBHS8Wyc|1rm$k z+|Q+o=bl|!OZP!`rZf9PfIhqTP*~ip74_veK2gwm*sFN`vp3CM-)@?}I|2_J6@gy6 zzgwdQ+^%e1qBDQIy<89_LX3V^bQra+DFTt3{ zO2zy-w#pwm=#`pOx;t707s?lG{uLT|q-mgYZZl09wtMxcZ*)4G^g8u5#mFyfOD_5TtcppNwgu6IpR;pGY-CoC9BxA;wR>SalM14} z7x*OUYk)r}w9T+8?OaKbK&8aq%uUA-u=NV+_k=QAg=?}U2EBOd#V5OMJmE^eJBEtFV%uq-zVMu52T z>yuManuFxe`zwdK8h^Hf>ONgy-U1PeMn4xut7b$sh84E) zpnlxDkbFA#OIvXA;@zA9E3?vl$r87ZRCMq7J9Zv;Zg;eo*RHh-G07=*OV+i@!6?l4 zr)q|!LXJ&7r|MbNC7Z0_91P~^VN3ilf06uDyJ z%DXpz?!!Zm-`A=uD?2;l%L9gUCgYc&Viuc$x_i+J*5x40(y#zB0$ z`pC?l4Tir7(u|F-iKKnw6r#~VVeK)N0S$$~jHTLnRz)6iIsL7JJ!^Q~z4OqB_#RLz zJ4r(K^)XdM(vk4oJ5?x57JKPZo~Lr+nR>;8JFt;RODycB@mcz%hucdy$-T-S9SX$% z>X`?{zUi5#OwK-oS5kgQypHUa6u~j)+&{~%CKN01=X~q`#ob$nMb)qG;+QBYAsq?= z(w##nodeR{-7qjTsFbvH4j}^4($XzCq;yLT-5tM$`o4Rgv-jEO`#sk=|NPcpFxSkQ zHJ^AsPu=$&c;$UFKR^Ei{jfdpI5#(!_R2WVMtkZNuA9B_F9F}Yg;6e5^7uvohQ;?h zt-t@!^iS)6ecZn-rL`xb-Fkkv7n9V#SDr3wQlZJ~JQaNhP_QXH^AFk+eoBk~N3MAQ zUJqtvV`Cf6esByxge{fMDu`~C@%~iL?)=l+-e_rohN;p1rcw+3XT9{p02`p4=XYPg zzlR|I`!e6d|6jgYBj%Ne$`+qNtBP}u9zjn;@t54xYxvovs9c!Eq#TYLT)9=YamqTd z4yh|FB6{8JbLFMHXQfEE{71{-sLn2IY1_CEHb)A*+8WdDoqd{59Q?22ihw5I;=DA+ zcfaxd_RvKm|MjOT!?tv{8rTU40EhU01KuyTF~}mw<|<0Wkjh#w%AV@hJkHlD_M(lW zr-;28sY@j>udD4;@%9<}luhUcFcnKrc{TWegTY6YI=k`Zc~5q6a2k~gn#&PqekU7C zMsD{<_v=!h)D7+54QdzcB8m0mzxvba3-CL!JG=HJi==PLY5zla+CTUJ7-j*r>xG4A z8VUOISh9KSH|+%^Y3g|I9x4u$4_*@dGXHO>vfSH67xqzqTlov!08MFdjFmSg+f3mr7kZ)JUMNpQesM!m%uWb% z1J4m8_IK?W=+X`i4gE1TCSRMonbfP{_KaHTY$WvVjE#RT%R3a5rt-Bi8_hR5oUgl; z#VB#J^Y%p^9(a62*aGs9_kSzY$EE+NV*~g4F*@2;Zt<&@jg;`T=YT{6iOCEtumfO| zE`5L7PTlmNZR#G#rIN?(uKk3etAzP#UwRnO$7Ao-Wc(57Yk`BR{ImIzL=ExSUu4?zB~86J_cYU-Ub`M-#5t*>u2Rgz100+$zlY3pjC&*Iyn-n`au3Af#o0{DDx-P z4b5(;z@FH5K;nS*Wv=K7Tf{mGLkEOG2`b_0epMg~j&aS`(Pz)0KzA(NppmK>0eDK9 z+Cd=AtIBBd?YZQe=7gytDb@|>cn>Ng@}F3tmj^OT#8_7*@x~c(^5SeDY2KB^&N zj`$&=-!yqZY-n3yA1d9?j2A>L&q?o~$~}{9=8xN7&rJ2S3ZNy@nhqIwI~P;W11POO zn;IK5@igGb+qhLBOHjQbOjX?wu%r_?9C$7>jH5I-YaU?wmoQm|7f5e^@J4E{FI*A| zrjcAkdqEr)-1o8PxqTuUUEVC za)cgAbCDs!C{t16Db7Pz)bjz=nsuEn@ZuI(mDu{mn#_iLhOiL3YX*F=B5TkAZ3PK1 zNnf7Hbsa*TXtFs@i1Ze%0lj-TK(I&~>8-a!N){NmDFdp$y3k-ql7h_`o4P-38IXyxce7DpYp9%`^bir ziF;^p(JVekQdsb(&x7mk&j?VykS=`I4bTVy;X0Njn!E5YLZHQSRF|XkbdFQ}Ck@%&mKBoF-62D|_f^;=8#3oDxJ?$R>@eoR0M`Z6%cl@vFZ+67n zM~OIQhXOo8L}pLSJsId%5>h(yC5U$AoOKD#AHTw02v4B=u@3$0-bxyrPqkLr!G4GV zR}DU#PYByUY=3@zzmLok^ISW(0PEhUIVUBVl+;9uthp28n%y2fX*;r?AT#6Zb6T9O zU^C^i){PT&K%y&EG0ifc8MnNvMA9q)PbQH2iRD5KDC}EwNmnknAJoiT-Z0pNHKuY|!AdW&m4&!3)H#KhO;g+4>NePT!4|2-Y=NzLp?$e97t5bm*51+ zfwULy>#`-7jY%?8N{J~2bdFpwTu$AH`jkmEIMv0P|Bz1hZyWtTGgEb!PjF%(dcJZ2xF9HmkI^!zvfR`}tS{^5<2NuR zXU~Mmg!>F-bi_uUdF=bu8y~4FB5wQT4YhB`4Uyk7no-qh(49=T4onV z;4vqPQ=Vh9nI+e`q>PxDm3c*~^U?IUpS)KOF9U^zrOcP_InrUv4f(E@_%3M&I`>~b zW9Nujm^UwHG$c`u2s;EHkEI*DE{1ijk%l<7-}j)*dVy%QumA)0F6TN!K-EoN*ABZ#~go4G=?8K+p{`R33L8BtICIrp7j6agY6 zeYfF5<}};ns5Ly5+1E_u@moRtA2_FUbgPExWHFqcnC0ONynVo1Aw}-6Jt*-?U0TIL zjLt^MQ6uP^H5Y^~Qt7BtpFQ$t)SE&Bp1)&%40^|N7v|9dOnpfild9w16r6yv^-Px1 zVbbX32dJ3?;?&Mb_fURi6vCOxZE3Bf3YfT3_6=CIxi48O8he&kCW)s7 zNGDh0KDAiARG5T|r;)|mI3_%al$MXk{_v@7d{b30`qLf05cv1pYEcJ$47r|`gO!1@ zVm~ms6nsr0UH*gMXUUiza&wjg-`=Fc@>j%wRxhv3xu~NkcqzsLV0~qPOIxr+lCh=l zlp@AfFEMkWd7J%b&j&7o%X#|LO~il6g6sD_V6btdj@)~wgMsSxs_*6Y2ihk7=Kx!B zPi%Hx-fT(#HrBXu@inQs-HBqXjOS^SiRaHU16Q*z0xuAzIY&4lhXN)W`w>$;Y$H3;kHu5}zyq>XxR?0w=O0-!&Y8P%}Osr0B z0wYaXQgu))D^YbnEnbKs*!*a$J9%PsRX#1|7Cr$GP{nfeE4EGe+Au;HNAMBSW}@vt zj~OrLyc}G-mU88IzKq#F)Bzo#&J)Eiu=YwxalvBrOh448ycBh66O)a-mu|xnHr{+5OG~gKL9*O@RH^4NbzbB^S+d znUzzLZ1gX*Mv6}2Aac+^oYo{u3L|($f7FBLGmQt2cJF?R7AYPhF?xse)heM^A1Ww} z@88F&bX>49u0L+>DvYB>KE7)tR^5>f??u)GY z40!A!-I||FMv*n5sp{#0vS=zhQEo!&44wUBM8SPdu{cigC%x7~YkF@s7oN$5^A&sE ze@0F9K9>>vY4<+DeVTa}0&suUMo z+QRB3Tq60eT8CMnKQIr@C<8c24;X}}@=q9%hW_oxrz9(edJiMLReq;UL=JvpudpOJ zAE$JdXGr~oy?fiC3gAN0WWj&qPtLy%(hMwQ?68SX{1b&^-Ta~3maJ+TTg$jSxl0f6 z%<$1+9aGPAnle$d!lSU3fgboU&8($h{~4=$%DWFi#&k+iV5%r=N}d7;0(uw1=|P(m znfD>88wI0&e86LQpQrb`ZF?bFhl7$gOggRkl`-sH`gI-R@%ddc4+p=hl%O2rzJ;T8 zWD|>Ar@q{`@bhOIX`Y`H(Jo5YG4A!cc&3Gw!|CV# zg^bChdG<1iV49%7=ZTeLk6!80a#jCqI+U;xlyiQ(b0hvlueUu>)F#-3a_MQ$vNDva zofryHX44}C)flc0gvlKsOk}O;+zB{`fWwVqs2)N;?g&=X3DPD=idjRL`ZmX{>QcC0 zF=1hx=-^pJ+)ftzRn(#V9lf=Qcy%wXYIVI7S8FEvc-R$cWKvK7W$4`0bzRzE&R~dy z5>r)=0T{7C`=we`yBv8k%>{pW0Dmf3`-#Hv7|!RDrm@lh)As~BLF$@! zGjzh=QiLQHeCf^L6R-jwZjbBeM2&5sZ66|(5UWEuQN#a?ydj7_HVc_)L1fR8L7H}K zW&p8@+<_PF)H#zmH26K^zKs2R%3h-a0`ZmATmr-Sq!+QJ-67ROZ=7eNHp8~)THt#s5I0;uQ~xf#(IjWj<>U3j8aj>R>7_q!?!RN#`yVMX z6~Uh>HvCpbd<}0(2JhZ^Tc*Nl)$m-K*HJwtpvR-!@>@mNNXK$udrH=Os#@Xkml(yEyjRv=ViaT|G(dJPyIJ$9Hg)c)BVu@%{rj}T`E+nn zw&e%5CKKN>fDPH(tjU5?wPYYz>E%zLe)#sF`4({e*5b=V!>nK*uuOQX{j!o|#9HeQ z$Wyw1F`})?4&($4lEPR+AH2=O0BxzpGP=j3e%(zoulnGmVPg2GC?Bb3#b>15LryH5>&%cx%G=M_vY9dk7 zvW(K<(HRnxRr^zYV6-UG^+xjZ@K&|10WQx6UaCR+G)^fAFF&^MP`|&Q@cNw~<*ib~ zIgZB5n=YWipTGadZ8j5W-m`Rqfp!kS&O5A|ovYLUOl}WCIaVl;U0L`=Yshs=D5;uf`lK6quK50~aumGO5oHY^ z`v2sG2+`V8Xz#?q6b&BhkpR&3|LFhkKl_$(XDBY6YG#JCar`xks=a%GW(|$AX-nwD zLJ51Kq+xFRTl1?6pbgmkdK%CScMPf?C!aYFF54mtiCUk1qpd$GslG*fW$HPx>qf%G zo-dvF;z}v5+ki_g0S8zp>4xfM&vu6oRmYU2aG6CRkE|RX2n&Mf%}m4=JC_$r1sq6Q zwMb1FX}as+wn0ILCJnn^4Ed*}===bJ`^t~7&x>9&3!$RDs<5UHV_idYu>LKGj1|WJ0wC8D=T}7d0QK8wZ-4aclDqU0_MnPx}6&2OL zpV83iX}Uvz(`Wgk`!>*n7|DAgjr13FOvz0+w9$R3=cRrBJ_8Yzy;q#8W53Mq9?0^S z9zaBT2}x#fuDKltq~QS_Z}ONKO>SymmjQt^U7Q?jlI~j_z+Py%@F=V)%P`Wsbeykk z0>G)uQWqu`mKQabXoBS#bx;Ne=cD>11Z01Z&x~bD-LzFxI}P~;f$DuQm4Dfp$m=Q<=7DmS&x?cR zm&(hLT=Ey5wwdW`GuGyBg1~VNgeU~7)>;0gb`olamR}MoT`Diifdp51J>>hoETp;& z-X5)8P$p6CX5sOY(QIOtCOGg@EujW0J4ZC3fAtS)B>i44J*$vmOH(Q(Qv87wj89Y@P}P%a1-n2+LnAUZc1{bbR63@B#yRBVFehgk$Kg>7 zjppSN3&b{}mi>^rf6_|&eHL3>C(%8oHM6fh8yQ)hy;x%1snruJY1jWXQ-ZIrh*G zq=;RpGx+K)kRD0RQDdj!u}(<=8!sVBchJgD{k3lu6oM+;eBZtL@Df&^#XNnuX{{~q zLUR?>Jt4C7I*mS-Q`o6s9{tQl@w1r(Urvc>KD;??owRx4it$b@$qr%@FK7hk(STlT z_(4Bs^Mr+Juc4luggV9ho*lc#kwrzW7+cCcNQ|`qV?)0)Wb}ed!Xg)oDol0mZnMIx ztw%IR{l)qE9bDQ`4ck%zgHU4|u8a z%i_#9r!Iyi*fWmb&fq(KwAQmLUOFkwi~RJ))W)&SMZ!##9aQ%k8DjAiq-tNYB#8Yep8mRD zsB#tJX4O=RTOsx&rMp**g?E$&=6961K%+pn7gTo!DztIvM$>*tQp?Jk zY0`sGioirho3FeNqQb<^*`kD}T(NVA+MEDVj~8W841+U6d!Ju+p%lJ=XFZMm-e>3~ z4ob_Gj_S6*Jc}#US5GzL;N_l)7ZZqA72nJ(G>#HZp7<0Q(=tWclI#8IhTG$Wd`dED z_2lY#?oh-!B6nNkc-CPj4q~-(?AkD}H;7^0bh&tni6iIab-V zrkYei?c{F3pK3;CVl>4BEF;%XP^ZdpLzWI0_YF!?<*!P6s<#)49c418#@>Y4hHcOO zNGkYVYAs_s+GA1`0d;2i)RpjNs>}9izT@|0>XJI`=knd~)Z&-yxbkA8)oyfZc}b?L zZmR0GeLsKfw>B4T74$fOM+)$&Dp9h@BI&PTkHa;(S3_cxOp-?w8_X>i%uhfRO993w zixo3qr*F^CC-63L_!5k|n}l789~=0!IG*NIXR4goRWDCF>Q1EjgJMt!V>j2u8?*~m z>6gL9=;BIm>gg`5Ums6s@}|*`7L7ljgPK@5*B=xq%Q#9MZiaY<$MYj_gtm;Fc}EIk zFRZNSY0&$R?CD4=P^bJ?@ijDg7EP?eO1nQVW0Tyt(rl^L!_p!A2(n@=_=jOQ7e-ng=AT(7I!gQ zyCIS7qM~;E{)D19$SA%L!WvCeLDizmd1YHUkvaifSJn-68XH~}IJwLAwsZSFJNpTl zY+{9`*vd;#`!>dUv!rBIeykC*21GIAV+QI$d2=!Ym9?KCDmj_Z;rG1i`1>a8BP{l* zww2qTHG?vBUzB}YT3T9QeFEzm9h^W)S?^m>eaT*Z`pjlDFILf;MvZ@+n+D24sFpy1 z#f3&=n2`19k^hp7$nnoU4D1_2bB7#u+k%zRQNEK-LHg)m&Gxz$ni$9r<`3Z0 zHu($nh*S#|6n`Auids6#|rdLLQouUr7^{s8`aV5&aaLjojOuR;+=2JyEhh=z}r(znZ1-zAmLqRCmo>6-37sMT#$ zXv=@dXG;a%`hnlPJD53)ifSQe%crYFA1g=cb@_rRTw_wVzN|2i5B5?3NcpJk6q9dX zc_|`83M}E^2OV;xFPpLRiW^0wgj!B>Y1+ca;Rc40&Ni9BKMj z)Y7DSH$Cd03TS|+qX{4(wvPzN;N|RDAr4hr1j4^2`vKwYYqa*wb?LEn@eI?pD6D$+q!K?e6vFsM zgqW=WgI2RE-T6M#R~Woi{L~^AcEz$Jxm|E!(D_Es!pz9oEpzGHYTf|G4jbtipS&I$ z!DEZ<$fJI{q0KkJ(_93h--WI7iJ;pUcawD3LAC6Dl&^EjV`qBf!J8`3!j%3Zrs8Er zN<2&GSSxQ!&5Az>(wHCMO6BRxoU|b*Wg24F(oGDf*V1lqq4jfD<0UZm7im zxTLJ6PIpL&eYj*BTNhKjHNZo=9h#xN;d5Gu+`6yiwU=HyR<{I7>=G_lvOg zKFI2`_8TOMRs;tjm(R16VstV?k&ySRvFBWnbv?MY;Imo z7)zdi-BbvPlDI5j-Z40q*VuSzm3VZ7_{pZX0@!W)he1A~hFDi$aA1?o1)7EI1z4OX zAM8({KkWHH93KQP%9Q9=q*Y(?Qh`#adt^T^W^k{WwNzSWf0Qz&AVLYCC|TPxC?qk{ zq)3tMc_5*19VZ@vPVM3IGsn9iu-x9#+rit`;W>`ig3c&qG~z?-oHwv%TCEhU@!es3 zgL#{{d77T?qdN2EHMR4dpD~!L6e5k383kjd#C*kBlKN!DQih;=u@|^&3&y6Vd=3OU zPLP7h1zncnZGDO6K&^MRP8$tjvD2o_;j;Z;8a}b_L#3Uad)1iKY>=|V-p%RZZ%rn^ znM?2PXsUYcxwegO?rzHFeJEnsmSctueqO6ngvZS-&dbk;g&&)jGGkf=K_MCbLm?+@k=r|Nu7d)mB{gm**T*VC4%fuIi)>~e z0yn!y_iXH-h3b`xtkrB9bR+x38w+REi5{5QjQN^OU4?>XnkQ`72Rr@kwHxVyJ0^@S zH@1~SHy(%t|05F*OH)%zTZe;*E^N-XAR&+xH2j3JTMf-Iu~`h)WRd zT@#sVQ`+#A+W6Ry$wQ;u6}>+$1y0^#R|nTO9AEB@?iUprT0^gWV`?W8w0QZ0YQFX) z=UW-tLQQFThk5l(z3Kb=zP1WuyiOVKyi@ zLOdR9V`c;Ilr_T>vOjq5Xq&0I;hiWCoPt;Cn0mvNOQkdv5^J)$%k8QtU0V#np4(OYS4-}BxgK`;%K_RNGZC$xvfqO)?dyY$z8_`=|5Htg+v zgPEAvPSJ;IhEkG0WtD%vscpL8E4!-vrk(3c6psH zi%FzabE52uuU&slqZDXriUKCt{yyuH{$$1eWc#r^v)7ubrz&l2jYiF(SQW9(7w_`vI&~4P#BbMO4cOL(KETzACA z$d!;cuCBn7C#;WWT;@yw&kacQp&P0=0+64h_C@W@NieWcjMh-+FCX2eDFZ$jX{@L; z@VwAbA7`_0;!&K=n8x+fu8JTXNuX<|(&xqe0o3w) z-+|{oF+zZCZ6|~wZ6#WslI0dY{ZOH{ta95~pmC119m3=EyBYSS2vD88y<(o5|Nf)< z$)7GYlV3j<$oR6||II)7Dp3ZN=uOf_ma31BvA|E@@T-UI~!nMltQ&C%bU_kJ6b8$z=jq7Bek#CO< zw$=9oXI7NAmv=drruyxQ=k;52PUMWJJC?WjwB`58+TK*Y!zuk&8Wu<1O4GGhX(U>4 z92>}ttOG>Hlm|^d*?|o|y^h@-=0YsN-hwoT6Jt7EyWBL>4YPRn6uRs=Rw40RvmkO( zS#5VJCl=>5eM9x+OkX$aaEujn(#;fjh4IVhOwG%ig9FfG7iL1emh3b+&k{wU!7WAb>-2Idc{Z?KRazP|`Nbh{DX7rXt?z~E}a zPu^8DqDh+*p}S45>>DF(cIG4-e(Bcoos%f>2mY!A{PQILSHAA=wUPod-wl(kI~c~9 z5tD}OcTWNbA#97ZIV@mUt{rTfY*0P;09XZYJQqFCr_tn>VklY)Yj}Y2_SeY{V<0& zZP(@d^LV{3Bu*NS;7eyLI(iG#GxrYf!pTB$CD&H`vqyTy5kF2=1xuQ6yXgp{R;IIN zAMfCk79jum@_}Z4E(zp=0F3Of)k>qzPeW-_UHSxwCed@4kkGh)k7vvRP^rDWUj4U* z@bB$*{+MX}s0N8;>6GGjp1(cX9Q<{=|I*g{Kl{pm+2Q}K+Z^I>gocOzTE9s4BO@Em z3s@fiOWW}u?mX->kbX5?JnM18?0t1cuQMs{cdfe9vEx$%y3Vqy&+)oOTu!-L+N)cG z!RsNM{KQuQFc?O_&a{i&mB}c=Ru$t{1uTc^uUFO1;|;4WJv;{WPy}7{t~?sOF1C*& zNCq*F|HUlgK0rT`07S&-iQrcO1dq!n1;`ePcP1CpBC6a4YMu2j$h@{UIN@W0<5q&D z;_mgIi!FA}8eNxg?#-kKJ$XX8HTrsEh@LQf#gmd!Q|t2c#FJZ7ChMB-hp|!^ML(eZ ziuee%!(lRB_tvHmqj%1Ah-W$@0OR)Oc^h%p=?qjve}4e@!MmzmBiC6^^nM6BUY<7; zh3Q^QFwfzx=1`lDU)A3nar+#k@#FqlO8PHn&SM*^_lX-l~na_{esuBm}9LUKz`gUVf^MUSV;A+}fKDp34OZff{ zx;R>BwGBVdyt=wpeAt}v3%-x^>iK`cod0cK|27UxRDhwqIqbh_k(cAI&2$(bAw)g& zw*P(h*7yJ8>}^#T2Cy8PYD>!aQwzrVOm|GCc=-#mH+d=&REn6;OWW8jcHG>FNFU9VtUF_3m__`GspC%tX zxZ7a5bFvTL($A?+7n--@PWIxD#DI3)p4s*DA2}qDmBvW&DaewIRNAJLf1BMa?p5-7 ztn{ys?1Msk>@z|{$neOL zS3Ag~8-;^!eEOvdYZl2z+=aHv<2~VUPA!Ug@(hxu(OH`mKAIOCe&%&&(6*Alk}AOG`-OEMO?=({m8G6H z@U;=KXg-jJS50G^SGo<=q?_gVhsc*(rezT{L(NRpfO)FICy4?M@bx5MW{n`g_a{pu zAB>aSdPJNX7mN;%nam;rD$5!-9{n15`*!>A|GmTWA13z-8C_HVaK0=M^WOGW4LdXr zfB)j@x3`Oy8p*o4*BV&qQRdAeSoC-y<#PV&>I#SfPP|D6nR7JAJyu5x-<%w8cOawx zFO_`%!^9K z2ms~_Kj0K5yWRb_$6CqlGWh$2rLZmiBl64U*)i`~S16$ASKr8XqxDoGW#)9uXREmX z8nMwKT|yKvcwuD2e{Hz*{b;rrvg>NM`Ta3uw~f!WhsUB1IlFqro1KO13E+7nagOmk zp)|Vprt2d|)y@Y88z9)2UJ<-71LPrY7EVsuH=q_C9QsLftao?Ao z&Mz+%SkYv+-o4fB3)QG=`bSswk$aB;slGL}o8ju4{Txy9lzQ@;vYSQnn^}CA(4<_N zd6ifFXcw_f+6s8%h$t+sf5+;=18jAX{LVdn1j6ZKpJZjVn0e&Y;c^y>rU2QOdt833 z1@9>~=1D>|r_4P1p1QM7Pxxb{=%(vt^K|8EY<(XC25>+59QEJ$=O7UP`-cE+GWuqh zIjG_N!@===v2A^PZqAQ31Za-PIe4xIU3?Ju4T9^lvlS3QW_g=y;H=v#7DD^T2K*}hmq)e2 zpz~w3+4?gNT~*kfbaKkVlKEPp;e8MHD7!;?y&HeMZ!5C}7v5EFz@0rkFF#9>{AtYj zhk5;fzHk1+F8=K|B@}xM3uSw_XFT@$A>?i&d~5MUavPscMh@=1)w{+4=tJ+~WHv;W zypb0s97vZXJpyg>^gs$~SX%l}kc* zknjtt)$F)2)>8x4(LIVs>L&!p4-S8<+OPd)8dX>!0UUH)3vm{6^Irzh-UN$d{%G)h zP_@U2sZq`C(;#WTX?0lh!;@y7?GX*PL#aZ^cNq&F%}*ne?d!{d!DEkx^2t4IO9%Y@ zT^&rQ%pNKopmy!A??XorvO}%8i4(c5;{zo5isRFrEBTd80~@uz&Y+5ycGEf&xx6!= z*60wK;r=71oRs?7sA$ZA%tWAyvvz7V-d+L9e?Y_KVfUQSvpQ&fW#&TS3iI}PbfXt| zC47zW$99VFWEUc{k$r2jhld9hwnOvERXaD!HoUAAUpclq{hr?x zv`#H=!t9Jq@L221V+smMdnTkesv1kSX9rA{Sjd?enC(<0OMZ<~RE7}YXEK;Z5^6lE z=}RIuClQz4q2qJ$S<))Pz3P)y9N5eu|pl`QQLtvUe^ygxC?Xx1SA5kf!-$ z(8^RatHW3`6}U>76?;K!QadGTY9XkqS)az3#^w&`2sknQwEY&c(5igWcZMlEQQO1I zP9WbA+I_sPnoIpY@?(ZYvnXGsPPa#&T+RESvv%4-OMk;Rt#n(s1(Fn4qgH1}Bi4gX zepo%d@a)V0P`_zb!qjwcET%-3rUHfm&6co~D8*|XZjPy$dcy;j{ehO;>S|g37iKLb zmdh=w&@%h-!kHN=N_KX_`2O`vi)7AWhGc)?5$JSKS8lE{Ki*@Me9h_E&K0`R!Qm*S z;q9sXsS(2x==V%&aA6xP#MRxMjSw}^X+oE_DiI#rn+dxs9E3nP@zbGh^<99^Sau?f zE^>3FG>j#|xp6LB+>Tj&xGtLw1jPkVAxD>Qg81DtdV5Ul2d4y=~KLe`EN=SQq zUl{gB{qhe8plS^W2Z@FPPQ>!Hg$Bj`ys7vUe!7 zp}J1hi6XJRdj9xo!+Q~58 z=_^jQjPB9zR~1PgKC>mB@s^ZE<=37Bmf^9@`x;}UuOL2n-D2E}CQrr^_=*z^! z*w~2^H5XlhmYsax`kz!LeNQ-0v!pecCm?JVarC+OG5_XMUSpffH_NK%ZRIl54CkIQZd(kt08B zrdLh2$7?nbvz(^{+am zOi$3zTNu=t`DqE#WP@AWyKu1_GRpNiczF|p#ad?2n)6_X**qOqF}c!~bgg<$`!2tclc%$D7K9WYNOUb>b8^;(n@go_$HUxc|JkEC+C!;YtI3c^o5(?+f)#-Up|ZJS>3f{@pdYe4%q=f^8EABdDVQK-*Of8oGup~26cHb@sV?v5nQrHh@B^Ou7avly$C&|m5_Fn$ClA8K&JU7n@oecw9 zRwhj|JSLF|@9Vk01N?^w!MTTH{BSVy* z1Pxwyvz2J(LM_bu+Y+fYtMEv)KCsX87iNr=70m=I7cYkt3wqDe70ong>7+!gsHwX2 zD!3a6s;b9T@yVB4Ehj}w%2~E=mXd^SM5_O=U-H6-m>@9{gx`k^i9^dEn!<3N#e+iy zhR-AW+d-5wExN8rSaLK+KPNplm|?+9T=dyE5#2QL^!<(U;WkN?co=~k2JVC+X_`Ss zqtiNA6alJkthv0_%w%B%pbC5=E&I)XqCo*#5Gf%Sb>9Gxl8Er0A2C;Qtj zYVruM6Uz8i|7}p zmoyzkH6;C$+X#H&03$8=syI-EVUcmojaucQzBOAkN|Jxdem#4*CcBl23~Eo|%62nq zff2`$j>M3XlkG$sD6?6WSV@sDX0*T|YI4yfe5bV@y(_l-Tjv1#_o zTpFHgq2hGRO>a(o74CKh##|Tf*meXah0$U9+YIvi)|4YOWCKacQNIhH+9XeV(V zw%?6ZtP5;=d*PnDTN8Z-XT(-B^wPTbYs;(SM%a{O$W1v;%0E`ah3R0@ekfBp+sQjW zprd19i3p$%rm%K3cYL-xs7syBGA1NWmN~fE(9*V&{obeO2Qigp#2}b_6O&z0QBd_n zV%C!EDnsm9p{I-dyZzB~Q*)-W-Phffmdl0}mSTDW_i|K!l4Y0FSj&L{)hoe-5zJ(I zC$run>mr6^C8e(3pT-J;WA*0&2jwvp1%m9HwM%3Y6vL5WBROgBG^S^z`sA4f63T7z z={l|}6ckbhACqprfE}Xi=iG<+YP*y8y*QAbRQ8sdhUsWWGxABz&fN|NWwR9}R_;wLH0`GfLfs#mnan;P-fmx|%6yjZT91%D%e$gxUW}Q3c?=7Qs~I z^|1d^b2{LVg`g~@hjNt?GZ+uMvEJ190&LVKeh zhH;VXOT^dVkyX@pXYmxn?!mwP`cTC2$pu*{f1t+w`pLyB%^jp~Yuq$Ae zyBCF^fgv_Fp5+ZYr%a8&Q-d35-;H|by8#IT3CJBACL&zW7~0u_{awDs%#&2+^cU0qF~{}GT$EYkRL9uTr78&!}hij=JBABO&;*{0Qbj} z)Ori(`xtODH%2vEFs18_CF^-QJY%{o!`aF<67snID8qrN2AOlFd0v}0?p?ydjWj+3 zyuxVdSAiotLcsK9q4#9qRGLhV_PC4*;@vKABz^t=vqWAW7DuQy@qx45d54ocGe<_m zxkRzt?Ml{vSt5)&zfL$vb2*dT@IR+yZC%~gQ+4b{TuyF-U6vU2j0g5d9Gms3C#Dzr z{lhPBc)fuDSr}7{;@a^$vpO!nE|5@! z$dG%Ul8#l)rG){$^8*|R@b9%Y#mg9#AsPWb0U=`cGWz`LJjy<)Z+na#8VwGvPXm8S}!vBENF|^r_ThD8Etb90RdVfHy{#aWkl-S5BNL7C{SD2D z8DmPftVF?9?9@)ZirjE8aI6QU=49;xO(H{EUulm3amcwKdyDhn4TZ!N27cNe=omyl zQHX(H41u@%#d(MvEvpsV%a`6(DR|g^(wWuO!HbterJ-5W7T+BILtfu(v%pjZLRU(t*_Iuq~zpt z76(6?ss>ZZ4C`9caaMf{;%z^QJ$irE?T`s1SQuWw@^He%ILf{$IT?1jN-8^USS35w znY00oWQZ@d2rXL{h7~Su$Z{)Rg}$YM#Sl}B=nL#0&LU;>wy}Xm9Mxy;woJnlW0QXZ zb_GzLSo~C_8TI16229AN%rwcQOySF9IEa;(Gd8$`;-9PSqp1c1_Nb>R~d+oi~UhDf=dzCP3Rg1@^X?x(J z8g_ynQ(nL5BNk0*y0Xh~pE2$Y=U`C{G`StMuO>q{B&ecD03#&Qf}o_=cdd%Kf)OUU z#!6K7l&&;T`%!}RiRi1rI}JIk;GZlFS50}7wY%Twotul7mIs56m95?r<+X1){QmCg z<41ZCs~XO}X#xw(5`qaoF-vz2&CHt=S*2}n$d8|566Tz8vs@rFwXG0KeTnZ&Tw$er z3VK3Xh58poI95V$oiVrR`ZB|kQHi>()|P#QJ=0_TY=anuJTnoj2Ppc7!g4*X1yqoV zS*@?Lfd`(QWaT_z`edlv62-69-kxQRpy~`LB%wJdsb~+=B#(DwqqPv{#N#)cZ1V>y z&_0{|Reh|&oL8nZPDEu}RqKw|Y4zP%_T;>tZ3aDMbTSecyIxDdb9{%B*xOq)Lz+UA z$)}(~zIfiT&CeE9?w7p0SLCaWTh7=e5OFAfSSF9UR!&8ZODs|r%+asT3mZdY-rerB zQ0PrL&eBYIud~@A^0Gfdr(^Io25ZT@vp;A?@C+N^zoxCm^iv zTxo4flzYQcWp6bGdn0SO>Rd!r5T8Ep4wn<{H9k-6m{p*2Rz&T0eu)A-G`5I$U&f7Y z1U^qq_J_`fAHUfm-XiQFKZ9DTa_T&IAQ~qt_tuqJtYFNahyh9cb|k%HTt-n!Q7++- z!DuD}p&?g9>vF3=&wh5e827@b3U=rd?nJ^ zT)*jy;Yp7DTSfW>uRwVRRX$bReqJN0xxn&TD-k5GA1`3jBVI7-D$*O6ZhdEQiaH`M zGdWCPU6<1F{*szLUh`zCbNsqn2M)CWLijIc){~19(modOH6@}-(dEt(&IUEz%=URx z%Z+YTEShXjl%3hdG`jzJ%2H%TXd{@SXbq6Q z3~iQPB!`Zm+`+-OX9{edz7AAK9OWq0C`#>Im1V%L0Nx>abocLq(Inu*}Y>y?A88hrWh zF`ggt1MlPynwk@-M)7ft{((2abxFUIkW8YTF)MRw8J6x?Lg+DzsCZk z6Go%PlC?euZka5_r6K*`he-F*gn92_aRLGooOs$y@x z{GJ%w$nIZz)>;32y*Ovy(2JWq;q6OT(s?b#$}5GjhMg{@R{Y|;K`V{=10%O_19Rsq z)j@+@E1aeGK)^BXl*e&T4M3!Mq_&77pb?)!m+QIP_$4zn=cyxpC6>Z2$TgRUqB3OD z)NibswynTKxuu;z`KAa?(fhWiitB8oc+Q)djW99ze<0;J(?}FrC#ap^wbOudEg@$N zND4SsCu1z^iQ|OYLO}a-dnT1VWmfS4kQ!T*RS{MJQjCCJ@Aut*C=`5V)HRk?l9E|^+va;0|TKD zgXpsQ3f_at#ZTDu>dhPTQ2lZ4ZBmmM{1u3aruOS2oi4EMH+K|vu;vwN`FmO zbe3t0>X6fl;Ojpii#GPx6d88cp1=F}l*U-LI#R_~fSAoHej+b%0` zZb=@9c01rbd>$`4wEk2r$l7RitET0ydnxY(3f=Eui1M2#A6fBPj6`2}A^#~NS*GXa z?YI{1J~X2>hQtcpEXa$v95bhX-yT2b?^dN;ai@?^)*cq+K1aBwZP?I&Cmk~?@OdL@mmF=Mt9B#2EYz|-X)SFfs6b%P@I7v#MI*>7@9V z7D>nPnH!b$uI9rzZdy_|J8awTn)d2ywr5!xI%1q)Wv;Lzhy($N3U}DS+)%y2N^IqB zm+<6M)P)f1+hxG1Lnm~%ZV#1OUA_LgTRJv7u633B-J4j@%Srx$=ZAtn37&S^is4XK z{d7|EfD7UTPn%z8D1@sbLPGq)g_so^8LqBq)nG$Gr=!utR>3hs!nqFdSJ91G>G#`( ztn-2t=m@kaNCq`7&VDczj=1Bl%{lv` z>|OF!OoC+?fB2L4CIRl!Mg=b=mck&{yVWospkC(!hgE&m&{M&eyAP^ZE4IO0UUL(x zN1e{*p%!Pfa-A@5afE@_j`z|Xkg>NfL3>{;HEO0x7+EDnjZAPWD0o`g@AD|^I{fSa zd|%eZh$%t~Z>U zP7{Ne!x%w6uH+Q7;iWhx{{1Fyb2H)(QpH0@6!~Oes>k~#fqjm7`S>B85j_mC0EusD zST_?6h-$UfDtsw=JAF!D!N~y;^z%eIr(x45=GWu+ndA8G@ikVa6M97pPL`;Pg=p2^ zPK(5{lP{5sAkfP!ELMoO%4~Jrb1!|(cM0;NGURm##-c8FMsBTC$H`9k*ui-z2{l_g zR-~6}JU3CTs4!WOOZ!7kMo&$c+Sa<(WC({S=t^o+{`C*)y_LdhgsO( zPT2b79e2E-w7*x8l7^OKWbL|#E@YRrt}C(eSsc;4@l&ywMldhpYKC9il+Dg!V`z(_ zQyIIakahaq3rC*b5O=ylW1eKmNavVOzq{xQYLG0_G2=~FHMLBvsaa1hy==L>SWBr9?Dm9OB7m*%aUd7QH0 zoQ+Y{ljT@0} zoo*x;&mG z9JF7aajVuwin|dO)%I32S+sekM_;Ps(pjTzP{P2ap{43`wnm0ddUI2Y7{?k6zl~)1 z;HYDIWodjIQXV};;1b^p`zCNmJ{<-%Zp{hZ&hou~Emxlzu{E;d#%d%dC9Stc)NX#5 zMGu9Ge=&10!5=+L8b8Yq{|kooLjbC^3G$U6K3Z*+NX?xh(K3FZykBI74U ze=_pw9PO`)N5kb7Qq$VcLkjMPq7qTQb6UmOh*knsGRM$ulW9xVF!?M8s5Z_Afiq9y?Sl7`Ik>hZABF0 zwAwLXYX`*B{udVh4AuGDsV#@q?al$KLTa>;xi2HA>!6gbba4)6&)e|ig=9B15WHQ{ z^6`@SotOEhfab#N0HB$q&SpkSCAMU$Mg#SgVX5mWowvw6sYC6%^B6L1q90_xHL{xk zw;z|IH7dKRn0OFOiL@{xE|pezi1PkiI(NE*pfu>g(fEXt0%LM>XuFtgN+fzg2={5N z3rON`sfm?W#OIrr!n#9kXY4b3BMqF5KBfo#^zm3X{?Jk>*q>qw-_4=nmO#TPnLmAe z(p9ycFPaZ8S}nhP$8+L)%)2e_!u%LzX&6=xKh0^d;e){kjs2CEIZ>u8;_^GQFem?I z;}osypn5O}im%;_vUbHuv;2}XpL(l0LQ|-Q)61;Ew!=DhPRHB7?p_nHxnQW23|{Uy z7}{3VIe6d8&IjtM3#!POB8ZI8Qb&C5&*1##v-hF2Kls(f*&OSKaPB|q>hvTsF7SiX zqAoQ1^!7DIAU^Xk`Ozy&+` zqcAQhk`fYGkph>!*RxKzz(|~2M-k2XbOC#%36K<6x>qQ{5Au1sahHL!C6P9sY5=Slk?Gq@$~)*)`bH<(M%3_dpy+rH-;}(@=HM>y#in- zZ=SqzM7t8TnoVUi`EUu2_H38$YR!Pxa=rz{Bj&D7l3;2bwbU|4%RO?s&Dvl!imX z7X)ZNWVYrJ=|B#Qz~<(2_sQ3N?lIO%U4e4G;0ND#8BAH$-Mo}Oq3NW107R{G()pr@*1HCA=e|itIf6D0d;L_ zXLY44fSv$?*%s5iKis*(m`@}|Mrd!Q?e0#67^nj7g^Rqe%px^wM^bG|hL|isyRzm9Ns6TBEf`#qwuv+%oZ=iwor>lIV(Cp=nM9=zYZUDOWAbVi zbh0EGz8rLmY*$l21~-9KJ1!{j?+haS3-vw`CfU>WF2Q3@4w-((@bD>qCrg(aw)|Oc zHHvTA!ri$K(MeU^`ky7)qjM?yRlH?IUobGRcB@^#s?Vn6yLsUYt_Wm(`fHAZ1^NF7 zibDg|)7UPxZV!OUA(0j3FtC!t-b}=Bp@4^RDAKf?ZrJp^mj?GQ-$(zGzoQ1u6n6MP zYR0Yn>>Ln>Ki~xdT$_--QVWdb980?H{@g_;7&wz_};7Tq{kOe{)wX*Pq=nR2oP=Wy>*YS zDO#7PgKUvW8Q7yoo8EpsVEs=_8eQl}jur4HGHyp&``(vHq8yey;!x^)dB|d{v>q(r zyy27G_h`v?9fjVZZ+`CZNyZ)#^7la&$U@R+^JWtM7%d;EYzS2U)Lfd93HI1 z+9{hs0kQdb;hvJX=n9bg>XG29ceL;ks_9H|miY}Xz#G|@Z3LhW#sJV`Dzu~fCjYSk z`?n9w-u+}MWJF20=68$Iu(CkeF7CvvZ8AnLM9t~}dCawC7>zKteTSY70t}swQ`6fY z3cy5GK&eO#eG(1OPnhdkrno}2gsI6!q_k7@_d#ujN40&ItD2k2!Nf%YeKR<%Qi zHbohuQD;rtmwJu=#~FtJGK)IPn6?-mKo`n`w{zI2+u&n+--1E)KjOH#v0p#EYz0X0 zv(&y%Rh8TV0$|4@e+LcNX5&!_*lyo3f^UJh@<<~Him#Pl26>XL03$j1*b$x9kHjbr z0h54tjTai0czEF{`(y^#a-pfEGcGu|zP|GW;>jjb5PutWtn3qR2#je#FJi z@h2DTpM#skO!eK-(3KJYHa6PI5OD`=r@S8Y*SYKlFwxi5)KfA#-;`hfC_(2o?=1>M z3}pf_T8KQQRRnF)?zpsz>BB)@^=pLBTvfaao|CnGn6$RFPp|_5qAy6lCo%srH5zTA z=}HGOzs*C-0H^j`Oc5eSXEvY7a56=NLNf;|cJ@Hjy=C^BS<+XpZ+Pku_NW!PJ46#} zE+D`@Sq?$COg#|+Mn49;1EwX=mMp+uJq!TZ+>E8wjigbw4!WBE9S4aHw>`Sm+7BQE zC)mC_AwOFuVST%EB1zyT^3#C*5Wne}TWD*GDo@QllXz(9xs(HmggPI91WYeg#RgM@ zf@gAQgjf|aiCPcdG5hwe4eyP5%4l+=Hgz=f^(+V8;j2OYEvQpPv*W_bQ!Hr=N0Ifm zhHFP?uLra|DwVTKx$uCzwq07T>Z@I%vS-qzI)G{H;XlB` z@0iilA(`^AUnfri7?6w19uQ>phmUh4;B1e^1>S46k`rO(fS_Nq(JTI}#jZe7tJln{X_30n5)C z^7Z~6suHUxgf!Y3oVpB^bJ)zb*v`h1`l%*oj($5f%$^j7^qaG8s1N80fJ_hTEZl2$AtE%avLhXju^`dKc1OE$RX&!C> literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after16.svg b/artifacts/ui_eval/current_tui2_after16.svg new file mode 100644 index 00000000..b4a92948 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after16.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 4/4  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +││││││□   1        1        Admin Console               password       https://console.example  NO  ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT│││┃ +┃│------------------------------│└────────────────────────────────────────┘┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│┌────────────────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after17.png b/artifacts/ui_eval/current_tui2_after17.png new file mode 100644 index 0000000000000000000000000000000000000000..aa18ff4e724617b068e3410555e6b38ae83e9e74 GIT binary patch literal 63414 zcmb@uby!s0yEm>Pq9CG@k_rL}BHb}cBi#)W(%n5O0@B?jEe%8GNOyPF&@sfoz`)G> z#^-tbp6~l!=lz}Qoa?MVxc0SKv)0=CzVFZ7J6K6U3Llpo_tvdj_%hPsDz|Q7d)&H( z_3i#0%$>O1VZK|p9^aA?f3N0|c7Vk9q4<=+h!9CojnJ3TJ5+jcKTNbqAoTus8F59T zd-#^;FN`VPmn-;Ra2cBuX`N%A&siTe*zs+>86K{j3ny4@%DgBk5%U5K%Buph$>0>F@EmutcY3FLmW+D`2EN>83~1(D!_=xSZkX1MP&K zo}LGP&${(XO^#ur(RKf*ej_4X(A~iIe9And{1wdNhf%=t^0EWp&767WlYb_EZm_hl z@HnXKIcnIZCii-7eg~gXA?5>?y z26&w6HJVSFiOFpF(*mIQvMRL~f1k-OlOFsb638@^An7XMH_(5>qE757Dl!}mBr79h zz^tYDm3YQxZmnT|#O7$?Hdr_HbCc!p2bBDOK^u zT5ECZ3DmAWqO|1A%@yfPiMJyE9L&H_m9z2XUdBz(g`r>TDADAIsyDnyNQ`XRt%pTO zxyv7?iV5G$=Pi>ewYQqcrJ*27saOVSXaQDWuH$qh7xbM>2b(g>k_U3cLzKbm)lA`yAbj#L755- zZW28m`GWRkX*Un6ve)})N_w|@P>31TgJ`s*L~BD?_B_{>47tnmA?q{rk$9J;Y7i%8 zy|)D1TNLHnu>Nya@8v@ZTF7cvWLKoUsiIFAF%Pc|!Oiit+ZPixe&^%xqZ!oua_jPX zs{!yO-io^&SJgL-E^i=;SJE0CVvT|Ywc$V?^U<0w%Vs749H zi#ewpPw4hj@2cxIsGxmil6E-5=-CY1eH#(5~Y+BbM?S=Oa z4JhX!{KUI5@_OAHy+!~@f!?G7Nh|bCxU0aZj<1cLm{;{n;v>`U)XLA2Mb{2jRl7z@ z;_LEhL)W!4w6S%Ur*a@CDifYE=&CA|i5{3g%YG;^MGRTf!C#{5>!CNj~8yE24rs6_k--7@}un_4z;Kj`+7y$@gg zI((iRJ#62?Rzu7^V}IfUC5ebS=bcDCPQEkCEHh* zT>2i=Y+s<{jb^OLG-zmzp44Nw`Lqj+#@4QQaRMcrgI

5pq<`nK4*xK~=|-Po6Ma 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∨=4HoQC8zDj7}O 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 U@(D< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  managed_account│││ +│AIIT││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││□   0        0        managed_account AIIT        managed_accoun -                        NO  ││ +││││││□   1        1        Admin Console               password       -                        NO  ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT│││┃ +┃│------------------------------│└────────────────────────────────────────┘┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│┌────────────────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after18.png b/artifacts/ui_eval/current_tui2_after18.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ace6a4567477c90c5377c2331edba50b143409 GIT binary patch literal 65689 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after18.svg b/artifacts/ui_eval/current_tui2_after18.svg new file mode 100644 index 00000000..bf240353 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after18.svg @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | School Login                | stored_passwor | https://myschool.edu     | NO ▅▅││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub│││┃ +┃│------------------------│└────────────────────────────────────────┘┃ +┃│Kind: password | Modified: (unknown) | Archived: No│┌────────────────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after19.png b/artifacts/ui_eval/current_tui2_after19.png new file mode 100644 index 0000000000000000000000000000000000000000..d65334509af8c0349b92904c39037603d4bb2f17 GIT binary patch literal 54140 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 yS+w5ZNNbh%Y{Q)_s|U1pfzL1Enle=|dy;>auaI z$mkECwgOH~zVuPYK)+|9t9zFmoq{=29ImS zpBdK47}wNb>`=pKrdBK{&#BhVCEtGB$||ey+U2M4fq8rdgB{D0rE)}l>nY#s|t-=HJFt3-O<^#nZ|reMae#AYdM~!;{n-a^jBA1XJeQS>hUCUgy`uKl|IQ z`?Qx+=Z(-8+d7t%)+08e<5rznZ=)Rd?W>*3dwCf_0x@0R3bH(sHf1s%efIn1H@K(K zMAm6Sw^LD?6?0$Ayj9$RrS?nBNmcbxV}C-t9v3@Y-MO7s5#2E;&3Qhpl-&%MflmP- zFfg)}_B!iM;U|GVwit8Q-8oS831_KJfmMV>8}m?&G9Bd7>u|I-_z^@(7+vr^O&Z+ChT#kb6qNrP#qEZgj3v$A$!x+j~n z;+q~1lU7SVTFxA`xV#S`SWc{N;v4ErY;bn;^SG=bnAJ-oB*%A*;p^z5r|=$@)fqh{ zjgt3yntCaA!<|oK6@Gv7%NqPeCbTj4{x6hDW-lPzz_4J6ST3iABP+P0f`~+}>1!Tb zu>5I zZ>^HYKH8P)yzl$agEjf=()A~<+^Rf@N2XpzyB9?Q*3hVAQ{~Jb%zDMJo*Q`E6eRF< zeo(yl9XuO0h&u>dPXrdI=8eiPOP0$ueW^R13JI$Wkt$cUvG6aIUEU|ALC(4L-vvq) z6eW(sL!YY@+nqG?cjs?vA-4@E*{d~C#`Q){^YnHXhCTypsP?2yUbvH z^5x`1EsmfXz^yXGme)jO0p{F`6gb~o%fWcjb)E8ZaWwi`Xynl)c4dKS!C4eJV>38b zQ)>vUSdjPKgI>u5%D}>hS}vGgu7TuLVWWMF()xea$okBXI0y6#7_*8Sz>HcQJ-GND z;HhH7)BAdygh|-$gR{j-cG`?u&k{ixS|nJx{(8Io2B<1RUSnhVq-O!NOKD<`v$?e zEAB1JHdNbcEQwyyFaa%&EaknS&@gQm^qQFHHiysNY}2BBF=OJ|Wz3Ux&(=8WK`TxW0D=r0L?WogVMycK!&fxNpkVi&V9C!B2U1C8MK`uzjI zYW2dEw2T+Swjzlsyy}S?Zf!a0&P~)e+_xbUKb4+*5iyYLf$d<)q)PKh49xihjHRf} zGF2U=66VVre_^*DWxNBhH%C<;$NWwY7~DzBb#w`|%3A)Gp0N-#-u}?RW5d@FxpL-| zfGqd)gMS&@bTIp!?=B9pz4>uTIJxTB1o`I1nSDtA!x%%$tlQ>d0{o>q?Od8SO1SO> zNf_rP*zfkB7gk59cWH?CrnB#qIr^&}8IDy}0eYJn+80_;D`q%7$y?dxrLQ|ghmm?P zm_Oio9O?CNCP*e4?VAyc(%dTdXYwy`B%b&w@aCem88mp=&#x%e>u+Dc<+Y90jW5$b z`>gQ%oI)4lF`p;VZ+8uvi7*Ay#kUW%2HfbDwWxsHPnK|tQK`8$Dc}6RAxft>*|a3Ut06wumBq8@#(wf*9iwTgvb1iYmKnEOx-YoD9e`h_=EWm zqk-6Tlw9@9OvW=epW~=UAuGQvhslp744+KLCC2z9H@rwnd1>W@Q+on*3EbfUF@++F&1^#Ly0 zDcPp>=%Zwe(P-q*+RkVHY+AUM?T!zh8eY2bVtB^xrHg5v`M17gjmr9vhcJK209uYE zxprIR!w3Do>L-1bzQ?G{Z8o&ji?Bc#d|z~6!6Kx5r%9U|cWUgija;u~A^I^X9QR1v z8Aj7{cyWYRTA6r$jk@CxP`JPw$Jwx(F3gekslC{++xc_P)C!`L-aVmlH7J-TmZGos zDGAf&U8fn(^o>k#dXdn@aH&;SQVT}fL8+Y6C@P8H&0J6zFdlfeh;<4{mv~l83lwmC z4Uy=;mSCiK|JZstc`bKU&4e>Imbh@`Llm+x>x>`9qpB=_RpY*6oCGi z`QQ*ZoWf?lyxdviMowSv2gH&INFXBU>h0!hE(wICDBDukGSNVl4Sc4l2%<~5?ry50 zdI@j$;q#icUPP4IDM{XkbQ6BIB~xX(=hPj`&a%r*H8X=AlpMU&%`qBJqm(-R)I0(_ zhn|J6-W1e|fBPw~THEa8A=_TeWWxtr)-ML}#I(OhghY^nDnq?=89&z)!GW$CRip73I#-Fn8&&J&~psy|`&$ZUg)Dpny(djUpzttn_Ey7k&)4DS>xa_ldF)d5P+9f!= z2rwJ;RhqtdxxCDTpBgv$3*wGk(IK3EEc+*{9vcpG7-iYpFZf?{U7|+|XB+u8sv_o9 zyA17?C*_o6TKY*;dc(dhf~%7qMXtegx@JUJb0VAorTz2ZefqSOKbx_i{-jjjJzlSg z^^oKn(pm|fEE_S|p<^DzjZ8RoC-7>7OHhjaD|Fhy0`Vub2`)NdIrDJUomp9H1t@A-j|hn92MMH`{x341GWEP0qL;TpgF z3NzA$@jw#yI|Y1t%6D_$58v3Wx7P?iSx445I3ID;U%M3UHJFbUB)5o@appT7>0lJD8I(C!bO)l>9jZYOr&@})W}GYOX|uRY>RAzaK&H` zF{KtozrTWkLt)Mbg%|#WfT2Z*(UGx5@FcpTy1EuxT8a?dg+J?4C)Ds~!PyA7Ypyj7 zT~G585HJRN?9iU5O`Yub+g!Xr^y18pbbA&W=5l-p)jEDXJr!_pRV^wLlu)}3KEV<0 z>0CCFIK97P-|{(iep$S4NMvV3m1Ikvu>d~Nd+j(Nep_}t=PDzE=MHF84C`rkP>4Pr zV9tt&hyclp9@IkL@#C1Gh7N1Z?Jhc?VCi-F@qY1iXgajScHfsi9D@NVO0s@F5d=mVuWw7wN!aUsOJ}}GZCi#Pl zP5x(Fwi}f`#C97^GSxUAUF6kqTugr*R1ofUWY;3fy%XiveVEd|QLO2q<$QP#*2!djrdh`EK?o-vn-iFSnF1hXI*)gCy)2XkwSDXH+qHSt_j42uHNr zZ%{Yj7DBH!`d1?7{{6`GFF6CA!~N|aP52*wfv`U(IMcMi{ugeNo^iGsYU|Vhbvg=Q zq1mi^jd@N?HXIyriG>oRYvT)bIG+_tPUxElNq1b5FHef$GNbTm9=G3)^9rZXr-^S% z^dZcs2~EAsk}sVsXtXdGGgBg#gwu%KlJaEAp3@whR}jD8fAg<7V$W15 zSjLpuX(Sa_jnfmlbaU%uL3vbU0?9mf2<*EYZ5pfwOlrOsHX%3!=M0yDEP0(5u0oeU@yXk=`Hn zS&rbIogS0>&Ed3`pz~RPp6ZHW)%iWVCb?*@bPM)-n;sN-9$g=FD6awzmz9+cg9kzJ zV=8OjMY!Lkw+-4I9Kmzr-YbZcDHuV#1{A)Ow8E}KaMVoKquVEZI`oJE{ z9u_fULEJ2*I(ES0S3h)Zzh~#}`WW+$~hQBQc=XhDiF zZCM&p;JMH<>q?jL-imrWY390}D{|}TqYz1~{rFSQCeK658ytv|n#Gi)gxU!ER8_G0 zCL1`Eng3|w1HA2p^P4Xwdv8ac$hnvqJvi`rR1@_&wt4rrf<(`EK3s${+p~s&5M^}+ z*4TDn2|LMxbr0u*c91a{mhR+K3o(w8IVf5w_{nvwXBD`r5^Y|w~kI` zoNe|_tSOIaH+D|+^qvKEK)H+Yl#`eOV`nmja#h=)2DcZJS|-i3iY;E6UI>)aNi@;H zAUa@!5uLInMbm}RGWkAJ@{EXV!QuzKd=OW%f?xCg2xRJ5pusA3%ddu9iSf-ZW5g?T zTHCj%c6EMSyz-TooafA+P3`}xE#2@3vQn_6YYQyH$nnb5MTs%xa@Y5G8osyPzl% z?wlj|vg*M!*7R}WQgA?y-lMNi3N*h<_o0UxJ;V|d39%NGG<-P?7p_+C2eB8F)zIbi zwdyY>DMz_iubeJ3XVYEsUl;&X8!Ql;2C%O*i@Oq0Ii!zQt&ngWtK_ z(*IIMw$&`LugH&$zZ{&u2A=I@$sIQdqiCyqGgY|Q>s9ZBNqU<(sgh&8rw|=9drLTB zq%PKb3Db-3>Ln8u{e+S1;?mfnMSwWEkb2~L#+EUIY%znYHY#|cj6A0oS$Q2<4VgrQ zLxO!dcqBoHq%x~Kn{^bUMe1KMq$cZMCy&!Y4UR0r0^};U2?-c7bAUZ;9dPw9Pu~rwJEVexu=r-N;AGFg|XyxoA)MS(e@lOwuw$9^fb4-jP{rp%yZGmdbsRG_P?d->!$;S`eaF9f}f>M#28|5JrV!(*wxeF6VL0}@-WQ&m)M zS7Pr-rz905Y38J9xY~Kc_e6}fPXFWVz{kY}>oHgG9;|!eLzJm=g&jZA6e>W@C2P!m&5G^GI~PuDMWbW%nP7G`klyF)hq_;ke1HD`Kb+Jgv6^7pEQ zsu;r*4DjBIT^1mH+}({m<@)VDLZE0z;)A-5uDri;QW7{HPn&V!$3IudxzGD@i`ENI z0^LR*(cbh@)6Dh|TgP)OO)?hG(a9qjpT$Ao74DA4`u}}p+iwU|m|iGfA{6M~DWr}Np&(Os{Gff6y(ZyfJXrjMDfJ`|wAV*_^eZzsQ$#G` zEZT+jb0qgoK0*3sn+o3rVxtFEFY21TKom;Nc~?kLy2ulx!O=d?jyDZ$!n_kuScJA# z`1#WcniA`QirUdtg!MazvT}?gnvBy{u7)MPveN%6lX+&<1_@9I#xWE|jk>jt9d9;pi#hW@4)_`h7Z zNyGcum~3=yyiRa-%vL9g;r>~>ll7;fP%B9Q#W^#uhm{=p75N80|LlDz?@#nR-kc$x z!?%o%5{$UhCs|{~W@GYSaKtC;=B2+oNqN47{1o3bE5o%9tj)ujAC4PJ(Gn>$(ao9t3QX&jGq=ZJ3geyZf43q^+jBUfb?ZFZc7AK`zTYNXVR`IKO zXR%K&L^)l2X_w3V`UzPr6z1V)EpxaPL`}vlb+w~JD90eGRAsE~XZ+FLueN_?5>rA3kLG5Q3r z3q6lBzwqeKe+%ssUw`t~gfX5C%LUIX|2RPZGE)DK6o`naQax7Bm?;Ue>gu{Wc6a~h zdG_f4+D4by;6t>L1*-EtnnCisA5WRpe+|jrnF8QKEoa2nOkKA-=b{&|9U-H!o+``L zZIHE!-QwWJBFf5g4h6*YUar{_^BA}S(!$~=$LA&422Pw-l^O}TGgVEW&3xsZNJ zz1>ZiM8a&Qk*^N=!s-4eT%Xp1s*W9@Kz3fUtuY6yV7_{X8G!d1sr-X~XA1OgPys8w z*H`^bPmmazY7s2>j{4)PQt=cz0cN@FA>wWR#YiyEbQoR-(4a498eUGYI0Hk z!gYFj;~dag*UtJV$~p!k21%Yu=D&zEK{A0g_}Q*$M_sZ{ZWB>rPO@&Et5--}m-fbY znW3AjhUTZVnuIM_jmi5Ed6)(|NIPETX`K3B)JslPhnBR22WX@qKVyXU*-zNJgv$3D z9{{AYQxonJ;U4V0Iv?ApskX9sp#=kRakPy?`_|8i$3OQx%LLau3cDY%PcP^1sEg zf7si*UccAnFtQSV;GdWrI+?HdI+-TuR95oOR{px|gn{Djv%YiCJ43%N9CI_q?g)o6 z_tv|s*Ypnpe>y0@HSam$@dUTodX>t zv*RIz68Ha;m~e&w1XKGciJnZ&_;1aug{irh@MiMoAH<=G(OY9mvG)sK$J)a|^-spUBd&z|5o++Z_3gA{{S#5Ru}ES zYTb_@{w}rUY$2gHQfR_yEbVNR3fsg^?{Bh|G}@p>rq$QWkq!4fXIvC9SgyKWTR zeuo0^LWn8ESqOEi^@NZE_|3+>z^>8)xPOHL0$ND5u0-0pj-;FeinX=ge3`2YLFYeJ z*3M+zQ?*KqtUhS_Tv3m*9ISd{0eg4hwCKf ze4^|>oVg4L`^&$obN{&9X{dPHN)C%8qoShz5|lM5DJck6?D_MJB8}v)>HP~Kp`jv0 ze|&X zY}Vn>!>OHBB$q`M0rvO8EECV$|B8!}Q_pQ7D^3&wT{}ByAn-FI>13BP;Rx45H^WJfL^{J Y!->C=mbmFecymEkQc0pv-0;)?02lj?*Z=?k literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after19.svg b/artifacts/ui_eval/current_tui2_after19.svg new file mode 100644 index 00000000..94d5da82 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after19.svg @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│┌────────────────────────────┐││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 0 | Edit: │┌────────────────────────────────────────┐┃ +┃││││┃ +┃│││Sensitive data hidden. Use 'v' to reve│┃ +┃│││al 🔑 or 'g' for QR ▦.│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after2.png b/artifacts/ui_eval/current_tui2_after2.png new file mode 100644 index 0000000000000000000000000000000000000000..147fdf40b263d68f0e288fe3407f2ceb979c89fd GIT binary patch literal 26116 zcmdSAcUY5IyDpApWM&v(97IN{4hkv)O79sPk(xn)C@l`f&^rVYAeKQz1Ox;ORiz0C z2q8cy35xVyLnsM7gpyDaLIO!noV~xZ_c_=8owCn&e%E#Wg7;;;t32yj_j5n@dWieO z8Yuds^p8S9LZW83Zrm0U`cClc5vT7D3w|U?r=1iM`dP^A##P&h>~*eapcCOw z`<`z-UwE#rqwAKaTcg`6yl|oYRD0x0$gcy#xsPv)c!}(uczu*{H25&_>H6=#IHqT& zOP`fFyG!za`@=(s=#NJaWs?WapK8+c49%k<=xp*%kRucdRTNBeV#OhUYNHpWN#=~# zDJd%}D=C$Zc^?%LYB4?D5ma?IYHEtKJ6?wi>qwLv@(VLO68H-oNoU2-ONw*hOKD)- z{tVqz(2wtpfT#r-dect-GliIlz`)Btv<~?V2RlCf9Rvd98H8Ol!$bBb3BL)Neiz!@}R@)@=N;}Z{b-fmxwtQlF!0(Hv)iy{*PXW`wN&PAI)CM$REQ@ z9@@k62z<_1WsJ69S5DvOZ{WFgg2`WWa4u{9kx_?Zsy@jRjCnXCl&`dPS@2fwVHjV~ z^wnM#o}J|xR=)c4%Iy+HLO_(_w+PAnkhNr3Okbv$U~{-B>4BQPdP%#@<5hv zB8@b?z3Qu_EfI}S;;hD|dmnB2t$d13k70?!W{?3U8GR4t-7PS;)zWga_O_)!QCnr| zGqtzI;RE8)D^+<|0B&2Ex`Xgvj~h@x&ZE#}Tt+Qm?-8<&@~$`Gg`FvqLgqayPLD>$ zZHV*YJ7VVE`EENiQTYn&KIQad^BdwgK4I4=o7belLvfic)8X{%0A8x0LW6n+F4Akv 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after2.svg b/artifacts/ui_eval/current_tui2_after2.svg new file mode 100644 index 00000000..3cce4e05 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after2.svg @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│GitHub│┃ +┃│Kind: password | Entry: #1 | Modified: (unknown) | Archived: No│┃ +┃│----------------------------------------------------------------│┃ +┃││┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ + + + diff --git a/artifacts/ui_eval/current_tui2_after20.png b/artifacts/ui_eval/current_tui2_after20.png new file mode 100644 index 0000000000000000000000000000000000000000..1d3b575e4981c5e5a033f516f260179ebd174a42 GIT binary patch literal 60068 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 OKD$2ppm- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 0 | Edit: │┌────────────────────────────────────────┐┃ +┃││││┃ +┃│││Sensitive data hidden. Use 'v' to reve│┃ +┃│││al 🔑 or 'g' for QR ▦.│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after21.png b/artifacts/ui_eval/current_tui2_after21.png new file mode 100644 index 0000000000000000000000000000000000000000..1d3b575e4981c5e5a033f516f260179ebd174a42 GIT binary patch literal 60068 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 OKD$2ppm- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 0 | Edit: │┌────────────────────────────────────────┐┃ +┃││││┃ +┃│││Sensitive data hidden. Use 'v' to reve│┃ +┃│││al 🔑 or 'g' for QR ▦.│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after22.png b/artifacts/ui_eval/current_tui2_after22.png new file mode 100644 index 0000000000000000000000000000000000000000..dfafcdf16387ac47804d925167d073f137c930f3 GIT binary patch literal 65697 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≺PkBJ<=52@-2JGXy(l(vcxHkaL>*{I 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after22.svg b/artifacts/ui_eval/current_tui2_after22.svg new file mode 100644 index 00000000..a7f00c79 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after22.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 0│┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Password*: hidden (v reveal, g qr) | Length: 16││Sensitive data hidden. Use 'v' to reve│┃ +┃│Username*: MyCoolUsername2024││al 🔑 or 'g' for QR ▦.│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after23.png b/artifacts/ui_eval/current_tui2_after23.png new file mode 100644 index 0000000000000000000000000000000000000000..c163930574244caee45baea83a8138d4d0cdf294 GIT binary patch literal 64054 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after23.svg b/artifacts/ui_eval/current_tui2_after23.svg new file mode 100644 index 00000000..88eb5db9 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after23.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------││----------------------------│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: online account, personal, coding│┃ +┃│Index Num*: (auto) | Entry Num: 0│││┃ +┃││└────────────────────────────────────────┘┃ +┃│Password*: hidden (v reveal, g qr) | Length: 16│┌────────────────────────────────────────┐┃ +┃│Username*: MyCoolUsername2024│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after24_2fa.png b/artifacts/ui_eval/current_tui2_after24_2fa.png new file mode 100644 index 0000000000000000000000000000000000000000..3f72535060977d2104a790781ebfc4be7e027ce1 GIT binary patch literal 57628 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Discord 2FA│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Discord 2FA││Notes & Tags #2│┃ +┃│----------------------------││----------------------------│┃ +┃│2FA Board││Tags: 2fa│┃ +┃│Period: 30s | Digits: 6│││┃ +┃││└────────────────────────────────────────┘┃ +┃│Current Code: hidden (use '6' board or 'v' reveal)│┌────────────────────────────────────────┐┃ +┃│Secret: hidden│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after24_note.png b/artifacts/ui_eval/current_tui2_after24_note.png new file mode 100644 index 0000000000000000000000000000000000000000..c453f28fdd9874a23dace3afebb630d6bacfd5dd GIT binary patch literal 59273 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 Bd5!=8 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after24_note.svg b/artifacts/ui_eval/current_tui2_after24_note.svg new file mode 100644 index 00000000..712fdbd4 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after24_note.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  To-Do│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  To-Do││Notes & Tags #1│┃ +┃│----------------------------││----------------------------│┃ +┃│Kind: note | File Type: txt││Tags: online_account, personal, coding│┃ +┃│Content Length: 20 chars│││┃ +┃││└────────────────────────────────────────┘┃ +┃│Note: Task A Task B Task C│┌────────────────────────────────────────┐┃ +┃│Notes/Tags are shown in the right panel.│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after24_password.png b/artifacts/ui_eval/current_tui2_after24_password.png new file mode 100644 index 0000000000000000000000000000000000000000..0031366eca3c564d15c284d2113b49e10842b6a3 GIT binary patch literal 64213 zcmb?@XH-)`*Dh8RM3mkUktR)~Nmr2G1f)p`iWKRFUZWx)AT<=Fg(}i}Cq$YMklsrO zy+i0Bfh0HTTkcx#x9+;%cW-{3l}zT$ndjMiKeK1g34f-eNO! z4++VokJl~|ze(8We?&rZi$wkDljlBZ+c?Sq=Hv8r|CoC*PQ4W&)KX76^uCYL#NCmQ zaHfe!9+m5G67dLRZm#=Mt@}CXyWKNRGlCZilIIZyLxEa; z&E((A!b(z~i|NsA(jlO$a(t;o!4v5R4J0 zl7d8|?S>ck>-Vm}2sjieDd`pBI7vv}!C%|h1g`J{FpCG(;h;1b@7=zu*N1`SNGmq8yC& zpHy;Wt^c5%hUizI&K)Hpkv8#RrF^=CL zCm{)7%te^g*KB9FPM6r`@P-6mKz702_%Ef$oQ3#y^97twO>66~^%B+yxP3w0^W&wP zOPz*5DnteViU7{HALg_LtOP6_qyv^+Fr^{ytYu;=u# ziahxuD|;J|N>?W0V3ZeC(!wulnZzX)D#p{0MM7eZ0+O-M>>H=vXf2JF4B91UE)Fr% z*u}Pp^E4mA@T<)!uwV}4kPyg3Y|bYV;T5^mdJ((_@g|&)1{hp}Y|6UbaiY31^cuD$ z0lsy@Dz{15+xpp{Wia=Qje-q_^2f(=Uh&h>gdKczaW`psDM{FTewXvBEvDwq!LVk}Z>x z^nG-R2zzk&}T-MAT%@$@mi8>0pJELjB;)rwQM!qW!<3M1)XlZ@AxS> zcZl+q^N7sbqdRs9*Qg0;b zK!gF!oeyhK#!Q40S`9o z-#B2gt)BN9C_#RVd%rCFgXQ4U%OoVFW;hE_-P+2t&S0}0Wi$TB+8)ie_odM|1?L?y z;y4X%(q9fbMy8@cvI!W{LucK@*;;tz@Uwta_1K^Z?4~Zr({k_Hcs7jJZPsf^{cVmi z%?A{|+LsW9djkWzoW~^A3V%yVYWP;ZEmOyMrIqm3+wJtcfM9gy0@Pj={H7g}_w8b& zh~S-w1Ip^5fJm+#@0~K3+dL{hb&i)QfrE;!Xb4BC0K!NrP_H_7qnVQlX0+i$)KA{# zAOt=_VH-EhS=i%}+-JNU*zC}aH=Y) zE2+LLSOhB%Q69C=pM7dtqe2r9Pn^GF$MsRzIgYRfz+0AXmGRd1RUFIMq>}ZrNnR#k zS2FcB60Pv#2Eu`k=g^l+Ju3}YeJgy-#twyzql6_=lI+NV43DpcVH3RwLvH1S1BmW^ zQV-z>xYCI@o%3Q_XVX`)4S>Dca_$jJfYZj`>0-cw>R^~1X2;#8lI`%Bo@E;j$XQfi z9}J_^RRprbp<|?Wv4^bQxCSc9{qr8o=0K1nWaviD`+o1HUiSOEjeVPvb3_A@Md5`W z(dnw09rkrO5D?r3>r1r+tb^l(Z`%zL5&?~ZD@-~uS`*1u511lBFJHRy28|r>T_U9q zZ7Jtvq5dYh#7shB(v~nqSDRRTTb6L@4eTTYpkd9#@NmoMoSk-@mM&*r_r}|6UieYp z2M_2ZVzD@=q)RM4bHEPh%zeN|jDzJ!GbH{ztn~}0DhGDt#y1wd>&)geM9r6X*} zm6j6l`|Lr72cUI_3KIcII-0;Ona&f}L|V2Zwlwa`cbF2^yS}$p+eW-+$!RV1hJySe zokt`imBF_*fjFUtx@ubFv+Nr`f0Qv1dUa!{UXzem?P~}Q&ateQkYb^6b21<_3Z=IXaElAg8DOT0$3$wuV1HEm>q%DusA8 z$>S{^SDHu!!X6&E>z>w9`SN`5;p31}+}}q9d3UY{cig&;0sZ_i(_(WL-F^=yVd{!W zakhZN&LHELgKA()OK#olH~1^U%M%(Fvhvx5=^9_)_wCCSzFhn8>0l9VO_Gx}k14kj zpQ;UT1T)kIu1SoTL;!r2FfkT$vCws)Fcy7Zw1sOn=p#!|L4ZA2J@(?0AulAFTIq4_ zk0Hq6M@_in3icZxDZ_+j-~7Ta7MjS;(X8VZfooZl-mt7bEyz8wJ@q@|`%R~` zdY81#InNDDcmdp6Du;*V2Snjh3Q$52%FEQx4|_`LCQ%x)YkVwwEoUR+#F)|rOl%^c z(C7JwiA1e&z#{<{KgzTN9ll4Vv$F-F6A3IqdjtHte#Krz=RvToV@P9TSm;NHB(9_Y zo24Cn##ZGES~>XG6S4gG!=t_!!g_)C%p6Xoug;~&XR+354ZjN8DLapB%O>q@9*{N* zGPHbgic2|5;GhN4B8j%sqyYY)fKzSvZZSQXwBXJIDR%qMqtYx4DALwZ0ZU`Gzfj3E z&P5fZvxGhVGK~C;iTM)Q8k7`7FVNU~kGGxorOLCNP8i-7(M>1P zs$!^PX&=m^Yh+|}a(vupdkOsIq-tjTYl|CT59x>BL-wbodVqmps|vUoepiQ3l|{l~ zWKN5M)&aggtzf4ig~C|pIwQgU>7gR~KlCGA>g=p}{z!w@&U6C%6WRn7l+-E?DY)7v z)$5`$0bq#22l>2q9blIx{T9&nyhsKw1FK&0pZ>sHBl-Heok9!@t$rRdZbG0j>(08| z7YXS?^?wHO8(8Z^b}cGCD11xdNcoXb?2mf=@k%1u&O&u@9}BkApI!#Pdxk^4`ViYD z8=a!0bf9oC>#vqiif*{f^j8;iD`)=Iz28IsL-#UWr1;b5vG_k)zjL@I_V;gNx9tC3 z6mksyy?8Ealew@A2OGG6Reb)4>vvno_4W1K-eh4wMtZv3#(l-VdiwvaJEi{^SKs+X ziU#H)0+KMEHc~S<%Ce?A!DU5jqeA$A6jFVx8y0K=B(0WQ#J23+*Vhk z59y2r=f#c{FM(FL42dV*X!=`t$w_i^g@T%if?tf5ueAfE5*5tOnAHR3P+EuF(bFASDjkqm{jtz zz+vdRvrsBfhj{j_7)S0v>*s^^R}i^diz(lAhC8|YG-V6*yriZYx#H6#IJFtrq69zu zzVG6zQ2B=fZ|LOzJuXcJsq`=0Dk@>( zDC_^aenp@r?b#3gU+`m`=50pC+n%Oy3){J)9aNCnmwe1sre%{ZJDxyxP{5PFIBA-O zmha2IX?UP;Ncj&iKmQBE|D5!HErR|FGOW_u4{n6Cw%Uj4{G;!5ZaOv=+BM@|2q2S# z>2_tMN4wr%dI@;GE#ctTP5}r)vZ(*G{vXpI;1b1~SN+a0_^!4Jn2G{Qw~52P zg;QuMhSu`}E5+iOS#J*y(<}dh`w#A?dC!D-W+QUH5Q*XNn;2ifTiE1R^=qGFK?XlN zVO$X6M3Re{@8R2Hm_g}ME#RSg6`IAjeXm_vqsW*_GE+S)%&EuJ8z*yp!&Sw5gm}#A zp2m;Z=3Z~lsZjnyO!HrZs-awcZ4XkSpZ+r!utvQ3E8-{$R$g!L@QfEUjY9wF{_LJEkpkoNo$d6-~+_?u-R;>~=kiP#u%Ye=zz3R>RGBW;WV~!*t5OfzRPoe9>6W@Yj5P+fkcvh@aGg(Y?;! zROlsAp)<{V0!E|66Bt)xv}DtpYv2ky+FY3b{(%1IKb&2Te&&S0C2 zfOv0vl`z$g@}NpXMJ*;a=!4G2)4gX-_Rl0Y8rSzeNyuj2rt<_cmFNuqT+G?OG61Ji z*U1OdqdT+PKKvWX-)L)t4X^_}p z7DoflA^ItnD_Wh)-!OT%t_DN(N;u-|32lf2g79isBHv{tD^!vZ$1~W$-^2i~eQbWravh06aexi`G$KK(9YC>{Oyiu9K z{WEtF^kXG4I_fId`X|pVDX-*y|4X~1!gc!>;}nvw?+fRVS9GTpVQvuP?(fgPL&?8r z@n6Iw&x;ga>+n-2SOqZPMp(#=_GJ{~b&5P@Q67Ng|A{4JksLgloDJ)4&y%yvZv6jY zNlqq{-+u(eud10ZeKPBKVk?~5*i=+iUn#y&`=oo|(nn+g!?7WAxaL!qQ%ZP_|HIb+wSO#;MP=A}&U!Z$n)7F$f7o9z9YpaQt%>Nh|Qh_2;n zOZ63}#^vQUo{nt2pu2WoS%?HCQe=~>OIX=&y31%RPz@NXV3^S^NR|A)x`FSvd?1af+zYk#`~ zJdXKC0_}g;-G71p|IAVSXGbYS0d(XCC9&fB^z^Pl$>JYr@*t;Rlcv4BeQIh7T$-)= zHw~z!t)lYtdC~vPF|5 zbJ0g$pO(t29idp@fwB-da33wGj(k>fY?Ug|_&(Xi3Ka=t~Aoa!AD>f@A4IDG#p zpsC=T;~LWwi?=p0`+Pc!i|RV~+D|+Kt%_@}_wVK3t`7I>Zd-eOn~Nuz29t7o^q0DM zEL!r!F>g#*)b_f2Ye?FUkhHtUy@xFOA$;GHhyo?;phU70ll@Nn!#{3Kbf{X<7n7LC zzC^&a-OGw}(qDbRP^N$CRN>@|`$A%s_2#3!tR~N|EA$VERC$LPv2q zetWlfT*^gbWD{inO5{4y57(>Q;0Ei_{GsR%#rnC66yLH7Et(u6wg39V`jgV*!Rt9C z)rFP6Y(3+Jb}B<6R+B#~i#Iv2{tRcnV&U&4;kz2NoDH|MG&FS* zWmaB!?q|{e%}7^`>d&CQtfyRMdaC)x**Oo6+?_=%T))O`ruRlYu6^;uw^Tp($+JcB zj8&{$X>9B3isS@iBiA}cFG-KfbcLZ#56t@Fk@RWGSpCdEG@zEhY&o_)y7A!IVgFTc zw}6tjjoM1-QM&TOybMl;O|>)9-V-u`hfyWn7qTCkO^%tPPC_VZ<0E>8Q#R-OL!<9x z{lVnN(+RObtLn+V4`pLhiwFG2Be6{-LkNkt(3;%l=G<;u5wa(cq8ig6q|X&omuJF! z!u%CxeJXt4#q#Ssq9@)eyX*NX`&J-cC0tB*fjqgzQ(&mMkU4=ik6Cv?R#Oy?J%AQrUshUFmrby-&KSJ0Icp&R(dXR8Z2RR&4j^Dn)H& zPsGkx+pbFTFy?V}H^n;FOJhwXu%v+TQBh$XbBdRwXDC%sp<~Zywl%hf2BZ~#N#Vn5 zEd^Dv44*Qe@8^}nst_ADeQ-}&UkjI&7MI)@ljLeLV%VV_TQMrD$|?}O10RaZz8icm zs`JY7=~Kh-Aw+dkD>IF@QB%8+S``^1g8k`jZL-Pp3h2+t$;kzPc|~aKz{+*H zDOS2*$=h!pn6P+RmyaBGW^re?-s!P>mM!zgea({*vActrVPg8Yxp}ZNV5s&4l0Pyw zw9ACzwGz6YG=pVM6M`Jn73Fn06bV+O&c1*5x;%*{^`di=8A4-}V{*Z%W~VS=!n5(i zRn4~*T(eWlPU!nNWV1W0ot?Dce4&(W8!kHd#G-aC!%dIIi*WHQo#eXWZU<3DS&lsY zlF=Mxy=!5L3*|H?jnmD^Uh$cqyJIJ=2kC|(MN>JAvw6kyvb(GWib~_9Wu&i20q=^7 zHC&7=C}lfolI2j1Yj@c5Ytu+;wY^c#{dKs_p5N&1Ef?hQm+gzjk=#o^J?n~lnyalm z?xiG^rk?l3scDr#0uH83o(^y3`xyQ5Xlf>dE9ZQ0xmh5Hy98r`D=)oBS24LEWlFrX z{-D#u`!6*}be6zoHDXKrv8m2~Ur>sLVQ z>q}nhM$W!-sh<3$5?Qm`WkWs3`hYRP{dKj8mWtz;yFzJWwZ;KsqUY7BDPB^tiv}n2 z^ie09^nfBAC#s{y6z`a*8MT`~c?BzYzDa7`$e4ljD>p7Uu?U3YuJd7DK2G4 zh=07a+iz8&6fNc>`(f;*=w)eHKzByL_v~ynpk$42xai|gH$h(5Uv_aF#>wZAj1X-4 zNb#7x*uGCdgkc+vW2p*|DP4y;>L=Y3ounWj6Nc_STT~};0jhaVszimSgGV@krW|fW z^z)iTKR^9~xa5HA{m?hlB+jA~+2kyEWYhIQnI*TtXGd0hH8Rq`^qrRe=;+}c&lMYG zR(a!B@k;QCcpv*VS`=O41yW4*!CE~tgQE`x6a20rpG4s>S z5Ynrvi+@6g@>6Q~r=N892Qz8uV(-C^U5D(obh;U?UAJu-JL)W~qd6f}%$agyIK|oyV>naANbisa!I>}oZch&BMEW4?VWXK81x9Y!clC{%cUIFr~@QuUQNiBH?f~D^lexEH31I$o$l|y|R!jOlm5* zb!~Gm^5g)x;yPsh{JyJbq~*nhSm9d|Cahjk0e4cIxNL4#wOTRE3|sLff#c1Nsi&$Z zooq#Du5ml=sn|5CV{RpU4p)&neMyzzDf(>J$+?V?$#TuCiVkWYAUpXVGE|5k347Pa(bj1)QITzR8NTPfpc0P4$WX z-K8~XNK)ciHc>2Us?07deO1gV&$901>=r#y7o6VbpAwQ%m|~F^?wJvtw7=@hH}Bx^ z;JLB!sC>TG!mWd*8ME9-8E4=Nha!gz_vaxWEoCR&&d$qPvW%v7%F>qYsPVWXqo= z>OL9LcG`*z&WRD^FL3DgW`tUqs=w_k)lhmge^@IiQ5Vxm@>dF2;{-IeEaP?U2W#x? zz;<+ui67YNj4SEYcYBv^7a#$C!i#9B^9V4_gtpAVKgRx+3Gc!a!td&2 z$eNm(PEAZmz71)1D|9~c!%gx#tGHN3-y%Dq0Gz!MNahZnvP}w*$6lT<99)m`ZD=HK z9SF^~*1Q|n{oFOkxm7i5R_B zkTMfe9485W#Uu#0@I?W)X(mbcn*58J6kk!*G12sXuylw|Puhze_q1+r{g&efB`J29 z976Ur1rrW#6ye-OV@|h9MSJwV+U~QA2s1~WJ7ghO5>&BkWVWujqre3|u{XZ_2?uB`9Z1JC2GpAwfHKC>FVA zFi-L0O%bdad%(gm1c#j{Q&_1Fy88e-W(Il7ChcX9q>kpYw7o!La=z^IUP3$BZ^i1w zGvf2-&jm((qJ!@``>X_uN@grgoxVOCzQd%=-5y_5!7LC>hWT;dN#z274ZA&dC9=ua z*cEZGeksJ)cbt?Bij-DHJP5?$bY*cK2=W2>7hgE8m zNIc;(3l^I$@`4^Mo=_crn3$tT8cvy}%5omapmX)d)iWr$EP&X1N^l2 zm(~g+SI?!sM%3}3@A{V#n@^FQO*5TThp>u^+l+6O*8M#0^&nV!qZ8%*w!))CC-}9Z z?M~Pa@h8Ojg08$6?XPl$5(=Pal&ojpo6aV)aKZ{z&PhF$vuQMRrRk0U z-?x$h_LS3xdP-;w3d2*YBbxHWHD%0nh~6o%=j-`={-*ECX>-#CDT`Zv)9E{ixP7Q= z@$A{SYIyTD=x7`>Ca3KU+MnNKhx$K})?L?*?y<9+13l)mKy=NLp2$_zSj7jd8@m<+ zSV7MhPgDDY^EtyyALz=$P$fz|w(RguASx%?_c(lrUUu_*eUULvw34ub)d<_T4~bVp z#o=68Hg-@_>$6DOwE9&hz*1yb(DC>hWx%o=wx3_Om}i(c+tKDr@H>f*+Dh-w*wpk` zb?v72Es4M6V>vntQ~^B@5YQuPU6f?#MGn4@sNb?asvTLK-c&s30DYDXL$$)Zf7u7P_``E?3wzO{5j5SeL_Dc&YPW2>E z%#-qRgAUFOQKhT!An0MfPqKNQP)(0=)|U2K+*5>T(>$IBQsVFAp5f+s@8<5pv6%$D z?7=fcR;Js|x-pW_wnag?979M4+aV4n`7s-S?k*qp7(6F1D%_A&q zK|(U`S4ASnlv|#^5f)>9(7qbJv-8{c%4wHAzCU)<%kWD%&t~K^ZT)oayP`MV?W2L$ zxVa*@!9#ZnC$1}s(I!f1;ZMeO3|+IM=u%C|>g8Ijcxm<;5p(lt3i)5duPz<&a4o-a zJY!@ z$sV}U`V=96dLNn-{%s%IlvoSfj)F^(EhjAmCNfLT5q`DQ&9d`B?`2?DCA-F1e7L1r z0?$j>cR;Ti$M?6**n>`{o+h-SS4AlihpM$76dKp!rl(aiuy9rSqq=Cx3%xQ^K3n7Y zmU9q$%Op|j#>&3)gIa&wW)sB6^i3qb8)u}nf>pLiXOhwf)NW*`W?`NetB{hF77V=xEkY(lBsxz9m2jZb@g>htt?J4oyuk%wFALgOaT-9dQB3s^;A7W zNbG!-Ft1){+?-`%*bQD%v}$S(8wjs6_=o+}hTsE$Nhbqh+ zbs_yXDIk?%u)#PG#&#-Xrk3l>XWJ1Cufdad&3!K;z?q|TWh2IMH^4nuXNrpCh{L9g5^*Q1G^AAFa6S`>{;>CR!{_cfKe(v>#w+4C$;^Z0Pa zg;jw>N+Z{tu}hw5i+5r6>}lmzcV3aWFTADMxmXo0HgVeNLcc_xfFJK!{;*H(FAZ0e zNuuZCA24=dX%gVUb##?2UJ^!mvSHVAtX+2kzs>Qv;`Cmrglm#omIY|?A<}O?+UmL~ zJEUt&9-EMywczTSC4s3d$d!1xn zy8IKH>zn&?Ek)BAH*THIc#YSccJWta=P9}z->k=7E$Xy?z|a|6hnSL`(|3(En=0yw zDE_wmZNcge!_ifQ3&=#@h%PxfnP#eln`0T}x$AOWrbm-i zB2r{_s=O*o^d3*0byMHOrg(DFWZ$c9lxLl^nKX3;<S+u;4uK~v;^%f10%qMijH~AEFP8xzW!|8B%TXmqtWv|Gp6<>k*yVDc zthzwdp=&)gMH3=yZd0dt6phA4qiN_?^YhD)Mia4sFHYatH{=8-a#XQRG3@B5<>loy zz?5`>uutZ0NWLa@-=XhT*$Yvq-?FvT@@(oZFXH@h#_Tv$n#ccmoIo^WwrcM2sB2Oh z6sJ~!I|gUb+Wv?ul)ELM7Ubp(Qb-m%Z6ba^t`(A)7!v-Yzag$$6FH9wO+X;@ySckwMAOp!bo1U;G) zB$Y1Skg7C8fwG6=+^2VBzm&2-2azK)kX;{aqA{BpL?8*Lm@&+gdE}BGz(D_Pr6Ft)Xpotb$wJ zAqHzE2|ICXVF{dSls_AcYwn@9^q0`PkVM_9?%^F`}q*rEkt;)j-~v_{5>iA$-Nhd)%|iyoxA*7XebB$^ap2f(4sD@x==-u zd}e~@OWdWH65SS?-kih`!s+?xdj;7O!9*8?Ko^(p8JjO=Qq6A;K`Hwn=pYyecZn(M?q+bZ7$ z5_3|zAr=Y^09KXFcbT+F<|24hF^aB9e00tPcBrZ_J;E{B+p}#QC8TUvqruhOfLB#0 zc6B-o{aD^LHJDb+#+;Za0Y{h<+S$itcpkw zTHVx`iWDPN9N#nuPS&o4DLB|unramBM}h|)#RdqRoeQ#>(?qtQ8FgxZ+p#L3#iM&MWy>2jd z&W&(EK{_yRilEVwliBXdc`C)ikJn3*pOq7943)FMWvm=Y5Cfu^kPpT8fpC>Z~ zmQX189jH<`bNC;h6jqorXhlyaTb}Jl8hQm+e77xoSkb0A6WKNGn438;HeG$Ds*9h8 zr)#_9G{;c&He(sofSKy@l>X+e#k9iz+hgB$_rY4>p zK;{uAum3quxYwNQRtaV!Za&M79ZJZuo7>i-JFcAoxo(Z0)yd(EvUQj+_5_0({}|qy zQWmM$LI2!+%!y@Q=*SFc&U^h+rF!G+W=2kOk>brF{iQu^GliiwxF_q1GGSk-%ioU6T6Gr*)UE?0|YJNOKd2|>Htzy_xuAZ zJ1t!*LHIagu!LecHLYwF0$W#0Lf{5N{(jvFEHjzafrN_LO#J77n+J8W7U=mB(P}2_3%(p z>tW}7HvQ3`6RXdMdG5oQwstnOo#Mc-m7y-Spwk7OTH4h$zV}zT>S+dqwL()8sum}G zigsey{m%ENp(D2EO}?XLlx18iN-Hq>&@N*a4A!+uInp3VhmNFDUp zQQnp$B{8R@%Tx`vFE@sXkHG8ynF~05aXbkC*FM+1%d+j{tXT{0P3$eVm*5lJk8icF zVhB#xE^)~NDP@+7txmcKKV)t`fMhp(e;WNzOuUX~dLXz&Co)h~y&|uDqsfFI!65kR zZ1*Q!nN`(kU~6OvdLgsP^rkT{E&jwP*;+Mx*n#bar8F^lIZ<5&r+r9!7O4L~HZthy zOIQCQ8Ik-akJibrON=t86BK?&OKAwL)BC;LQC^uHo!A&e$s+0Ayn=abFwb)~wMSq(~w$rY@M_#ZYcX}?`KgYxNY}#(c7Crw~YItui z7~{LOqSk)9wZgIha%yW&npi{)ws> zQy0QH5j9MWnL+=|8hK(+_AuIN-^)=AX^xJr+g*gTc&)XLOp^*_B*k@yup#%^UiM;- z&dpXP`&1884uP`QI3cN$ffJdu#`5*GIZLEG#%Cuj7`?{hf&^_?rbj8hLPPg%=#JW^Hp-+kZx)d-?J6b)D zNAuIco#r#E z&&2!S-59JtQX0QZC&dKjB!wKcso_^unKJ@UE8psEZ1k88t9iWcaamU0nqe!f}uE1{E!E z=yeT4-^q?}qSmA~uT_E>Oey){l6wQyvA3&cFuKw_dSW;)Q-L>}J5sM%%;ib^hjjSD zg$u?8!4GDXPTL}|MD^$93n1=}9B^T>%FOwUJ#fbkd^Cqr zsD$B8H+HSj^v!pEJ&v~cJT|PFG^j*&<{$0t$tqQj#H?nGTq^R9PgLJZa?T@F`RE+J zOTj7EGwdru>oOxD@3eSSvmq!Hra{%38&~>Ml@0U+Zz*mHh772I-0n%S@JyB^$lG*x zcZ+cGCV&mx9R0ALP(H3f(KUBOUcM}Q=>K%DdoF*|J)uF!o$An5{&aH0lXS~Y^3A$x zKM%@#Q`?(gZj*dM;beQHD_Q|F{>COT=ylnoqIrRA2y$C7!v5D8D#l#Bltie zMh713VZ-u_QCPH-CnLR0 z*!b!7CN6Zc&}*3t7oR5^H4lc}m-{3sk6y5s@b$sIfXCpEEC|)^i6kU$P}8UGV!yP% zS2bigcSTP_^IqNEo_BfU#OUZkzY;}cB=;=nXg%`J@xPx!q3`yEn(ukFA z$QCtawLY&UWUHa}FLj-1)-9W`hNO-pV%1SvZ$s5!x-Kz^sWL08Bj?+7I=U9Y%*2!w z#HNpr(MpZoanAgR68d~qGvGCHWvp#v#~%W6$B|Q-lu)+pVT0i|!0#(1ONY`-Hj^J8 z(gkg|l1;RA$3bIcTm!Qfo=6>3V_Y0-Wqe+~eqG%7#adq;qUP7gXIISRC;x?k7ECN9 z70yL_v7-9;`|9q$55=?P6$RhA-iVfKIF3rLlds>wmxN!yhF6@s_MbeVi?f<|&)L#N zHj%$(>e{E7ROjTlkpq`!>zB;m3~+DtUjDH^M|yBLd?>lPwjN{gj7xQb?P3%PV$WS$$phdMMf!Mxo}}QOmSC?VARQEFSM|?P zkMIsVOTsMF67n@Awu(ABJQo?QW5!Hg#Xzr+SoQxF*2L|*L^@_^X2|oa2ZZ^src@cB zXyI$5fluJCs|F6gUcL(Myce42LeXX@7MOei+_zAkVhdu?A4HM!4M3WKyBGPEDb=qY z=AOm3;UBA2PnM`~(Ds0NFN2z@^4gau11nrx4dooKuG~_Rca0UIm}rQbdu^6E43Zx3 zD6-x{ToF}xD?jXhKKK@MQ=!al2B$Hx@>FL1DD`p-`=c*k*xRr_s44G3#AD?L8m@6d z<+`Y?2M#5W(76PQXJ66;UcHH<%r?HBe8jE*T<&g_1RVtIpnKT7`%$eCJsqh%VkB}q z6Sk8bUx?uaR;=|X){!8Q1X1kjWRZ>Cox@dFmMMeAefyxzATdZOU5C z!g=C#5!+He^QZYON~#H4cLH&>&Z)*cY|=n<&cJ6mxmQ?LMB~m^tSWiPk}FgIk|0S< z4>oVlP>zFOnNSKrj~m?F$B{5?sqNdC0Y*E`&qvtV@CH^O89%$AVE1^L*K_$pt-Oat z-C~eajNVJSgdvk}PFt%TbrBEl@^~z~(&fc04Ol{b&44i)ZhB=;Wt*r>;o$aX2YkPT zCb1o&x?C9r;9r}kalID=i{2dnY^swsIvl-D^25^#PRf)(s>Jjfe1kgnyp+!Phq=C? z;VW^*xwC7z^`z)<>G@YG8XdEVgh{B+`(xp)|*s_{1|eL z&b5jOP+;}Wu`$yoTdeEoah;2Q)&hL_$JK@koZT4&Y4l)$PHs^q{dmcBmF#u&YNy2=Sx?dr+ZVnEqvWxm-L zm=17^v*4EkX)*lc_I)1uRfW@@p?x0O6bWPbJCNycN+X8kfY~hI0XW!bn0#xx89~gn z9vRVY0ysGlt}W-(E1WvQ0gD@?u89fEVXUANyFlviTW%-k$ zYo%T@EI&WL$ylvgJ?6*@9et0j&Gc|@r0g8Ko^>f~&KJt9r{j0CMcny8Z?$h~z+@^h zm1_sX?+n!%XXxBi+`z(ncQn}J_X|W|gI!9#m)C<+$%&g#E9uBTnGwUZ zz(LQ1l3_t5-1`Bc8ItH-87dkf4=I3-mZL-9X(FJPz9_(Qlg+lZHA5W;SZ3($b!C0DhpmFQ#a69sOw1&h8g)608JI6AX1nUY z(g`C9V;BJmUVi$ursiKPi2odsM^)k|R(BuYzGKq9|i099@+I!%sPuHSc-w5i5;;4A=Qwr0B_^1QpBvvQiD7vf`WJg5lp8=>8nK$saxr?o#E`A8 zyzZxb(;CNR3vCKPc>~PJnq_fOiGaJ-wqfRIXS)VeCh@|>cvwyz=WG5l5A)j&*F2?D zr!S31u==BSONy#P0`Z#ui5KBc3FGo;;-LIWdtP1}knPJ`c64;|(v02_=F`pQr9}We zx}KY-o!@A~M@z&!Ge29@6y7N*stkj+@Jq|7J@Ixd8Zd9z%Io-=`o)ZIaA<%L7=(=LFn8P7xH5jcba;Pt*=(Xr zxV~6UO2h^?>DUl7EFPKvQ<=E@H*z7K5RT&P@>l&yC3EVqqZA|4#3=;?FP)~vZulnW zebXI?BhnLEE9Ov=nQyt0>-Y*fJJxsmFi~#HSJ47?={RdpvQuH7~=*i1FS+) zHQ57*slLr!iN3dC*bl=RHn*De^W=j{WWf9(8-1_)cH#N#0t`~MsQobF=0#jaMTKOK z`yI9d&-E1$4nZ-^R06o zB^9(6wZ;zm?gjJHO^-bUE=LhlXH2Qu9K*y-O4SU%oUO&&i@2^C2xxVsbb~a+{839; z3qGneBkriV0t`Iw`<-c%f9ta$b)|>v71ZN8+~y5b9MoLbzC2NXH(RUpVaqEl>8Ryh z0Q@*ccFt$RVGGSSP;96%6H=hCKeeuKpmMhV^ict9Ys_vlv6QDZctGJe!2f{XI#*Tb z8q)uKtP~%|2GI?7R%uMHiIEjQ5s2vU>O%Sip;GA;n&(@S!B-xBOX5McJn2R5rG) z&p~IT);9BbRT;c!Figb4IL)T3{3$GkGyK2OfqOsv#m}q-F8{8n`}SybdT^QSfy?6E zsJSo6MNPNPop_~d?@@g{$O!1C2MQzwr2a0z0$7|(T?e?`6A~~2GH*GSDOh}&1Lfkg zh`WZlFQ86(gGlV?z_i0SKc&g}+z4sunCSjd5o-)|uV(~!=`?MmZ|-z-t8AiJ7lnZ@ zA&X>ww4YOHc~8Lb)9pqJK1)iJ(0N;4g3ZyD#Ip14DM2aD@G5sFj{az3?4VF^t@GI@VtZ`CU9fJbEk;!DqU$@W<;atxVe`s!8<=o>ktTEHT>+N}ins;;E@e|l*3Vyeza zekPXT%q@!NVtwhlYoG@~6@fs6ZGu@D?)J2^cCF6PudcSewZn-)VYOV`mfR6dS=_% zP$v!`JX8m_rARvll9P;j6o5qJq~YAVY|rtHeB z&z_wZh3Oc`eXSzzvJBkh8zGh}G)oC1Q_`rcJJ73hewgZE_6x?wxqyafa(BPz<_0t- znNq;&3&*hkGNubwXZ)2;Of8@IG7MX>fycorIp?Y*<-EMcx!lM6z-anPqoUi@jh)yl zw`BK@#-nt}pS^#mY)jnmy)yrzX+G!#9~GIsuKWSf^{My*NfKRDKvU^Cf3AJBXGHHW z(ZO5BtMAO34}V+$JnW%m)Wt=lEfMQmIzvnn{=81YYCpWUZmS2T7_n-SU;itfUHb3I z6*|iQaaH-dh7p^RT11QAcFa(m{fkDI14)&;B2Y`2jl$nWh@EiBRF`C9jt2YZgMAz| zd7yb?&IWt)qLFKV4hEpfjZ?E=?tWI)(gvX>~{HuQ@Ou#h~9mIcR znRoxLDWY*NF)$BJg8PavXsZOjlZw}cgpZK^{$(PO>z4hkzC2HbAi<3;&pcZ_6R{h_ zI6UACcy6lyp13nu=Z%VfxHT4a;nTPH>9x)KJ1T$RcEi<=gP$-t=NTs2NJI|ZQCoO6 zh}y7!^9CLAZRROi^#sAD$(&GQj4Bi%zfUEYS0jECG?GCFFfn;{P%&mm){oF;gB#W4 zOb@<5PJWf;`(4LvVfYGchHt;18&*}&Nlmq?K4oX9Tyf6#N%0ZQo_DR3nK?c(|8YD$ z2B&}LC9 zyEab`7>f!7#XTe@P$y(35h*<>DbI*y=|5!e?`7xZdZ{Lg&pSBV1JAfHO1!m<9pP(_ z$-E>`8)>qT8=ik|uC+xhL;p5dtd8(`#oo$_xi?P6v-9B_^4KI=GE$*uJdBL1r;$3O~%=a;_ z8cA1aGZ9E*7dbp{s`g>u>i}RhH8iZBK=9AmhH1R?%anF!<@BR6T7wYXjM7`ETpW{HXzZn!jKJ3Go*ArjIY19%eLFHL{J2{d}S+mw`1%F;Tr5I26~F zy7;A4Sy`>TNqu@@BPsuMQMWKJzXoY8rGenqcScTINx{N$diR8;;e~Yg*6u`&uKV$x zsLr%02unj+R4x(@tu=hXdj_ZgnzX8Q$KQ(CZ;r*5G?R7|pPm>Sfubb`_x(|c-YfSQ zk_J3Z@38vKUETttdI)VnaOaQJAiWCp(9Bj{W&#meQye~wHv53Ppu1V3&P7DXqBUK~ zg4{FH>4jz4@BQ>RSGavjWNpW-D3H; zMAZ!is4CE-pa{0);Mysr$MmP}n(y9WXWk_C*u?~<68EYDD?^DMq2z|?*OZd%dxOUI z{;nnvF{8fT;~Inwl*4X1I94@uxsiNY%hZ?bnRv;uNbB98u3l6#`>dgtD1m=Ww+f7f z*GNB9Ba^*HU}YlVRmOC7GN^R{#*4)EG@1J%gNK>DmRPr=#e$CamB6^|2=D&zd6s_Hv$#3;(qU6}rKDLF-u0?n2aSnXN=Ej`cn z+zkjtn;dr_+wpTa>56aKj3s3N?@*v|ygdA)Vyo~>8uzG~AK41O3UukT{!JNqpw+*Y zkqblExd-orV+QqE5-qenir2>4%DVGT?p}o97(EpY5~#*|89N9oGw<|4Mea3;tt3kX z|HMnZGjpf$ha*;b`#zx6klp{LZ$6~2(Do%~c_zJhv?(=1^~Id}ZM0J7CHdF4?&H>_ zqo%ZlG^ytuDDrug*^pOw&!bm(z^gek)~_X-kr5t|wibk9`~eS^oT^4=Bd0KyJaBY! zh_x=IWu)CYplDbgww}I!@t)LqC3_QF@g+@pa84>($q#HbxqI=@%m98)#1`xn@ZN{6M8a{RBbeesZ6e{K=`I=Wg(RALzgX z0wXWIziJOpD^PvSEMuB`+YY`?vJawLOadTE?ROEl&~DF5zCImN>#(t>u67 zuvfQQgEF6{AH1Zi$~ITjMSaetmaQxwi1P`jVS-cKyfspnDLHK1XiT?;Cz!4>R2-O; zsj}>Kes|#u0xr-fs`I)>KH+=<7w_z!!C(HkA)WZvFN|^Do$pYF~-bmsZ`vX*m@IN|iQna6zl4qMVZT zb2#GCF}s&L7B+T4#n=8n9zenP2mjHy$0E3~KB!MxhbGz6GwKTJ zzcbX16M!%A`h&YNu}O7;<`{956ysk|oSD%^opX_rW1=JY`sU|#=&>dbC^uMHD)r1w zZea$~6w(9_Aj%Dys3`@!l4HfV)*{jdY^fYwi&E@46_uMv_MECB#K2v8H#{kNW^#2k z6c2%#S;)_nC0HWeF9h$z$>DWEu(B&Q)o8DhmQM+$_;Q78+aCCTxp97XrP63iS`mZwV>T0M?K@q?P} zqmE?#+KuBXEVvv5OQ1FNw6q0VG+l1+{&1AOA`>t@O7^(z>-LB@eXppqKUOr>*Jqw_8L1c z>x%D_io3HKnDU~;7rtYwo-d%cJ$BEt#uD{w-WdC(yn*nSIP66Vp?_A14~I0Bx2h`e zox#i4Xc!n=^I9yo4&^Mk12&n)xiKNZj|>W`-7(vIkE)7UjNP!+*JV;$ z@z5&(3y0#{s@+uB#k*-8c2+PeA=I5Fs`5cq-xpS6+lypUTr_9h;xR#oP6&JI$4;Y% zZfx)MWRHjV6awG{)8hDuNkuY84OxC;TXlWtGc%q)N5cGFl4rvF;hS#ZY;{>c%v| zvc*K-OTW0Q1*?@ge7ernRSFTOLh;9!Jab6^3xMK6a3=o+%!&rQ}PIia_h&; zOAqc68{M}m=XN${eVra-)@u{-8zrmRx3)Y)W)A_7ibmhRt;{#gSzvplHqRJqBD-mp zK>H)RC-CSP$`jE_UZ&!g#bz6=7Z0Q{tw=bq^j?G z`g$&WMe?K~oUEDV+wABkC_)dj-renI4_s)L2-kg^8~c&Eo3>i#GnG2_@Drtmof_=O zikB=!hV>Ldw>L!m=Lc_2?iCdk&B&G~D+(S2$iAWyw6riy!9}l0I;8`r}l$F zO8@rtxAlY+(MTI|c>qPlq}K|NktkpwNU0XU9JAlJSr~$9g9Q}orl&_&)2&e;jwQ0% zi{_rQ%S;*|m{G|85w@>1Hz}S}RkO3ZHNG?03@4&^WXtzSa_qgKB5Y8~@;1iw4+D_d zOar!sSd?vDseEilUc^eVH>lk3|OC^L>mm$A^raTGN-tx=W3YyCw zL9X)LuXpnDXXG@@6P5DbAtT<9jxN8hz=a<*rDve6!8gownQ28p$O8E3UdO27cB&Br z+?T)=60%o%e^n}!F>-f%9TXHq1+!p~Fl!I{C(`Q1%Jodoh>25I^YFCJRGJ}1LIdM= z)84D5fX%o%@y;(?R93zLTaI2-NAJhQ$IrCy6P=-TMB97{7&^t{@XF29Pi|Zz=#pJX z^@%FC%I4oc1kKdYuP!YqZiMeQwe?{EXx~wL_K*z;T~joxzo+lJXq(WB z(jHSb?uq1eJJN{J922~;uePd5og%Q#`Jp}*jOfSDjzuiKYwZbOO$G)APEJl}<1FWD zb^{5lNB)_wNZKQ)@k4^IwgCT#P;yjq{3}=hP?7CpK<+5PvAyF9-*mJvZ){<*sQg9V zdlW8up5a(xbVQ`YUz@S2p+g{c4&7#@VmdeTHFxLHYJX*AB^5*O;GiRSs>M`EQySHu zTLSK%km`Rx`vDe|j)3V6Q{K2)c>4z>(Js8)+%)$p?*~&D4P7fuQ?^Nf)~I^K_Pt{} zojc{4q-Nk~>DDlZw^C1%Da3q0_Xs~srkU(bzIGI-IkFlgjwYGRZqXS`m{!rSVajTM zsR=-XjAHwItkJ=KkO|nYf!M^4ej!b}{y6uR+tWwpRUu(cGty_v?)#ATl-5#i;C1kE zH}s!dl~0!?8)%Bg=g*P|-!L|xXoj_uYX*g$6=*Rw)iretcnW+$v|G)&rfsg|cNX{H zFb6fOALTAx4-wIp_MS4XEy_1`QhHqU>k#uWKKYPrx_HwR)a_vd3SQbQzq3~99_2qy zr3hF<1$H@LXXr4D6m@r8IMY`sGZ-E+mQ}6WYI~PH%y{u=>Scamt8Q^#ag75zTNM%| zq&6O7=odC*@4CF|GX%levZAzCD`)CSRK|z7xf98N&cuj$4eLym5{o zRYO+T3PK}8)6;QZvDWK-h9(MNCS*qIDG)TJ8?+vkeKo5@-lKznCVqS_(Q$LX%1VT+ zITBcF8*sbUm>fuAnvIwk8f`fUZUqh#@i@rTAy%nbSX#uNdLHa0iqn=wRqpBB9L3zl z3KVgXT+C~(Kuh>G8>c|VyQwwRklgTdPih7tz>>Y!x_;~T%;ae!J$>_X(zBq6jYI#g zI39E72`oH{QjoLcw4C-HkRExv+A=Ge5$&Rb5>} z$-EX9h*~Vne&3N`za!Y07`9?$r(AsY`^-S>?cEu^8~#?ob7gu_L~;hOsI7+xKzK)9 zJMO(SG7O_1H}oT0l=ok^=n3$*-&-`b+7lSg6<`Wj9Lb(QwD{~{D{@2{qIdaYHiaHw zIqg+kC_$E7Cib+~RmG&7qLmn~2`kuHX=RVpS7y8_ z|7J>0Et^A`&Y)reB4gHlxCv5T+Y(wpYTy^Iio-zS=fb}*Y;$9F-raT5xT6_oSr{?N z<>z!ei78ihw3?hPU1~C0u+Qe>d&cd4baAb<;JH%Re6@>2Sm+R?P~yywHML-^;T|I= zV7vTnPHb4b_tbc<3k`uIG1TqdV*dFwv&|2ERf8GiIjv+Xi#QWeq@lDELeElncE^oS zY@MdtGsnxq*ka!!#KBPkL!iB&2YUyXcZpql$BH(BZMwx_l)pX zckStvgOM!P!5b3+&SV3P+OF3mt%=sd*9Hx-mG=9oY6~Q1OXS|j{SI)g3RLxr=V{3q z`{C@)D^2HECnU`-DYNq$HH!uWwzta*-;9v>33>5C7a_*0EH*jRrE)AF>fm6bDBV+U{)4u)z`3lz_JKr=d$6>ZvxzQw zxjwY&I$bNH)Z>^yrxIs|HN3W_j)InS{kb`uT0`{nFC?@!gslrt1i*};yZ8ej7yW^`yB}G zbmSH9eGy>_&q=k-?AIambC)~)S9*sQ6rGo??faeuUtcmX&Ymrxt^f`E;97Q1Fl=Srh(6tAC zP~l9K-t?(hvzRk_I5m4i`xcC#Hdh==OsDQk0?T(+&gou`az9n{y)RB~%2MWB*oZ^C z&fI0!TO3^71MO{Yy8;QWWX@1S`!qVUhwCHGg$FHElC7(Xg75F9%PSLI)z-c5#Y-#n z0wEhqmJo_vhpC2^%lIWPe8NHPG_DbMuh*0t70OFT)i>aoEUE@CP~G^8dcB2R9cK6j zcjJ1&SQ)(gwTOygPnYkW-&aVOR72PoIhO?{s5%j(jTh@r5nK=7u9td`JKpHXqD%_9 zTi@@?28squ|JaP+OM89`(di}dDBUH&XxhI_-M{IX?*3B5I~s2QnTf4+8>|=+OI_@- zcV(oyISTZ};&z>1IdmB|UMpojalC#e_9hNIUkbJ?HEFAa^5z3`*2a%6l{qb# zFOYb&+*?9}k65SR()XT|>fcyD}Gxd`}@6<4|^&oyBuL@cennm-1%mG+RNXHEmS(-y3rfF-0cmstybu15oNBx zV_&e!G;D@iNRN82TkPCrwkIv?ZVPA9Z|@ZEFFsFvO)k=T6LujhMF%?U`NV%;$U)Gx zlsBmD-W@o9+;Y2{tAaC-z~C<3Ds9%Z5Pt@Eg3Vv6GF!hypaqD@H)y1LrjoI;vhwlW z22;${ST+0%Bq(u=K+GD{12+yfM*;*GxB8HF^PQa(+%cwqsk}Cf#-)_>x(V;yIJ zdX%1qo@=r!)9w@A)m76$Q>y7+OAy97lu3cWyZ2U2t$gtNCVC&(#yyG)YIYdri2a(H z9bwj~wjS(-*@|vbXr*HGdExsea(MQ--QMDEHFC4elBN5j_wOPsEI$hMtZbp;#7_?( zsxZZJQWzNlNRW~FxQ%&C``&JT0egLG9oOu3YkNm{@=-%)RVZjr9IDOs0$W3{1TnWi zH$`1VGGs!TmL!Gescsw+UBa~P`A_uSoCf4t-ZD~}+WRwy^aCfPt8O>q`KrAf(}?X` z*=Ky1Zv32am0M}P)ex$yq3&3_O`p9xsLa)n15)5*ktR4hm9yGUxn*Gbevwg=fgE_Ic*is-s8LIWgaeY=fE!N+v4JSZR(h*ojWf2DoRiM z+0~;3&xd;K4p*qDPl>{%z%^dr6`vr&-lIqUf z*XZk};%xeMh^5lv-f#H#gXwfhoKiKftw3HS)2z2Dwscq*Ro;G9#nf53CaOc)=+=O@ z@H-YzdAU}U@pg)wZ%ZHZ(s1L%Emhfz9yoggWE_O1Okv%4&?z9(LZz&UXBOGUA5V+N zYHEgCXh$HW9D;k~=BJ>vy~?wuXwhr`wRM#-9*&68naR+ObKqSBE7!-j|5W(w(lBiL zlu_vo;5`vZQE-hK(lRJ?>8nZwcKCkKrNbq|x5CN7IzSZkHIMyC%%3munGN3eh%0^t zRl2zx^ED2@`cOW3TW8sJ4VUv735gCqe?P`~=?ZEqx>t}qi8F71UAs@qX;-$ArztzW zS~M`owpevKJSpvR{^5Q8H3pUFqoO%o+8z%2VJY-ij}hP(I`Eb0@VP*lV)?fiNQ>Ui zMe4=F%&QxL_1A%v#h-h@lkayblC}rhuUJ9KtA-353+E$&fS=#r5#pLy*Mha}JvuCt z_Lv4+`4X#%XQiP!5t3t+NGW#d(kW0LqAQxYjJGW?Gf{0mzPrT0i2L}o-v_bueEhib zv$HVxTnb2oWjq&K5_l8qf`_+5l2m8jwmn01agu&9t^KNX5BfF$)V-9tM2DTom1ESV zd#-E9o9)GQpHpPyrWc4w!5Z6SY6&p*$2jASu0yw~KTk(^NMs7FAkcAN%;-AovOp%@ zCN!Hw5}F;HE;N&3nth_va0MxokGxR};x0aV*FT6Z4Di~26RfZCL4?#;u_mI;>Ciyx zUPH_9cov?&LdzI=k@n@Kc7RDOwI`~_Dz<%KqYqgF^M;*HO5R&VZhE#|!t`a`J6Pf2 zoTP}XhJ`^^HvwDR-n1NVO15F~el>&DGb*Lcy~XOTjsI1< zP!uCwBR=aRQNR7$upEB;fLEre$yEkv4Cr_U~?p`H%Vhhmtn9_@SDE1r825to(%)&WWFx7|VS? z>1Wt9QGu1WYj4zqe9kF}>T;il;R$~AHciV19JYb}H=fEK6;@5zcEbsQIp{5>py^On zODY6_ugSDJ%n|W}c;<{w8E5bgI@iz-`v{fB>@tC;&*+`D*=C-t3fTc+lu++alpz!3 zuIj1u48t$dgs7=r#G)D}yXI6zCPh9oW8xt^BMah!+G!E4V4}kd`p)ogH^QL+w2s1= z^{826q%XOrr%1Gn)vI?xmX!4;3+4wh6uKAhFQAvLipIg8P1)gxCh*yaI zDapzM77+zdQEPq-v`za#$kpZ|o68;a(AoP^(&l}Oc`>y@f@^N;m&WmA`;ws--K$9a zKqd5>=nzy?^vwz>wUu>RRw^o1Zrq*p=A1N%nQ`Mp`;(}U{Z0)WS}!eBvd+b}r_LQypB+GR8hED-x)j zT%M`BLR4Ec@S!FK(a#gJDPI@dnA)h+8t9Rwo#?OI1#jTFKs6+)g1x9#cQ(eaV)z)8 z%d2uQ-c!)F+*S?2Q)lj{BN2SJN7wR|4DPm1uc(2V;}xxQHkT{@S{k^ro6p4mP4b?m z%@Ag_zRcYf4|~a=_@2Dx;RNtW6arDqR-$|OTwP2f0!$%YHuF#Cw@79y_u;jmpFD(vqIO9`(zKFai~kVGkGkz&$+HIKI?TO9hGen}_q-bwivZ zpyi#5_o%5}uC4SI_9B;85Dmcyaye znIo4Um8{IHqv&0#Ry+aMxTjOs`X^vt(UhLD-VoN85o}#=EW+^qHit*Y81o9vIzHB; zF}tzKc;5n?8pcDwfR-2OyVtcKZ{})dHV9G@l|#Oox6(FSLnO$`I)fx-maA781+nPA z8qsbU-z1o0gMwUz!u9=fJ6Y|B8UBgHXTb0mi4P?uWx%7>GTk`e47DKyyt67c?#{lW z`gj@P74Rhv8uw99UGe=A%B9RGL8zUBvTLsoUJpXM2suLjvVA!xX5g zTt7EuoGeNBFPmvs!g<)i0*Z9Pg1Ist7e5oxET$G>9c$c~*za5<-!WO;RysaUv&jE+ z>b>kHHe0r6e1BG>-}HqS?r6H#RqAyfG<)5&TkmIybm#dDyb*t|0u^tR+8(phou3fH z0ujM}qm3T}%ZPIys7}^3Z7th`g}aaB>PqcAx#b4B{1nM*NTtP7XL$oF;G9pclek^4KnRylg8VdXpHm0dCX8#qB!)4tE*AYIXw$wGsX$T?37Cx7k?FZ6AHQ}RigGrE(`%&K6r!Us+LDNmQ4Q*n}X zAafPDiApP_HfGZ5MV%cqJ=`o)?s0jvv$OMA(jEj#m06#ywkX{sL<1-+Y1v(lHh9E_ z*Q}?@e8shK1iOMu7t8G?%Fg{1ba1CL1|c)e?8}>+?_t77bcjwA*4 z98Y$~l*SA--G`*3>;>$|w+Sj0bm3H)_f7U+lJB+ng{Xi(0^juSNaz2ep8Y%bDl9U+CR4~!(%8#+ zCiX|}s0)@mV!v#6S;>-f-%$dvH>h09`b&|=aKZS7wb}r-Z#vcJGn)wtI5(LW( z7*)JuJXTpOj4SY;ZUCY?@n<;jKpY&zhQEgrZfbHmS@+WWc~|ZQI~IJ{ml6mi)%{Mt zz+D?z53C?B(k3H^Gk)saXPB8Q?4^!G{tJHOgt8w15pjOdBTBl7Kj@t$(GV=tdOM+C z{L3ByoU;jq8>Zwmux|J!{C9S(zmxF)oBl|0MZ~XC52Ivwpi0Pggq=T%od28lHj=5E zyVD5B=mK?min1R?UNPuIB_%}CFc`w#`vg=3l;HhmobAT%9-$?LDor}lvNF=+h6#_K z)b}nCe(pHA>Lppm3wf{J#Cd5vzI#MN{vr&yp6hGP35)_)^fxtQ#i!`xwXdic!Ypx{ zR5wI79WQW`)aQtSMK}nVY=Xn)K z!YZEx*cf31xh=6s{N2zs&5PH%D5(HBctOM0kJ+*RdZQWKD-PGx>a{s5(C5|a#wHwe zJp_LhEk>7~NgctPrpnVPjs?HVmMpVML!LXj<*(|%3^l~0$el13bIUF#!wxG{}VEnl;7b_r&n#SBRalNR7!(Px%siT37ZM z#yvm&dWrqt%!<8UGlxVj(WWvc9ALY(G&Qxg6`s&=`@x-oIi6Kcfob}5IhySm-mk(+ zI-2?_)tmkormztNGPFd0&)@@->(}*5^)*9>0l;?ueqx>h$ndzZF?>yfWzRnr%EZ)Z$e!|hmjHFSUo~SOEEwEY zTU?P5ipe=)-T7Z0#Ef+q%(A6YQht5^%CxGUOZZ^TiL^i2%mLr$BPsBNvd5jzowxHB z*N3ZR>=J=_``|%BVnQVuhr!|9GTqS*%+S%#t2}%lpMhOj(V^(YTcviHya%auxh)vz zyo!0XR-#~kF`+33JnLH{CeRC-vE^qa*R*>}Dd}%kd8+!6gZCS3Vq9w+k3w%s<1N+g z?hbf@WYKeY2{-VghMJb_4*c)V8uo9@(FH<)ha7h*P(7e~mg#y7w^U;se*5NRv$b|< z7Y_$V@SjpM0Rh>A>h9|c?3>fASw0pHG?{R%&HNcQOk{b2$x3BrVt5_c z1pBu!XkDK}5F3#ez3x-kj`=~&^{dtvOFw}mlfZGZiPc5Q`2q8Ilk>b8&wc-jC(Rx% zkPPe(dJFeaL=c(qaz-}%v4qG`oXt|hJJq*Wp+!=u0QXNk!)?&S`C|Tb!#uVh*8MlM@MUI1fqP&_mF-T7LikdwCNwY#QXK`lf^m{ zO&>@ZfRWsW1MFLfhUlHv`9k7l>s-r?u-UVCzo#1e)d89|Bu|7_*$UP$oUQGspUn!?!lVx1@zo`{n^PW+(-zM%_t|eB9riW^ZlI=JKzgu2 z$a&|5LG_j0Y>H#21~ThVqw~RF+Rvh!FlX-IkXJ37wv9G{AN<&zwd~62$2@m_{H&B$ z23(Rox*3Oy)K>;!YxPnJUPHM^7{puxMIG=pvs3BZj>6WfBzvy4t5iYYA)=axQ;gx7 z+J|73ni|BK`G#^`g>rs-AlYbw%s%t=lgEhsQZ65y#URIe@cJ{KN6hQSptZNdxwoum z1i0IBncsW&sp~Am>Wc23dT&1K)>6N)Ntuo-%8*!|f z5b~c4HF(O4-mSUsSCw9$43r-;yXx%URB6zPB{Zjc@1bPGm<@r7_AiF-?@hp;`gfBD zXPYr1h|#U*V+k$=oArfmZ$}5_=cTN4UCM{30P9kA!Mu$P9HQ_yxB2aIY;K9!Q)_(1|4AbKJR=9l}7zNV|qk zmn%fg`})o&Hj9cVwAL5hVMKVnG%>8xSsVh1IxDmmgjCXt@^9b$=y0V7e~E^4on`;L zSv!HkbIpENJbqhMwoKqPfilgI{Z~?^Sjf>D6b=i@+1@wc^R4$%iu)zW+q()M*$AR- zW%Qey+{L}-o+3dc^`?aU=Va}p)LT3CM%&G|CKwTy<2=ezoH0?AByRlDhTLOI9CU`p zn|t$AeLpbU-N5Up5cYK@@Bs}}Y^DC|y!6I&+-y%V?O9LM^^Sz%{ZLHc9%82-Fpay0iv|Ye zUVp2)8ldxZaM4Y857f|o<7IMq^i4l&nAvEP%r8EzEbsf(+DyDwvQgit*wuBAe7?QT z9ReO6F5#F_Vnr7cyWtwN2ko{s5&z0S=r)5?tAxvW5{|6-<%B^*fK1xXu%_!VP0TZs z3pOUEQcfXDQ`?uBgf3eo@4nt^dOOS%U?)!f$Q2DZF2ZU8bG3a-JQgYl@&{VmECp=q zsxEkIr^!Ivz*|IFR1_9X;8-Zy-zMJQBO$^EHjRY0w5F`e^Nn6wC0;dew1L2YMgy4; z?HY9H&(J_o8pTt*jff3tgl+4-!Ja-XGwmqwMNaIMOv>Y}Nz2BSLVNy7WiQ8-E~Qac zlC+)ld>NWlK0q0%XvSgP4HTXSHM%7tm|7dy>*v7PB>7}mQh}WSiY)?yxCs+ZtPc}DQ~;tH9_o*ZhcTT^_DXR+_~#br>{`{Sy{y=Cf4|Hk{1v+H$(F$hL@ zW4vSS%G_#A&xZ}m;mc+)$^EOS&8$}W`jN|oY{oU`#FmMZlZH;PHhtcXMP7%M#K}%ykvw>~1^} zvO@DrrHGM%;S=FDr-!}msPa!%<;C*VA+YDZbK_LIA3y~C&GDUys$O3-KgyXTwNitL zPOfURhpUs*SqB9K0+GoD?ao#MGvecR7`s9CF1owSQcxNz3XxHy_(wIDQG_b(8^5t%q(WDSuEN4u<$NNvlxL64u1TJubVlumi1Z%X_|DD zrt7h@@&X5iQJQomqh8b)9^t)%kOR4IINSi2zM?Zgs!#o|HxR6t7;?RLfaA&}mi4pw z$0sLcn=q6k4n2=x8=-e2kGGO6?2m?%I>>fm?CkhqxgM@v0WNg-Q@=>9Va3=#+*pCixr2iP z#X^`vjRN>R)%Xz6Ea~yC^$#SEnz7gp6WFD5KR=-!dyHRfjgHv}(dvN>MF|H$v2AE* zC{-Q&ANty@kI=Z=rF9y1bIJuoUyZUg{Q*YwI?A=}B8ygLlxYSkW&c?bA>BHDG~vrQ zOg}3Vn!`oi4i^<_boInr_EJ$D_D!mdIOHQwNiK_W-G9i7NWEfAI%@h{okTtPWY&y5 zwNL3iOs}YXL%*k&OhTq`v}>ijcX-Ot^T#;gADg}rv^h~%L6)Q zl<_Q51~d$b-*dBWi0KcRoqwop|D&Ste;M%j4o}d&tLK`N+D#)c;TARMCwTp1i`xn2346}ZYvI))V_xuvBgDKecI!4ah z3ipgK{*tr&O8Ra9kUZ@9wDI%LSit{P)NthbXQY+iW`$9dx94dP&zy{8o8})loqyUz z!X$hG-|GxR-s!P%^U{3X)ISto%m_mbWW8e5kFg>mcw%vN^(LlxyhAK7(=(&0*D3#V zU{KYIt6u_Vh2u}m4yWH+wt`>*udmsk?S5K1D5`D%5@-Iuq%D7`a&pU+Vv~ypGrGWp z`|z7&?mP*J!suQ8)_}+PtAB_f3Y!0tJoHELiHV+MvV3}~c1a5gxKyATVY>L~?R_?* za|&S2flF7s?|PEe{cfs_POlmF4+Oa4zX_ZE7gl7A*z~F6RaEn$cJYyV^w?+BUr#P` z$j+9`SX?YSlE?4udAfT41dzbH_=pwub$xAh6FlX|_bThR)l)4H6%#hl){Z-38ROvP zt$pqH?N8w~vi~el_y2z05Ar@jGgI44DvzIafW!Q)9~f7{CY0l}lTFD7+N-{C?LZPm z5?eN4GA4c!ya)$3G?V2y4jz<+MLE6>B7sr*ESFA^w9hnMKNdGqcH>F7ix_ zPRH~xe~D{QJxug@M0c(#g;e>PIu#6J@4^DEI zH$rhe(E8DDv}w}V1h9{(x(NJ9oBo?zF1Zxy28 zn2!A4ITxllA%Bo7#J#s4ty9ib!-7dZ*7RqmYqHU7tVPbopYzHp0QrEJFCVk(fK#M8 zFap>yzz9@p+5aJ)2#7)@>-^$hP>p;m1%ja^dCgq|pn0 zGsXQ&7HM_+Rdtm=K=S~Sl6mEQ+_z5KeDF(Y5*Fx((KAp9#Oo|RVqZY7=C(jd5YW&}6hzbmKK6>E=CrDh@U>!yJ^~ z^dO@dqgB*t({7$5oCrI!tBsGMp*O{RK$0;bF3C*+vUr2rfO2w6v#? zWF9uK{|R~f-Im{awt$XliQvN!RE%sRL-XgQrxtsqmmx}Rgztq+(C=5~NVMPIU`Ckx zyJ)h`@Lif}zM|Qtoa;7~%9`k?jwuPT$g2Ouz`kj9w=B-UV7&3FJsPH)44jZj<6 zk(Z(9mksx)I@jVn6Pl(lhhj}U$z{=PW^DVbjr=6~qIBm&m+`=%H_V0o!aU&*`C z@H}HBdvS#bpZfaouVqg62Go=>(GiF!DpLI5fy$I=y|shxYs#D|IraJzSC}Qn!|Uxy z0D(OL8%~Wcu9Fs@tD=o@78;sUv028?GPT zBQ9ThSJK=;xRI2RQPLG}lYlr41Wx_WT+jbs*7WgXwy#Fn7G2ur<7oOc$;S9&)thRG zu%%o^KDZmmE}b5gGhwm;3{am#qFZr7iERE5BR)&D0ppv^L=eUc(*Q04BEruRO`&1_ z*^2B$$Ppc)h(WL;i>`Rm9NMm_p$i)hUO4gtTd+tF8M7HVOHv=Zyvu9$GZuc9*s+{= zK-c#n?kjvLN&^YcU+(dPDe6aPQ_L}0Yn}0Fg?0)4g?+k(^VNkl-vz(^+C0mIDgCej z4GJeEb*f22A(%jDYDOZ*8*G)SI0<_9Bwp4Q*F|Wk^^*2?h>5KGh@yN$)AU?f!(ck0 zl73mNqEh?|wa`qgBZx*)DgYo#pmI$ID;bI4#Jr1bd)JbiRh_-?ypc1Qg7D<>#+UIR zz~LYALNA(mj~$JoE4?CU6D~CP{k5=tLF>~?Kx^x2ge^q0v=UdxQcLq)u1kV#$9MMp zr~o-8iO`ygtpb*0KwuMYap(-kq#N}!O>G*WcdBDqkhE*nyj60T%4@5o!40sewWR_K zxAW90u3+oiz#nhStvC|sM5&)X7WXx+N{B9f1_K-`o#|?{M{q+KOSX~<@TsdBT(!$F zvYO1rtjag6ocHz){84e-%iGDdol;;Bv%Ow+Y>}8=)5jwSK=8GXN0U|NzKR?x zGMze#8;0f;FubWFaIU$gs7z7w<1{GvQ|2_5y%VN#s%d>1gNh^eS!=`6IoBnyWV-)N zV+>M>v*g`j9HNGjR#@jYdXklKR;y{GZ(2=`ar_a50bPM>$)w(gMWf<{?a2EVXKY~{ z!vp}eiFt5n^c19lV&^rZ<1}5Dtx5Y(piD0SA)nluQCQkRi=dEGQ?WQ_`_9ueF3cbT z>OIp^`ut_*EMB4uXR_JUX>Xn$NhCyKS5!wssF3PqLXmOSP4)ik>RQ*eMWt`LjHNW} zZmFke1_E5La{sp3t@WB01kX$Th#H*Pbp{~$hTWiEP2@EqMlf(T2knS%W6A-!KtE>G*{)YW-RKE2gk;c@+ORSShfV*#MREDZ!_Y*&I3Qo8Q0iE~+~ zv5y_u?|wv4QV6Q!TNborGSGWZ-HoWoYp7^zsu?_P&`9DADU=Y3{(1su>*|Z1+^&B> zS+I^M8MT0WQfIP3LV>{TB!HJ!P{>lXW4#kw1m-c9vN}bxrclZvM8Nd3PQO_&EsF=^ z^3pSC1PmIp*ZG2W9E_^CcXG2<2RlqH=^y8g|3`CwugQT6UOJSI5~5HpsC7 zl2*C0Vn{QyE?s^>eqIUkuB9!eIk1WnIOLG)7P=(FJ{K>nLo5T-thGv++)}~>wosD@ z!4u#&)fo#7a~?l8Z7zXD`4>@7zgMaKCXpf#K4 z@V+D`5Xyw)SKXL1Mr_NzyK^FmSUI@I^n{ha#W=SWCj#U(H4>@PL+IJoB$m!Kv(8G`JOf0{nK%Y%eyMXYF7S}inrmzXpfivV#)l7Sw|-nV zf2US8M7vV&uWM_m8UNHFsAReafdA0dCG);(r5OlG;O*)tdwN+oHB;8mZtA3{I2+&^ zJsfmn5X0M_DTi*$V?0CqF1pKa;b$b_K0R~tswsvR>?rd6>4}3&U!f!+j`xQCb>nDC z-OonOediv=sWy6hBDDnek(W!k>VFB-egK4NgDc4qxHUAaz(&=K+=4zIhqt#(o!w2E zvlRll6lWd{U3JMoNTs5aTeoN^Om2DST8hHQDxL*NC!TAnJv|FufCk+Xw-{E=(Gz*; zsItuj)9LqY6Z9KR&+Y9nDJcW=Da5f6Un;YjvOvnuIkX!9Bhat=L>iGgh`fn7Vm1sa zQFV;6l&a^QOQlLCh9Byc(PRC%o|jdI4zS8IO4}dmvA^#)hMqR$xgK(DTW6OhVZ{l3 zp{#8Bu6Iu~qT>Y*iqta`R(ubvm zkc`viji+47%k$$i`c>1x5`ZGD1ySd&yD>haht)pRhtY3aFFdgD?f;?dt)tr7-e}RD zQvr$3GQ+z#jUtQakt=33BjefyGsHDxA4;QyT5nuxMRFG?%n_G zjAXB@z1G@me{;@ne(?6ypaj#fF}g*JzqI#9@fJb_NdsG^y9?&_mZpE>aHl%fG`4$= z)Zmg1uLu4$q^d^eA?V3ez)|UushW^F=C6~AJBTS{k5w_rRe}cGheP;B9FUcXxu{i3vRdUTemfxrB>3oT#kM`YbvEM(>ETfF9AnJ5VT{4cF8foPT7e&H5;`^;~#szOhv6-CU>ou zOojiHaD8QFWMblE?#LQNoRL=X;srU!{9~R%&Qsv%`a5+X_3g93-v?Hf!cZ)T!8l}-HI`m z^_=H5zqaU^>I`{V$G*njSaSTyAdoHsBWvuI@?aw$gD<}KL2bfhL4>;fz}{X_flDgF zWbKp%MVZ8^2G9zl_mUtR=56*?3fqo@-4&{IvL=DFWw76}o`#m@COg2hTzD+6ypsN0 zdD6O0UrBl?f3RIS`)~nRiegTQ$x>`=WPOaZi^)ShBh2lOOkMtQ^Z^F%gNd3 zRq*7;XO6|rnm>zsX!HGUj%NDkFGoUTAqs9+t?J!u;WOG=DWshIkhtk%{zOu(Ep-KC+`AgR#coY-O!hoR14 z*&73;NuApskfitLIKM6r!2!wE|HU{d!B5R#{GY(klh4TfpZ1pG`_@!O@aB)2>0?ag zaAqd3UhnnMe)-N%S@=OmpBM6dM1yu6>i&j|cJKVYaR*rnm{(g9>1ABUIEh8Oe&wND z`K;_b0(hOY>*A{kbscsv|Kq_#+%A{2qp$1gJyspLQ;F(gUr=VV_aKP0LT&*V7#TJB z1FMF9tSEM|WKTeU{_$4k)kp>gmMP*(h-&*rji_oF*t;_XQ{iepCmbzxLd?>!ZdV+} z#`|8vc4^p`m^_kb>G)DlRfY6Pvg*_0;7e;mFXu&&UYcUwaB~X_3uEK;J_2}eS<~e4 z6+94<`CMW+@w8mSz!vhW`q}rPzWa#4Qm$dP<8cMreP;q)za@0O@%h)ni20-v=yoBE z3`_or*z=OiJZ}_xSV!!yynMb&zIk|6Dt_pts;6m4-8gq@gU!4({MxCiXqVu*y?e>8 z`mP%h2iw#ICf!t7T|d@@=njtzc6Z%_vmHuyD;RMj6z}(TM^de-+YE_Ei#f6n$8aq8(;y+DrKh)GCWQ9S0 zco`i(q+fOMeJtHyJ^4I0pMp!Lh9MMza~iiNHE zLjnmo4sdWpLHW%h5>tQbCnhFVuQEl(gMW_y%h3G)g{|tj|HjO3b@MeW8gqhdO`?Ns z7S)AYUEQb>niR$E+6FgDMeQPKDBq%|hYo3@1%oB#@P{BWuN{_1HUpcI>Vh7 zeTT&#)cT2k$a!3q^a~&b<1?1t=TNp#Q4GHKYpb|_rM;3e?L;O2N4)2y1f@h@-plF0 zgL=Dp^>)wQ<+9bB3~04h#Y~m3w7ji5UlHMKQOeB4)5$mngj!ccQ^Z`Pd;MZY9k}YZ zH`H^eIiG1}+-u<`fQuP4T~iaAWEB`mxaKF@UUz0aCqzgHWEJ+Q74c1HK7I3RTQ{n( z0eCLU$?jT55k+g|Uo>`qPuTz?U~NyzeXkE^kN+KKYj z&hh3wGXx=reS_c}stolo4k#w~gZ2xZcD1s%zjhTM(VI{9B&1l&Ui9lCb1*cGMAZg} z1h}16wCfA0h!MZakxkj0YGY1SzRfwF2!~}+{z3M7>=Z7YTe$LB_QP;r7-;+#NTrs{ zM?S2Ohg7K4fAE}ejEMiRk?)9ck%C&}LB;v;KcLSi^Uwd0PyaLc1F0_lbHukY{?+os zd^Vgo@-icyXL`oCz3LA-arP=AltFivTRO!lE#LM?7$=WJ!AfnfBK8A;k~&*|JUWxA zxpaJto3}-4T145@h??6pH|wA%u6L*x>q_l+-oT*ol5d7&@mlQ2i)EF02bax{9w%6T z*@iT#h#AQrm)M0e$#~c}&;qBz#iTecMm$qE0c%Ad+hP#I1%a%DUVclHmYj`>NGfyS z<6*XoTIRWrt^$4v%n!bJBazE$g@sA{W%OhikjrePLOeWd+GuB2An0Lo$1b~*al zHA&_(rJ%NbH>~!-S)6*N=Ww>11)x>Av+cU~1^L%Rq?I&8@7(TMa*1_S*!k#1r532m9S{-hBmL_<7s3nnEs2Gyimz!JyRIQH%Y`y?i3o zH1^FoQ$s@nX2$Vs5GkUHE^?&k`*QW1j|aPd#Hn6Wl}{|u=N9}VFB=DjB7xPbtCZca z^F_GcWRgtG@@yAVCz&cKvp$II`A(Yph_x`u#LON1mU~*m@Mb9L?{#;3fYU@f?vPBe z27C5(|K34kjQsD|$X{$I4q65{&{l|b_dp#gc?XE#_O32L)+hlbLJkBe zS2RXaG|#%A6h=)>@%E+noo<0Mc0EvSv6C=ye-jG^Rzol2l6${9BuKP6zH8chJadGi z`^E;hotyU_mlad@-Sea=hf>qYC!VcMo%>I!y(Px*%zgdU`~FedNJ1`rAou%_bw}W> zn-c+lu#7uZHXl!p-0>El>qbYH*e66wy?}fYr<~bB-GmF51xw1z%Vn2FuigWlxkbLg z4%K$S1lCHbM;C@VH#N#EXb#E?DeBs#W-;rqxZd%}-9kfshiGL_-b78Vbk0t3;Equ_ z-iw&W{lUm$238tj)}qwviPVEAKcp)Va-t;H!+#nbpM+tU+}qM}DSh(+FWEwebX<8< zbr}W=Onwe2c_}Rfs zugjJ(6BY~0-fXE0Re4Ng;LFAk4Hq3=T~o*LoHQ-3o{I|*NG5$G=fhM&dypImR`zvm zA+jj1QxpZH9F~)L#frdyP3<%)Bg{4CtNpf5XFWcXI9(lCH~^~n^^`_0!PM*y6?oQp z9#ktaxzR-ev%e~)DR|u0IAtd`P{LV$D^6VDdPHzEp_c3C61)3}4rkSCXxoP`px^ zdhZ&*1isn@$<=9_uM@lLRl$A{2{BuUu7pJbvBSn)gO?hmY|64U`l}=hfJUD@sA#YyZ6`l1K9OLrBKB2#@W&%OEH~q?rMrNK`^UDvU#r+CQ z1g<)UKq!=xR!gT$crmP|>05*ZHZ50j>{aFjd2+fe(oEUFV4#s5>>VHZ+POEw$eo@f zq5Al;|7l3q(h~hb4lM3=qRA)#KAx`_OZ3Q8nXp1TPnTcFfi`BY9xjX$HSoo{9myaz z@iOeL_%Z>4xgpuxD!3#ct~!C-6111%6I$8$VOU(?oKk+#YG4`&5IZ|Nh=rT-*irr_M@KrO-TG=Vl+7tqPC%E zh9(yM8JVaFc(>keT4r!Lf1Fr1l0UUO9MUpvTZskzG--BT=<&OtrvIWSOTclKg!-IH z@Cgr%_MHi+^lL2Jabm>g)^4Nx)Tv`-v%RL&S~ZKP#!0lAKuxUP)v~0v0-=0}3uJjA z?W0wPI26gQRqm*TfVQGQSn7~yzKBj~k`kS9QmvAJcDoTvMq|YxE1sWvDFnLTh0SCM zx;ck?crX|qX)KgwxfQWgdZE0$wkh}{gi%{6K!470(T>`mSp=loRhS0SC!_h)x(}30 z0rq0|KXGEY40Pp18zm;OYe8a{?Co$}tw*b8P|Q#`e7CVPs_mQeg-4_3fgujs3u)kQ{2 zp|ua%aR{FaE$x$w|4gKxT3(rKs_g4uupI^HE0cKaAKq+<_foW-nMaA`cZggcvj>U6 zM1@3YR%93+4^vLKNUs6cauPSP*>$_ej*RKTgWO0v*=iM~mF7-QCc+PW0)ml2qHZ zDBEnQwFe<9$_1im+Htlfq95!wrKTcH!#DQKwOt}pv|5>!^)?r$=hZ_J_`~jw8`lEn z7jd95W_&QWn8#XjgCPd6hrc^>M&zPIK-ou!6NfvFZ|s1{1D)+!eOlUU3x zR+YZdf=FG`2$sxd2<}=fViN^(($R3JCFbg$J>S*s{jgB?^NJ4z!7AZn3;K4p5CW_qJ% znhx-Jd|2HV{PCoU^w2O`FKyZ2^9+xYmZac+mzi-l1`pq%186C!I!L2h4$Yvc%W>wei z2YE>E5V^D-kHxLzB!tW{OXT31`T1kfB{(mP(ywLG)vvuCk&XR*x#~$$s8#BV@J0Ns zlK&ofMn^C&nhzpgXUKQ53|p|Jwg?qLDNm2IgMHdjXHmtEkMn1(Az8?rz4GZ4l&z)1 zDqG;_;tLGD4lnOgnN*)v=3B_1I-d^bt+A)%TYPz==+jo(|#OrtuJ$sQX@rVJ8$8YI3Tdee0pHC^fx%IBMI zz_%IKr;IaJ8^kn@GqIwreqs+kojcyz5Nxtg!n>sQ&sHeUZ~UD>Hh)$)C(MnYe~g_c zN$fO@>kCj6 zwYoq*Ez;{_OgnUK&?8&5hP+<{rTa*>ksaGBxZg)pN~94cCu^Q@_#K9|l$e-8;{y{) zVa{+x;Y%0H?>y&>wZ02q+e_NK(yv13Ts}tP>G>WEOq~<0!{i$jP@aA*ppovFIp?JG z{`J~d-^$zt&3neS0dnZ$qU_joJuz&{oEh^v*s>mv_a|f=-*D1*zMEqDr~hVu#1~UR z)+KCT9D*x*0QfpP2Nk`qe-S*UG?{2c7wt3+=~9exKo>dzTgtb*&WTqh4jbX5Ddw;K z)>+%>Y#u!48Ty3ytig8PWDh~3XEW91L`fz*@&(oH66N|~s4wZ@u7FfNk92Jm3k^{Z@qBc7r-xt97*MxN|0#R4MBiI__2FAY6HX&~(G zvy_zQOMkN$%oi^d zmr<5++8cAV<$?0aK%2vVeWIA!U8`rHJ z0524K+kNMfwuUowy3G`Cg}Ik;{QS&cE7 zm^ZXGDBy;%LWQ&TikGZ*H;j*f;5qSRlfRPB_Um`a0ZYy70#=Q5#{$Y%R$8llasFx- zGF3y(a^@si_JTI_bL!gDx7!GId+}DVmIJ>(<7n>ST8|*y*C`VBVf^cRtTOiG$4Pf3t|`}b(6j% z`7TKkdq0W#I5cr`nQH74@;C5{v44P5hVWhBJ7=D^y(^~;1!BY7G*bsnxFb7}HWhOs zaygC}C|=dCHt|eCl?ee7TO8C#xyYDZ zt>gW=T%IevwSCJ5hj@6iW}|u+cy#h4Btq1dyvp)8x9GitaOtvRy;b?o1Z`|fsyL4d zj}6@rq0=I1dhAQ~jSmGhrxv(cSw{6ulVq| zHq^)*ua0N)mMg1^_R(vd;PA~D|9c|xy&WvtwOCxQYCy=#H%5?;O`GB6Lu^&_T_yBE zEK^zH{A9>H#}8yQbXyCZ35u-m(56Ggy>33$$!e+xO4Ec&sb+oR*ycJ~E~MXDpztMK zIm2x?x6hIP2v33K)%mE@s0s3TcIZ~P8`gheEmn5fUUSOI!S^UTr3^k>ruGPJ=93Oz z05~hTFzcUCs$wg}kK`VUifpDzU`oYaS0aOAidd`nO}4Wlje9+++YA@d-DJNmkIiHr zL{Rrx8h3RVaa8*8+XH`Cd0i2l{1oo2`#5}IUbr>+X8<|K*L#y<%=_Jzo54|%-4~O# zRTqzt0WQ5X6ntmu?ATl}w8==fm%4m6`nl7N>t|}lhnksg?T6>ynP;1yP={bmy&sO& zxXS)HWYCQpvn31P@n5jbo^=r_78f#PHI&+H0Zw`zDx1A^e$}XBAZAfuE%RE)!k4DQ zIqL{>xoZ3qH^qeC1o^+K&k9#Ddn3wE)v#I$Y>wM3Bl%t7&gH{7ZeFpqg{N#z&aj1P zxiB$(ve(`bR4&%5)xfCQJX+u=(zJNm*$~Hg(oK{ym1WZ5{r7kUue{*fMy=i!s$_y+ zv7mKVN@Z)k(URizPAAsShFI4FKbd68zl;J(+zmLS^u)2ah&Dk^QjNDbF*aQUMjJcw zGAkN=y+e%#THRJ75e6T~r!`no753m9aknf+iJ2~F9HcC1=&qpRFw2j*?=jp`mK0F;;bnS5v9wNvDX+V ztML_mMqZlww<5LQbgDHzr~8I=uxF1y6uqh*5dEP4be?DjGV*>cq;tNbKq$r^ zOySx0*9)SlIu^xAPdw$)!ZBMGvgzKH0=l;&3cJHDsF?vs9^gNI0RsNL@25#`dK0xo zDaX@G2Dm~hVOJ_XA#DfXGpXgT38Y_)Jnre%kD5@r(%E(s6AwqFbl)BlU2}ztb~q*c z>NA%pIxA!ve;Rf>s&&en#d~@k;m2T~5jhcE1hIl;CmYu7#-=b5)>FTFCnOTju#=eB z>0uCjZL#D|{g%)_y3UPXzmd)-ASX6ddj2_kLiEAhrVF+I^LL`OVOy{Eib7lLVj{^` z9^I>+mu_`wSftXM9z-fr^n$G41q^+`HR=AJ7lXso zd0mwyjFiYsfPvi^IkQZ&*joN5g@*ez>F=T92EJfE= znq_|QPA5dh5%eA%#=+bsNV@7m+x;k~<)l#)=Fbw^8-WpJ}lWb1}4d$BvQ6SZd6D?mU$qk5L4$*!t1bLM-nQ-hQ< ztx&6qOsLWhIUGn{V`*|A=3he3-Q4f4ya1 z8q6;YmC-+`8`k4LG0fuV6_=QPiG!HrWQ4%8%~cC^WXwi`{?uxjXC z+m0)$h%nd_#vYdtEDRsZZqKbC06ug$RJpS_X*i@P4n6VJ#80jjA-sp}F&TaA)IxBC zV`vi;l5@Y(b0bB|2>~9Hm1#S_U&Yf+UT)BKVe^Zqy9s>0ATnew zq2k{lWIvYySF6)Fx0}7@=f7?Ywv=QebW!l^jSt?Oudd^BZ5Uh?3L>1(o;2_JI52P8 zCX`cftRG=qp9iE^Us|N%P()H#cos zxTc>>4bWP^JD15iyq3*H>KnAeq1mrNn*^jmvwEuw-Rq&Zd)WQr!Z;XM`^4jU-^eSy zR*r?rI_d(ervBYwImnlLFTrVA+%#fiibkYlZR>Z=EQ&VIvs>=A3pKvITtWOcv-kfn+cx)H%6eURJFdAp76%ZuD8QL=t!x82 zO}&w@8(P%U=+^FogE!EThT~qG%rOZLZ5%8637op%TdQt|4@gUPtcPlm=%-82z z+4-L_!xcZ(cePU9KA24^(IzWEk~N(5G@`bgP*wf@}gS)?t4BeK3|%CXs$ z6WM)spYD;%5WIARb{bID7imY}`o$2~trfJWUd$2jdzIg#DMH~Zj1As+qZSD5zC{;v zM9i%}AyVAbPM?m}D-r!Q9XO&Zh~V|s#-%&Sx?(64n$8w*v+B9-b6f?UK>EK4RcReR z-K=-prz*cNMyD1qs=%I6RcG;F*Hto<_wZ2w;9bC0Vg5z&xt9GyvX% zVR1UDGYQDDpL=p-O{CtWAoaI-)9Yt7BOITy?!nZvsR(ptvVq5|rzfnF@q1ZvG@SGP z?4{7lHngmO&ZSi4;6D_M+}-xrUa{UFOBKOQZXF8L$My5=osW7<+Fsmpr?;Tn-xIE@ z^DQqwe>7H{C2b5#by7SjLQp4KhsW~SS7Om3X{U{>2&|QR+h*2HI|%uVD9Pv*R^WbjPVyvB=Z!;^J~w16ccyX$g4nZa7m?}e780S6C%gCE=<*eiyvp@SL315fV~9s;(UniU<{!6VY(gX3a&`bm()xd z#VsWy#_txM#>CqahWg%&O)koSx@Ps()5OFHjNC75WqMzk(5jgp7K$D$?CVD)>Ex-& zzka&69nivsfNn?hYp_?)4I2MYum-PE5!Wg5l`U$#{V%oS4$Jcyk#B6=8Bd*G)Hu{y z{pg6f@YgA@vP;aQXBGEd4y8uF(9RzLd6#{k9wO5X^@ioMZ5wF>od{^!8?rEY`O4Y4 z20vBy5sI4*A2e5$7*)_Q=9~Gr`Y&0q-B+b*gB+hc{PEN7l3hmK&AEz4#%uW!@D9Da zZkBzXzMP($J4yXEsKLw`s|^Qf{SW2=Zx7RaEc!TMl~gRZ3d!BJ8l;Ubz4IFPs$I0j zzP>T9Y|-LCnY}tpQIh}II0w#(J8NogZVhQw3*d@_Qu`?wYNTwJn3^n#Fp@hV zuITLIQ2P6XtwD$slPPC}Zo8N+CbPLhWPOm0ttbnyt=p?AFk;hOhv@x_HHeEu-jb30 zSj<%_PWV+$j;@~kYmcveN{i&zq2j{HziBI$OPjGpB@~iUhUF|)%IACl!(Xk>6(w9B zX0Lx=&wkGv3S!Ke3^UAB{6miav)zH^$~{<~{=3S<{py+pr;TaIzylchi8h5Tbt+?Z zt;OB0Qy}3=vU3WQ!y19Q3Z2sit}ZP!#5}6m0Ocjtk9heUL^4%~BM+X~%(*L8g;kyC zP{zM*SPyyc(I;8V{$5dbFR%y!x-F5;DoqR)j)8UKsZi;jg`XXjzW0OjN$(>{TJeFC z<`W*4uP%e^Fa=|dj;gT5+6+(M8l#R2#XsDLk+b>Je`{7CxMkBL$F=*7VEvf* z{TPzw-k68+`(Iyzoi=5u9}4K;yAq?vJkp^f7yiyarS{A>2I~r2wQGu0;b8C<9gmRG;-Txu(Qj!^79osn{%k_Jf#c?AvT9pqOZ7W;tmh$9ItLr>yM z0g>s$2U@azuN%_F@&ENdG}@SoLsk|=0>^x4n^GM|Zy4N3+$t;?t0NYgMbJ)H#7lCO z&2QGI+ZNSB=W8186W2Ba+8z2CsT)Z7O|S#L-ef>;U8>XOgTH^~(s%%n*|RB(|FkNC zr?>D@+ZLb-Wo(!~lQyTKX4B)erwNm#V4g}`&}aLWRV_eW z3Q<_msc^mQOI0de?Qy|q&C%ZMiMPHLWPFZ5GIJ?E&z41ErE2suvH>DphP%RM2;pYC zV0jf^SXbUc3in;Klfk#dv2aDO(?P@$p@KESdRp+;Pdw+1PG?{iLs8;=EnD`Njo7xA zBOFpWG?mIJRz6*B^i1!Nz_Pngu?{#9%THBGruU}f(_HV2bPY#R?UEDg3GS0;cl|9>*t@;7mT5_K zb^^BW0>N7qaQMM%{Ey7-`ZZ$Sj$f_n6BUDN1`?@>XGG5}KCHC}xuvSvxbi0yhF{BV z=m!7tJ4Jmi>Id1luaLBv(2Zx!$7_?LC9K*lueAtcq5|AQC&UvxF)qx!@I~_uyf4P zm%k}k$EK)Ij!hN`C|#hv)}7Q)<(wDWR+QXW-kzjCDigFK6n2t*DU_M z2U#A}-|zU#UX~s^UxbfrSkM>_9%>=eybk-}kR(x+?k?bsZ&Si&NRnjyqYapAaS$J! zqej2N{Yk1WjW>rSg4$;UuYYL&`wu@)`v-acyPb>N!V%@}RTx&4F3vLpuej8PBh~R9 z;yvOJ6=lGOSD(5zxzDan+cUzvQw( z4!^6Xe>4N+-2B2G$g>_YP$O}ZHR7)iD?@?ZZc%*r(-k6!U6%Ea-ikRxp7fEB`XdGz z&P-0MYTcVEN8gRiJ2g>a<>FEZS4i)#$Ee7321`u4dXd^HBc`k#Cz*c&qkD+2WP;MY zI2$+3@q>6OtFAzs^S zgVTwJw_J;8IC^bCgeswnMA9neoX$$BGo22oemJI)+~V&`LmxQFeSOws;^&ob!kPqD?l_Pn7EGSLVW_Y_v9Pd$j(%TP#W6=l~VODVxN0NY?6^5YAmgqRr0R9w|Ch)A(L4= z%c3YgQ0ydJaRUGmxSlSf5NAfcseff%cW@}KgcK{C}Y)8vDgwBNmWo94-;_B?Kq|a z@ZLly!{yFSmpjMlRm=UdF8wFSoDZ1=)_3!>0@LW732|K?8b?y_u70A$~0skB}$K}^HQZkP!tXq3FQ*@ z(di)L+1VThB*(xqW`$9Jf{g{fEd`&l2`Y_`0Suo#WeUhexen6(EFa` z@ukfns@KiNhQO?^9#ZSJ^CW5?wDm>?yX@k4Nn@M>egkg0@N+XL`Ls)#*+ky8YrRa zMuFNMo}OaQj~5boPB*YsFnV92Y^Rm8v+AQhBE(p~{X#pC!;gOTIV{lX5cs@CG=(-) z2lqUEY+dixymN?Z+06>4fVt2zdD>l7`{xvFTCnIE3?GAKszgK=q3^KP(yA*9p-Vmw z657-}x<(B2*)e)?b;yQ0w3HWrcAiHC-tj#T3q212pKhK{4bfhV|Nh_Ns=0{u%e5NB z*b(q?m~;~i6}!#WugDg|?{->VUgk1>gteb`UCrr-<$CXDd+JrqJ)Cww3mOXsnZ5F; zF>+`>HyBQ{+X@P|Ik(rtQs6XB*-ZE{=JtW;;y&}`A1NWyB#qbTv|V|FKZwg(YrlQd zWM{?1)r>w{X5+e?@~RMBf#X6US&IE+u3RLF82`@;sh>Ymy|6l&42G^|hb_B?90?(U2Yj(TDMizct5i0p(2(CouG{}3q2h=Ckvjgr zD<02|27&2;yVrpa+Sdqp2f1eU>c{mvxYhhxfZcVN@FV=!RWoqh$Ya9yw%Eu28idqs z%Ie1vIx>GI`uUN_+Fb~{$ZnoZN{)5tsOj&+P-esL2?i^(PnQEztyKRu*+H%EQFFKY zeA+Kg>UT3qVB>i+T*-Sk4kHjS;5|0;pfGOrvA8)JwP@F-WU*%x&RHDo=C4>z1~NMW zUu%zd|7paugjsma=kefC!9_r;naWsyWzE}Z7kL(>-CTbKp>&Yj|L0%*=2^MDze(UT zI@${(yZ;~6=Kt5tc=6(Y%0JVQ(dSMGB+Rq>cFXpbAGLboLL43wb^}{mHv9n*`Zq!b z<%y$j@VG&JHvG>+C`B@p8j9dQ1t+LDW>)xlGkhAkAN|6<0s&_lnyA1(u9|6aQMJl3(OntKjV$%Q7j&g}fE8x%1F)}C#s++PX zyf#}|D7{&oFK+%c$HkQE4?L<*jtCNYRaUpj=}i=>HJMj$GfO*-9Ph? zb;$gOd`Cl51JUf8u4A17WbquzZqZ-+On~cr2mNyB{ggEAaTyYR@vMMu+PVLHS<;Tk zhBc_Ax*u|0^k>F2b*a(so!Bl5g3CW5v7X)Nd4noU;lpI4=v7|)P*XZm!RNI(OU^hE zTyD&^TFZA_{mPJM`p%CRXWD$8#4V#L$KScT;ZNWDc3Y3XpSo2XvoL*$(cw&-U}HJl zn&41^sl#QUN1xkz@VT;if=xPs&e1C397u4B`vfbCOKIvA>}!3d(YX26>V3uVUs-6n zQAG)D)2A^d`Zz|bZk9B$Il8XG+Kd*8>!6j5*1u$IJ8CuLTeA0jR^b+!Xsk}Qe^N{q zJP(nn3|`lz%PG-1wCR!V{gNsi^}8;t6h>z(DVXh04^Ow>FIkU={6rJO(=#~9(LNB~ z+z7rRkaWW@-Y(|QwTwf_zTW$-iq!1A_EvXeqJYWF_toEhax2B^tPSQ!RREZVGA2;w zN7XexM<4^{rmVS-?e&wjTdnq-jGR46Ceeh5{%VzU3&2redMPkh)0S zfTIiCRzFq(zL_3kEN1Bh>=5D2y@+hwE>*HulStFOjzg5&Nu1_w?l_`Y%8FX z4p+nd%l%tJmWn#J54kwIL{GZ~btMCubqC7ZpahgyS1RH_6cuAKLUT08S`sXz9+WBkkQG?cZo_aB} zdF1py%sDf3e6TYzoFzIpoa#GE69)krY}<;fc*YzjlzcALIW>sR%6vssiRSvxYqPk$A%aj}o3-dEpndNBgC4auGYdmZOlWvkobf6LDMk2q zwPqft{wAgn|G5zPU;4o4aXK{&J0F3X<;<(uAeva^t{)ipF?#zU@zp8xDd-&gLpUn* z53&Z|=PM{+@xAv*0&S>rW?A-KPJI7quwk3Y$4}K1OX#$UEI#8HlSVtWJ=O@3py$;zbwQfcUV7i@2yF&6>gWB zGec8i)|%dJRFpvPC9|s#qFYAJlYgRMoOC4kT>E}0!y`>ooXeWr$#FcY(y)5L@Ce)2kb?6kh#Dp{zvUB~+C~MinvV{gL z%pYM1KDki~`8P5Oe!9ruI>9#3y`+xf=gm~2HB+n6T1El_aeAbrX6p7m!rC~uCL7!l z`@55aV;07KiQ!J$it$u74$8ca3&(U*dut#6&Y$PExCMuzy7r0)9bBuGJt7`1r348v zNR)8uLxh~_E&5WY84Bh>bfoXR3dZ-`P`gk0yU4_TrMc;1oqBFQaKTw~W-0G>&8H5Q zwl2Uu#!Z5N+c z>!+ZvG{yD6;&fsK zikPmFqCN^ID|3=Q6WnB3fw=bYTo5ecG(GRG;C^pM9<8Lk44};^r%s+@{-wWey|QPm zvU-^VLL&1+Jwa1avr&qd=ioco>C!DvM|aAW)PVENi_|63K*ZeX%H7SHKfEv1Gq`y@ zeN_>Cr5$uVelp>G26@Vy7WyqR;YwM$G`2XxI)3CqabnQ!4W&-n`MZks-BZSJ2>lSP z?rN~Z;a$7(O{S&rZKZh72y%+d9{OgmI)I z%Wz~q1iLxVzSF5ByfCWzw#jwn^LHwzu<5AytbhXE3))2JTO;oT6VTE0tVq0G1DQZh zxJ^M2DZPwv^}WZ0fXQvZV{xd>NDw}nF6xSSz33P-f3^p6UDoIH%x#?XH!oUdnobv= z^|za!5tP8NKw%?;q~>PIF~3dC&GYT-#Sy|9WE%p8c%Qf5hv)pBH^>F1m0&qzm>d z4q_oqA9gXSZ_B*eb2=Fu8kR>4P4$qw+cpd3ck{)Mn{(}IfQ73bmZ=!R%jeS>j-T65t7L+5&;}%!^2Id1o0*J2{7kg}iv%QhmJT=IMI(@`u|K!-*9&q1iqa zfty_(o7LDkPrmo0NJp5Jrc=a7;N|mUFr`rg7xq8%QIA!?r~7MfT9Rt{)XYJ=gM?Lw zMqip`q4E+Aj1IlV7@u`@>48i2g81H6THmoH8CQJk^Y0W*8~*d~k7Lp4kyeXMPzD+1 z;*m9T;a>BW;Da}7l*}T;uQnFhP(go-MQ89xicx?1aix)$mUMrmx6FG{WN@e^NvK+a0ZD99E42p~2cFC2!XtD(!mc@_QY=igBu z2cFIq)`Hkkg{~}U9Lr^scEe}M>o<`}KpMaWNB1{o17Z)B-z#Z3BYrj`rO=dqXW7_5 zZT;Xxw}~k5(d$SLr#=+|Fr$n?s=_;9JMndxF|TwjuqgDp`N%B<)`w;?&j+j2tXnX$g*RL=T06Xe*&eam7^wxwpK#w zArf@eOo?KnEoHA@M#A`OvH58#O4~tyWIb!fbb?mdawpUg6CThrXGKi9mn2gAhd=qS zM(uCQ$}NlGt>1-V*GAl)--M2^40zHrSIB6XEsvbqBsr#ur;i(#g7XH`bo4m!0vQ!m zP49|!UA$WpIL5hWHONrKa;h6!lQ!gp9f}T;d-`bv>t1#hmWxq>%SPVM)0xv_^C>C8!QBLu`uIOQY^>K3zV7^V7Ddd*Jr)j8$=XefakFSuGcscAqizu@7J|k2sgvbCA(%5yaT5en=>kDDH-qgB$M&ZtqvIk=J)O>jSczv-%Mz6J^q-FA^o zuvsZ2iV52-R5xDJrC~qd?7A6{xc4ehot)Ki!jw^F!?YFoE=@l)y8$|+z@&}GF;7h7 z*FYeHT!>Ka?!egW(J!8N2(S9dxe=t|W4dcUIt;1sz-szM**pgv`Bk{S44ZYl2`*{x zk(Oe-XTR!+F{c*SonWpaF!gm-_kh+{E<{w#p2dd#$+?S`Z*94jTe~|%1KEbbD9ERsA3qdb55S7HL!o%=U+aGzCRQavQ= z(5>A6;Uw7j+>n*U;`({1rlF+LcdccB0y!yq>Z?y+umHr}eu%^-Y_&a%C>#*yGqGjL-&pd9-reM}UxU~(PnmdlK09T8 zg04SE2!0UILcp@cZXTK$yB#Ji`#JEr^chMz#`L!B2#st^v_8Tb=J^CK!p=apeOwSV z!3BdFkNrg;GP2j2Yd)K^M7E@01(G4?&{A^undGAUx9BD~+QS?m! zsSn5e{QtCfoncL6ZQET7Dk_2s3MvW)M4F0-(jrQcE=3~J6crSZCWI0ot5FdU5s=;l z1eB5>NDWD(Hvs`dPbi^|Eg`^~Q*nG9#nx#ub8+|PY}+Js6r zI)A@^WxfbYlVc1s-6&B1i~O77#a7L5COLGCj{aB*a^DX&g%0)UM>+@Yk$u6u|4@b< z3i1nH6cN2CGcwa<^Lkl$Zzg?NnwGZDGiTK#!-S&s!F(=T^nLM-{Ys8?#P_fY zPM*8M=s9w&c6Zg?Emgy>j^r=?Nd zpH>pb65LF-!@p&|dS^8Ie9`O*`7l6(&4)N}W=yl4EB>>CpSdOErt)FfNoOWOVIq zT*DB)TFz06HPC5prQ33RNV~lTpI^2W{6)rNDu)6YiIW>G-A<2neFXP@Cf@0k$jF!g zjo$AnVLE$E50d;D&5BOG15RKfmU)S_CM1>CE_)x5Ln}|sS!Gir6u_{R6$T=wL@I+g zE2v0>71L(Q$?(j&bk^mYepl#xy!Ds-)GBR{NW=EtgPsV09QVSMZk3o_ZJjAos7S5e z4qQGUR0>p2b0d)v!7A>Uhq_n9K_=#Afx(#+T}KT$gu^JrB=5Q0`3GZw2s;$o}ch{2qvRaQ)2?2(|_X3~k z=#=U1tm@r1Wn(|HpkhQ?HPoC!LeP7FkPSHa_6qY`g7dOZ4uLa|4|OGviF`?fk z+lMfjY-oY}LX$&@F>;H5z{AF<{W1}{^{LQ;^Uwpr5#pm-pw8~`E)IX)4jyu}q9a%R zSynTO-&!J65!*4Ys}4fSHP)6?h6pa?I*35FxY%Zr{~dQp{U3IkZpB1MaaO zs%~H3;Hp=sq;%8>W8gFpQ~xgc0$n{vb}Cyr?*#0ds#ngthe)S|#NEf$%x?nz2yr{L z=U}n)E9rZohh`kazXHKQ?JHiH6Sc1AKsw-)Hhx}WBj@%!-(9B;^}0B9zN31db?;6w z_davfR7AM|kfw(7#FCvkt6qiq)bhLC)K{0UyQ!Ga2+VXLwGw4`=`$P_3mKr&rTLP2 z(T2wtGD(b4Vq)TCD2pc%=qpBRe&234CB37zR3byRp6YNedu0Ix%yFT69)Tn=pTZV7 zgzL{0%)DP4bbh>47e{>t&@!%$ho_!uz;)Z{*K)@%Tx!rmP(-yC|$FAQO? zs0NWij!s@G_v@|CEa^3SLkZQP`875oYZ#nEL?Y2F}>AaFz5U> zyL5A{Y2TFW@#p6pvLQ4TML-hIof|D)uOswD^Drb#NoD+6chYOw%CC1#<#ZNR?{HT9 zv^ym_G9%!tNvqBk7s*iW*IVn0I5um%0_nO>7kDcs(@1^?kB9?>fUBv*FU_u|+5wVR zuOezDG>XpOjEp@MIq%{=eWfkURk_cq2wZx7>VkK=d3|)?0#5~Hvuiq_62Z7OIqq#c zzLf*59xwt_=qoxreBo<4txa|X3C1Ct1m&E3jRlJBgsh~h$}ID{Jrw)Fo*BF$0g~H8 zCf3qz)AKcbOEs#g{BHbsJkV`!XyR@j>)xeCW|+S_^UB?edq<)pFUy^KAYc0=vQ7lS z82xHwd$g}U)W>lBwEi1CGBFp-tC?&pQUGVK%?$ip0`ShfgeG6`{*-1P;yq>3(t{qi z(toG6x62W#QAp`Yi7TBxME+*<_-zXRT&{r=mqcx$B<(F9(ZfG3K~t_|d=TnmiXXHCvym*HSxb)G=6thi0NNr&RV-_Ixf&5Ab1(M7!uWQCWOlXE^(ePq2l8u+zL~YjlG(LJqbdG+ z)^+=(+CtzZLZtGuW>fCIzdWEHGU0bf?dNpxUXEHmfzy-v>WE1WMuvR0zSGO&OUAbr zGb*L--V0OSE0|K%_MmBEq2di9MLFvJ-jb*9M8YnS5Urfn?WD~1X)_>AC+qYKXY#VG zW=k5*P00CqT-?XYg>x>3ceiA_;5v^?sznMNlrdJqE<9NKN>S1{P(D(w#wm1+i*$bW zejhTJ3rR`iDF09!tV3~!r{ZB{ zS$fI~cMefOalx8#A=M%Yvjz}P*wL;OGpl`sv4#`Eq+J})^Wv^sDw6?rL@C%i?DOl8 z?w@s+RKspN*{&c*w(XGY<4ELR`ikCc%e*F&^fIJnTazS$u0q_RVM}!eJITdz zc3plK9Kb%7JM(!{A15?|?o4zAh@SKKM%1=@LG;nz=@fpfoA^>PS~h(6%*d{HQL(Az zMYN4Vsd_gNGjpvpx7kFsA9Ddc6pnDAZN!0PQ~#THEY8kB1Nk3>NHsskM@O&(hte zh-vx6cZWElwBA2Y4vbJ>1VIA@El)eIyw7Yoa=nEgDuB1^4ST8TV2HeweZ6Ybg_Jh> zi)Ua;kT7YXcZ&KoR#as+r7{yBmTH@pK(dq%MefBmeYEJ-vE7Ys=j-Oc@9iDB*x{F= z(h&w^yKTMM_)>rWr%&DW4fX*gh@w8F@vYbMoyYPE%2aALP~a7K+sfWX~$61uX@p$~UTex_YXp7f(V$5$o;y{S>Wlh%xHbz|5+ES309ZQ~T2pjj}JF<)* zUO1iqOvn82W|@c<(6Eb#yufp(MOa~c-GR0aZB}!YPXAunc@1oY+G{Q7=Jtg z4HpWGZU`cwFgl- z%Dk}SAuW!M$#s}siX1Xn4WB;nd=cOCSwT}%elgwfi==OC1gK@gqnCd7e8gE=4xdi4 zvyNs}UdP(Qi_uS8p(rR?P?3;zROhUy_g=lrox!1` zolct8^Epf79~#e<89Yjz*uS%+&DCb@snR4@1$OE4k#hpxA77i5h9{NfS~yKw4RPC? zi}gNZb%WuV=Td2sbI~nnt*fc|{)giA2hh9%0sM^olh5Q%d&BeL4U+Kepj3HYC(5Mm z@S*0{$)G^-?s~;tw_V~2mKbR~Si*>&TXfYjn2&HdtgOHZ%(v!Cjl&$EYXr( zAZOJygP_&9+9a{T;#bW!kcOJ}GwzB$Qlsg6!*u7(p7rc)R`tq`t$Y z4|DalgY70L%lQjmN#lvrDK^)isq{DR8(V+K3s|EYXaJZK|@_3!A<^qC8xCaviHNMnCr6fkR4fWauu zS5ISUR5K@x`$~)l(JKRQhhZ{kEVA>3t#}LY5|Bj&R`WZ9*<2K5;X|xXHrWocLZI8Tg9K@8v^k7>OXt|?vDKPNn8);# zRNa>c9(zRQF9S#&xEG(Nf~M7wl6()H40*t@`NEy@CVQ@FVmNZTc|P5~bMthNbh^v} zxXgw04SYRA|J;_4LKJSE2m?6s@C9ev#3Dxv_V-TbNHApc`(9@_-X!{Nk7a<{?ITXC&!3s>_XlUWBZL*@jua3e$UYOmp2*( z@$BX*>JwyK!tw(Z970_QKv@B9MVJ;+R?DLKIEy79fesrNg|AfFmtO%`JSMrc8BSUV zRXI`IxPQ0bTB_jstusEwB*!G>yKrD+76p2Wu=FWSZYo^N3ZQyG`f2I2O>pXPUwm8keSoPB?H&&CR*XJB(mK5f`s6B>3I*2j!LJq4w+$vEZKMFI1 zSMoebDDyk6#p2e?-x}*_vgb=aVVrwW`|{Q})L)!f_3kXBBjB?Gz3`jBQWkFA_kmx~ zG@}={ssNvsvnrFHn9mZc-+I$xKs!%}#Rm$*D|JOWN@)SN<@0c7_JlQ8mz>~#BFI27 z2~*6mCIk*;VcJI^_???C2;t)!nG%k)IB*n9jKMg}uHmQrWmv5wTq8!VOBYF9(v+&5 zKw@T>Dk`OI;luWrLE~IVzWk}K_^i|?O-28CqJY?0h*=!y366s#t@}>$TJ0RkYuH)DfM;2v21p!z~744dyyGt{t9n_MiPsM2)**aU&D9;?G6R&wx`)v zwUQ1#%0z%8Sp$TMqJh^nm;->GTvF@C9p)xz z1u(sp%P;q!a-U0)zTgN>HRbl~^QDaMX!Dv1+<3dBvcx-y2MieBVPv5EzryH$Bv1Xt ztErcC|1}@4AY&m&nzy31x7__KJCE38ZrO?Cu<~Q^r~3RnNzWxTAG`5qv~aPl5RC{6 z8YI!c-o?V~4*sRlZY+6y={JT{sRW`bZ6CY0j$QsojTVUoro3@;0{wI=zblF})0z!& z`BwRh;WRlvYH)WWcCEexIIEewN7UcEXyG-Q@|kYfL5!4InoIO=CEt!qvG}UxurP|$u;a1+KVQ9im!*`+J5)_4%@(St;iDYO+lt3}IL`nuDwa8i~)h^=oM zFx?k{wz7yRm~5a{a)eO5J8gW2BQzL@EHE0TR{AvyU7CB$qStqQX0{}1*fpElP+&iY zT&N9!zMGfYaX=@Q^{%gK&GBbDs#unt+NzQZqp}wv^NNo(hbSn7v|xTS2JvDk;yZM? zA7I%Jz42?*a?Itmn0YVf>)nQX)RxPmz$>l_ul2|a0nZ15a7;5eWm=m(Qk!VS-?yp! zhq8rnLP{u=^~e~0S#7ij&n(&N9pkzV-yl^Qwh@eTNP5+GK-pr(L- z)bdAbs)+R|<_akUyduY!MH1S1$_|~vwZI@R|N5}@ z>e!#5$^}Id%Anj@fLYJ~b*SylN$Hskd9LK=Xn-*pU)Jgd%A?F6xKaxF1NEN~pE5!OsqzS@v zs>=uDg=yK}i=1CgrSx~*d^0S^_?G0U;qBFWf}a{3%f!Ry;fxhGh!Y!WzdRCQuH%?i z@VO)=+DS_~NSj@xv+1t{LH`a+Vxq2|GlxBz1!%<21a=B4C4=REb}sw z&xxwzn(XT(5@0L$8~a1q&G>w;fCTpZwCwCbA#NsrI{1S9>EDbCfCnS4d%)+5n4SIm zxz=G}bEA`;iq6yh--yweN%7@!xlh8534^|e-a9qQ@NEUJ8Zt_X(t@z1IsR?Ils2^h z=D^&hO*=X?RaJ~n){opEG$Ru10XD%HZE*m=^7qG z;e)v=ga|frhIn|O5@0N*@=@>}rtjj!Y7~GDD*z^KKA@8IEZ7OXMN2G@TJgMK^#U?@+2w|w;!-}EkMLW`gUv!-J(%%PuN9x|<+;l8GNWyYV`DGDbs z!#0L#>0d^|fWj>M24C*j+f&}F{ph3l5*Jd9LC`<4Q(wsYc6Ty{tyc7L^MXFweiQXM z9BsjX+XKpQoh_8CyXmOH{*{^`z~?~}Cgg1R9@WyiWfvvMDJVyU*SsT~24RgKe@FlR zHAY00PZUDm33N&UJn&k8x1`m{_K&}Qzu_(ZXi1LxI6lNVW$G*OtDw?I$5=9s#v28)|6os8oZ`&Sran_Y@u_pru>P3(<=Mvj`ez zzOteBf-|ffCua{tp@fJm&bA7wt>T1 z2?>M^J5y01`@mzYl{7ESMm8Jb-yJvG<9!D_(RL@9p^x=+yWWj;(Jh@N!Zggi&P3e@ z5)8%&lL1~2VXkO@kL9$SmvT6i? zEX7pPJPJisDie}URBphXO6aKQ?f0>TV>;msjNFfFFtegWvp!hyOtT!$WkRPC06>V} z9LldOf7z3w0bc*UBX1NQvLyI$N~v#k7FSBUDi5q7vj54Z&|ll|w}g@bBjddl4B(vUzi@k;{zH{vm0Xm%R(nn`P_Cm5ZM1z9ZMA9A#%unPxX z;gx#4KRMqS6new9+bjb}p)dunfq`AdwUZ@A6cFZzNJFoQF*4YI@ZOFSv zzrm$`#EO8ox7M|yQYRDHMu(RdsfktyIhyp>jtOv6?8jYHHoCeDpQ}#IYFJ9P=k9jc~w-FAM&oI7&l=-}t(cUF#yHlU20|%}+YYwCBT&wfq z1m06oYQsXsYf13NDHqGrTTsk3l)&?im}k=$GN6LM)P|F#bp@wE{C=xZ@KqFZ5r?Fd zZX_?x*8S_Fa^SV`RI9Z#t5}8?OE= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub││Notes & Tags #0│┃ +┃│------------------------││----------------------------│┃ +┃│Kind: password | Modified: (unknown) | Archived: No││Tags: online account, personal, coding│┃ +┃│Index Num*: (auto) | Entry Num: 0│││┃ +┃││└────────────────────────────────────────┘┃ +┃│Password*: hidden (v reveal, g qr) | Length: 16│┌────────────────────────────────────────┐┃ +┃│Username*: MyCoolUsername2024│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after25_nostr.png b/artifacts/ui_eval/current_tui2_after25_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..d97e672b385e4622694bee04f682e86df594b7ff GIT binary patch literal 65316 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ǼI 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Personal│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Personal││Notes & Tags #2│┃ +┃│----------------------------││----------------------------│┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No││Tags: social, personal│┃ +┃│Index Num*: 6 | Entry Num: 2│││┃ +┃│npub: npub1qqsq9jhm9x8d522v7uyjzdmq2rslvaxpgu788dryzmjtn27h23wyvlqsv9m2r│└────────────────────────────────────────┘┃ +┃│nsec: hidden (use 'v confirm' to reveal)│┌────────────────────────────────────────┐┃ +┃││││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after25_pgp.png b/artifacts/ui_eval/current_tui2_after25_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..869b6065f0da5cea7d5bc8a82e85d7b8446bb766 GIT binary patch literal 57539 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 Xueeywvdu(q_(D!fS+e4l>Bs*IN}_e_ literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after25_pgp.svg b/artifacts/ui_eval/current_tui2_after25_pgp.svg new file mode 100644 index 00000000..d45c459e --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after25_pgp.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  My PGP key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  My PGP key││Notes & Tags #1│┃ +┃│----------------------------││----------------------------│┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No││Tags: pgp, key│┃ +┃│Index Num*: 20 | Entry Num: 1│││┃ +┃│Fingerprint: ABCD1234│└────────────────────────────────────────┘┃ +┃││┌────────────────────────────────────────┐┃ +┃││││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after25_ssh.png b/artifacts/ui_eval/current_tui2_after25_ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..5a76a129b70e94d6b0ec633382f048a91cab040f GIT binary patch literal 57531 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after25_ssh.svg b/artifacts/ui_eval/current_tui2_after25_ssh.svg new file mode 100644 index 00000000..fc7406a5 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after25_ssh.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  My SSH Key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  My SSH Key││Notes & Tags #0│┃ +┃│----------------------------││----------------------------│┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No││Tags: ssh, key│┃ +┃│Index Num*: 9 | Entry Num: 0│││┃ +┃││└────────────────────────────────────────┘┃ +┃││┌────────────────────────────────────────┐┃ +┃│Public Key: available│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after26_ssh.png b/artifacts/ui_eval/current_tui2_after26_ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca4bb358cefd6b5eaa7b0ab1f855a0e5256e7b4 GIT binary patch literal 57798 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after26_ssh.svg b/artifacts/ui_eval/current_tui2_after26_ssh.svg new file mode 100644 index 00000000..14e5b3b9 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after26_ssh.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  My SSH Key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  My SSH Key││Notes & Tags #0│┃ +┃│----------------------------││----------------------------│┃ +┃│││Tags: ssh, key│┃ +┃││││┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 9 | Entry Num: 0│┌────────────────────────────────────────┐┃ +┃│Public Key: available│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after27_nostr.png b/artifacts/ui_eval/current_tui2_after27_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c318345062bdf5897abed7309601ca2ea743c8 GIT binary patch literal 62039 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Personal│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Personal││Notes & Tags #1│┃ +┃│----------------------------││----------------------------│┃ +┃│││Tags: social, personal│┃ +┃││││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 6 | Entry Num: 1│┌────────────────────────────────────────┐┃ +┃│npub: npub1qqsq9jhm9x8d522v7uyjzdmq2rslvaxpgu788dryzmjtn27h23wyvlqsv9m2r│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after27_pgp.png b/artifacts/ui_eval/current_tui2_after27_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..e36b33af228c0163b87a4a237853b93568f7937b GIT binary patch literal 58163 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 AK>z>% literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after27_pgp.svg b/artifacts/ui_eval/current_tui2_after27_pgp.svg new file mode 100644 index 00000000..c347b362 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after27_pgp.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  My PGP key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  My PGP key││Notes & Tags #0│┃ +┃│----------------------------││----------------------------│┃ +┃│││Tags: pgp, key│┃ +┃││││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 20 | Entry Num: 0│┌────────────────────────────────────────┐┃ +┃│Fingerprint: ABCD1234│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after28_nostr.png b/artifacts/ui_eval/current_tui2_after28_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d711387bf3c1d5d5eeae526904138218defda7 GIT binary patch literal 66221 zcmbrmbyQr@k~d0(5IjK>Gz51-kl+dK?(PuWU4n;T!MzFY9-KylyEHB#xH}EqbobXu z?!7bb-FdTSzIXmQYoC42uC=S`SF)>4q_UzEHU3JMCgjI_8a3JR(h3d*C)iCB zwF7%i@5dsyQ@e=MsiErxdsyaLi0e&%mKfXD^}9YW8CItc=9&=UYK}~tXSds7jeFu3 zy5ZpLJiH%ITEx>zXz-)Sq#C(X+^lE>obeEeLXpR3-krLyCpvf2)2#};J1zw$%xM#4 zHt;$Tu+s^E5Hpfa5`Wu8i*cjPBv!PU63lI8B`;P1M>S{LpTch-&ZoICjZ`Wy&ZVpdoAfKmwVTE-|ob6qiKHDwfiVokr&34 z*^vi@jP=Aww62GR8bRwegrBYYEX1Dj1$YJ!Lz1c7dcke~=+UT*)y#0cz_xyae zN4ZW?zUsT%ZbyDY|I3gECKMPvf*0yA$rflB;t~P>StNykJWst_VWEvQL{zU?FN4?i zRZKcCIy^S|C(s*U*MR|>n{xPrttV9jo@4;eh=De0IiR zt<%J5Yj;E5GBhlh%auX}OO*UBt{2fFC+4 z+TIDgK&LoCmyo!0=j9{kZ8>4CeTwj&pAZ2!Vob%gfsdnf#Xo$1ciPi>ai;cHcH<{Tp0yiqn%)(plI81;&A!-w%j4=mf14ABKQ!r1F2=}P^W26t)l?x zz+L{{AB?6cCy}R?w29}PFc6I`P4yIQ6Y+t|6+S)F2Q(At#a5tTr2wDzyGJOW%EhX# zi!>}7Tws?syuJ~SH=HKWx^W#iv*Fr`6Ksq6m%!7cr7=@=46?Ol$Z%(g`*DRW@BMy` zR^TRGxr}nzFLDuB+w2Uy;;`cexCA||$wXy5OF`thZHe5%H;SRE%toH`o$KBRg+^>% z9k4$cPi1*CLcpSFp@L3F<{PZocO9ZVB+;$l>0f<7%DY%;NgLF48ZdK*+X-3SSD_6$ zs9a}r*JjNl!}0%#0Esjrb~bxO5YXP?8_YQopAl9fwPt8cP8s&gI?Yv>_@zhN>|G9g zLd!?0UemvAqq=EH)R7Bb92o6z-?ThSgpFu9F9xoy%Tx*26*g%LfTYE$+&5Wev#4e- z*>hEe2$1J zaEk8!gi^@S@722w73iR+!!V(XBSdiwMp`+Y$%?q{YXnd&_n)dewv@g)Y^^(md55W; zbwW%p*Wpa&t)=%$otv!=!kZ%4kJk^-G4n_+lz9?uT^XI9@a+kZk&viv5?9~r$CPa? z@iZUhJ%hb_7K^kM##2K_mOni%IbG+H%Kd!rxC5d4`%!f8^HxT)mqm88PjaEYjxN7` z6fisuOcDYy4OM>*R+;QW;&7GjBcZ@1Xqfc1zg||M-b$ff662JU()?OZBUs#yw6iJ{ zv!@esTInnDVi*>3oiZ@uxM;0s!qnFHda%D%OYQVNy+-)3bFhTJ|OPH>{Q)p88KRW9PtcJ3*bvfJEO!i_LHhxyZ3BLL!N6 zv?V*>P|9`NxE5d)?76Q|jjv!sjGnoA1dYh)Jj={MzvLmfkKw(FIZ!`Em(f4{jxp8c z*xI`bkuoP-xyXh{oit|V!L@FD_IV$mbeSgUeA}>8JK=KeG##E|to?*Z51)#e!N&8R z!A`9(!FPu+YN=RN;)Q)?w>k_T4xi`{o#+}~PtW-2*`PdS10fEwV`q%~9AbVrq6Sn#F*`j|fa zI!%Ar1|+a)3h(aQW+%KExXWdNG<-ybqYtrjqUGmPe%cAfx10YemA-&%t3AOP$1>n# z%y?GByNNV4EG7rmn0g~x= zzM_d1SLqeY^PmbKZg%14)}rbdL!{>0xQQ+ABSo>y(^*jSNO<0{AHkM^9Ww_6e2@s` z(|xLjm>zNvczxsZ&3D1`UwSG~qxibyJ?XsEeuy-4<1!?@p9h>bB~ z$7dBS7=X52&DB-GGDs{qA_778Mgcx)uO6YGL}^(Dg?CN5Ii_KWN6@9;%3Q>Ca9uO` zr;204IWou;<%K0fUeQS5@i(MzVO38*Mll{DiIEJoC0A^l3CON5)=H3=apz55lAyY8 zJ2^|QIs35ZP^fEUI+omHDznJz@a7tBCg& zb}CW`gws(;*2tqNqO)37vjX=k#5ou7gx&YuCW3x=b`(vF0cg0+Ox{ghw{1zNJTg$F zzgJT)(WR4@1Yef4A{`&C>fE(JuTqJ7S8z&ZmS@4*B>^_t8ssBXm=`Y`a`^&Wn^ZjCkHRNWVnX;oduTkmq;~Q9Zu~k_t{-f1ucr!KFce_yU zFw10J=&Ajv)7C+#TjtKNjKv<2k1l&&PL;isOs3_hjDxN6z9;d!#VEkd`*qNa3?7T zpR`OQdhXD5#+TPy(&Ec}_;T3Z3-MRsSNOA3P1@MD!F;WG-T7@~wB{WL%PhPp^p!bB zZ2n2t*9(!L$=@*t3X0qS(&PJchm!dEpH8mWw+DZQti%67_as)(UswCv%YV#%|MoG- zpE;i_pK|?uf9zl0aysXv)BWu^0y(<5xlQknq_R&;Oysx`QT^SI|JmpM z<$V8(F3W(R@Sf`i#A)E+pb!|mxBEzEog!sN}C`9~UJ%2-ktte)3{=%_5cS;}3UBSRWrS87;VRyHx81<(?%Y{QnQR7{#8w&NXiR>fahjWTf_nSS>JI{M5e@r0RO zbM)T)NQtkBh4K2Tqi_1dEmnJW|FyFDKE2hm`X38>H4YoDb>azfmfJ59dLwWDOwmCS z_j2dIBCa)%(Uh7xkBS{Qv~t*am+gpg$+iAI1n=X7WXw47d~ThUop{Fz z{txzkdh_3K_21d>FYy??e~A4g-|5CqaNyNnsVG!T{R|){+|?S%G5SVDfq!v<)$9CM zs#x4*fQ;;N03+6%D*QjQ|65`D@0Rs@gso%R&58>fz%~nv2@wA3uF$X3k=Re-k zx&4hpQZ-=`1Z4oshyj4 z(;1)6>mk~D7p$QTaleh{d^&k1xU+pBQjekD%)zcv{Ki^6b z@O;M%sXkL1YPmld|8nF#cjrG8z3cJ+r2rsNq@|_hFQzmvW%Id84nAZ3|3--aj;Sk1 zrp~Xz&k%aGYA~I}wWDSs zF={ASMW29Ahh(TPVl$j9q~@v1zjn@rkcL-~Y0I4TOBPGamZVf@g&h(K{-tLBl@9$@ z@K`jn^5Y%Mq9Mx8^ZPhl+58^;$-MtJG)7AXJ-Hh#ornmVnu-toO87h>ktLUuoZ@+Y z|Bxj*y0_QWD8XeyuUKSmeYnhSUxd`v)Q9YvlEj&P>|o(|G6gm-#T03mCn20IBF~A5 z1pjdQ58-kmeEum3)4Pep9qe`wGTHbF&(I^ivT_D>=%kP$!H1FNF?22$ujBGtCdrWU zyTxEkLdQGC9_FOUPdJ}x%BLf$s4_($#Lk(g@XcheHwRHUfN1#()+q(HJokOz&Ne!& zH1<}-zk~mQ;QtMO{$&c%ThK_be1LvCmlM|qyDA^J{sAkcoaQkA*!|`6>&=o1UXs~i zxc;cnEp++KbNzljQc@eJu>|JQsO`e#`z@mp9=EL;L# zv$1&nHAufLQ%ZmfgoUQ^&D7WRTfZsh zLqgV&N*9;BLxvH?Mui(w6>lHil@1v>ITkoB7Q>Yb{JwW@7mheL>-;MU9I^j@u^EX7 zzq4t7KgaeV>VM-v{5!AzWorH3 zptra8?(QyeJWt}UyD})Rs5q`(|L+dZ|7e*zRFW&cFy@rqg9%tRSZ0wyMD?kkXR*O<%D3vVtYl?H`!C~HkimxMD7-q z^#@UiFW#|jVeJ}(UyKs(1n-(h(xgfsToKePIwt(#f6XY5%paW4w#+Q}^f7hCZNLTY z{snWaO+t+G4d>aNv3$#_I^x;m>~EC?t$kYrXwK&}#eRA;GXuuCu614sGw2X?A#<=0BSUyHimK!xa{)eD79K%RHz^@lE%An<5Qfer>$AC`!$wo2X#A)w7*o%$LY*@A5k! z*nK1Ucf0?WUgv+wgioV1c<8?&yDK4Y{xFO=?4KU(XfozUeJZ-BK9=9hF`WzQ)F(lrxkD9xlT^7MoLR}rXktxJLCNZVYqPYhxJKmE*@Wj~cnKfi9| zfds20=C>~ysAw@CTOTAm<^DquU29&@llrlbgu%xE9!KfQ97#X&v5wft%j0bgjqO65 zOr5X6Yd4w}E$0|@7w>`XWpyhbn=&k9{Ik~PgbW7=D+@J18WxI~Iyj!tV7d=k1)8i< zh2N@I%^FWD*j#mi8()o`L9_Eoi}J&x*6)5Ep2 zpJH)wH$HhCFu{hn4eq$%$*j*EHF@hUlgcjs=g30)OO^FEDm;wPu(B^@U!3$(Mf_CW zz5kvvKc|)6x}4$pm?klQ+5lLoxd1xSAf^1wv;DxwdvLns?+r}KS-FQUwDsRdD$OQk`m?rWJWQ~z6);fz0MHohGH0%?WK8DQ1)6@m zZsd1$b=9(V?jw2qq1uSaz16PhJ=3&tT}zf_>9X%fE&M5Syku&InXEsu>=cg_rLSV- z3JRk3_Mpb%atp@2(;E+Wp8-+~ZMl&oE0_X>qcUuHdCt;vHdTPN!%3TGab$#LBi7(p znET+ByY~{g!0K?jL$!Hba`Ix{Dl1_8(^7fY{Gx`YrjYkRUZ0MRLt==1kouP?rzYMk z0RH~X6DGN1oTwp66=sl)kS;-(H4R?O@YJU!YNr5dMw>V+3&67r&#?RYMOW@Gs#;VK z*v{}0NlRO~p7LvY7quwf_Oye8sju^t&dIGuMV~~<`d^am)OaRPv5v-aazEU_WQ*x$ zb86XhsnTmz4UYvlu=^9NUK{xw#cGL1$XG_O7qZv}k$DLYj?&7|T`Ke*g4# zTbd0pOX~IyCjjsa3nCH!C#XZZ^o=sVqr3md%}`W7!t>F-Ipcd(6vA%3UR34_tM^435iGbXAD1 z+((k#8$>VjzHp28b~u!d7K)SH2Xvpfr1coUaGEL#=%NmK#8aJNo+x!!t=42_hgvs{f4~0$q2Kwr^Pltvu zDN*g}ULu2&g#1qyJgNV%J3FdfoJc2x2fTIFZ(G63f=|?+jKftRQE2RGRnt~pZmK7y zVewIGGLvLW8K<$(FvDqTI&W!%>cDYvY75vb%U%Q(l~>y&C&f~2wXSRV?%@kmHE;kQ zo!p>NHy(uh?1tWlwO7U%#x0(>C2OhAF>HLjd>QqaKhx9g3z2VWd0t(ehi|%VU9>?` zq_sNHsAkkhzu+M|Jkcq)&Ch)_Bo}u*+uLkyd^AZ+&f()xzp(NOXAO+ZaJ@4GSEI*K zH2fI&y*y|be?y+OxLa+Omuc=pY#);cLv^YMqOqN;PthBnjop`6Q#FCx)(m9N?G@X+ z6Lb;?2uD2*zq6Y(Ck_3oNvB@52jCdJBFla){YomyNqXdD)&4`b=0P)uSslTZJJ+er z0any-B4S@HF1%G&&p%J&%<~TPDT3_A9aVv+dw!Y|Y(g@-5N6$&HsG2JVUePqx@(A2 z9+<(3jIC2G9x=i2X8-&)&2HO$*_NDY;zVL@`;XbI@zNi9A2Or@1m;%N&8C!*XI2z~ zxHWLz94WaAeSRXa?5E=EZr>o6?pXJZdF8~#w-x<8&E(VxvFs{0s8BPpq(WOq?YORJ zne#EwfNDxdqY%!jE61GVZaF3UiUd78pRR4BG!$1nD!+Z&f;(N_%r?W$LRNKH4W`ax zj}xI09a`vyy;gz4TY40n@n)*xu?R~rzhnQEr~zx`DqZH$rJI{a7^_Eac}t6{uo;=S zm~h|^T@^jOjhYPBo4Sl8n>MnuCp*jI?^BYbLrTAwwW?$JJlZ7oxcgqOeGfy3%5(=2HAxI%jD(z78(1d!Uh zmO`gyZ|@G9Ie3N>|FybaLAYs(D6X=j=;Wi8f;a}`QTJyHBJX&=%CQuZCTI&KsBCfX zVDA}|{32{(dB#$|560kBiE(AwvQ9RRD?_^7$B&sHV^mp5 zz2zSn2b|?EPVCYHGe3RqwD(L@*D=&=nz8>99uhRZGdEuQ;#13a2P>d$MYe=Q@8$4= zf9RyM7rm1w z+WT_9KKFJZNt=ZS)Z^Om6+iOI^gxfkqy4Df>_g<6-(mZwJ_&k5y}EwRtErYI#l7qL zgGml3f8WLS$mQiFy&@wE%axa4xmLAdTKB8Y=Ddyf%D*{+Jn5DAx7^{V;5vUUJ|4P{ z)uSkJ)l~H=>FlqiEe3=97TkQfGna&)?%u9BT|yH49^jXvZHN2iBfrCeCX+4vhGe4M z<@c&*XJ_j5J1?!JF?{@Y8c6g%ANd;yDxm&ePSh9Vl-e4XYaVsXNd$vM_T*2}8*B#r_1*M@yTR*j=O76MUe z=iy)I4dIKK5nyhImLQ+&7n@^XA?WZ#0PIkU!qY(L`HM|#J-`*&JC~n@QU-GEqYqJP zZW+%X`lnD`4tF0N67ccysf}e=eR~j}uQc!zsqp(v`;g+$G_| z(Tt;QckBrvMBRau(tOJJouJNeV_{RC*OL9jk+nn!xk8&jUR7(WEL3A&ck{ra#VW2E zY%#{xz^LSB;Esw{c{K92MDTby?I^xHUx^djDnDbDhIQT7U zn-=37`(IC%26eyyK%wa$d|J08MuO42cHWlj(4bz&j@v!m*VxFD{y{JO)(1C%2U!$2YEu?4^j8_tJ&#wA&B0L7|4+P8$vjJ6Ue%iNMy5xw+NZ*_VJV zZAr20N(wzOB#>Eam5aPKjwIO^aJM0fA|xO%$X$x4-2xOF`rQcodO#+Qeqj^hIxd*A zH+RAd!B)}aKYYN#&J%0&p@r;iC0@rn&^d>-cKA8;5PSo0wD>0I+F0E{ylikHbvhET z-;HME6L>)MR5I!?D7+ZZ?0IjjSev9;SXIL;k-N)1k*mJ?wsQ+G0I>1$Qj2%;F7P-B zYRKeG7W4}2eIU~u%;L$@et+@k<~(|VSABukZcX{(XUGJEjlp2kUhoMHBjLr{;B!mQ z8D^#I@}T00v7$`Mz_atnUCWa?%rB}sr3-GC)VMq+(5;IGrbz#~Q$}z{F%M!2>)yvFQJrA{JtaQ^6%|2euSQF2*$0;YfxeHOH!Na-rd+>35_oHRrkRa?s z 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 w`2SpM{}0U(84kP}nM^G + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Personal│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Personal││Notes & Tags #1│┃ +┃│----------------------------││----------------------------│┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit││Tags: social, personal│┃ +┃│▣ QR Public  ▣ QR Private│││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 6 | Entry Num: 1│┌────────────────────────────────────────┐┃ +┃│npub: npub1qqsq9jhm9x8d522v7uyjzdmq2rslvaxpgu788dryzmjtn27h23wyvlqsv9m2r│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after28_pgp.png b/artifacts/ui_eval/current_tui2_after28_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6804164234fb7b10562826649e427034b83f96 GIT binary patch literal 64317 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 mI(^SH#uw;tH^Yx&xp?XzQu|VO@qyGV-Zg0^5 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after28_pgp.svg b/artifacts/ui_eval/current_tui2_after28_pgp.svg new file mode 100644 index 00000000..5d777184 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after28_pgp.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  My PGP key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  My PGP key││Notes & Tags #0│┃ +┃│----------------------------││----------------------------│┃ +┃│▣ Copy Public  ▣ Export Public││Tags: pgp, key│┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 20 | Entry Num: 0│┌────────────────────────────────────────┐┃ +┃│Fingerprint: ABCD1234│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_nostr.png b/artifacts/ui_eval/current_tui2_after29_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..6920c7bc83d078cbcafd6b6f0308f97af1f354cc GIT binary patch literal 60088 zcmb@ubyS<%wm#gJ7Fu){idzc>3Pp;$v=lE;+}$;}LrN)7ytoI4;_mJ)!9BP`fMCJ$ zOZV>H_uTQFJH~g3J&4?Y*@bnJ2ENUBVxzq2s1WRF5))%(KeO zrKUu?2;N87`dw&r&EeZEV(dAV)NeN&Cv2~zcpHucQMO$+t$AVxgvhry=4E<5Xd?;NSjg`{2RQNQ3h} zh37%J=TUuN07c)NNN0aE9b&Kae($msA^7ljyEg%Ef=ioD(MMrt&h9>7AOeaYS3v#! zV*-j)R6}DUtTc?3ge`F>Lp1Q|?_b(dy4Fu_F|x!uPu6>HuCM>A-s^fdPtONV(~m|X zE+N6%`}p@0L&RZBDSXbsDcsF8f4{`*<=F3!4`}>EP=0@o86rc$no(g}*sEKxRPEb6 zYuwxQ29murF_{2VZ0?%?9q`}-dlitJJ{G*hh|R?DpA3VxnxN*K3Pzbe35!z}Q4>*Q zuPf4J2lKKE+OBs&VlQ~aXI^Mr@1%*Aw!**<5(DRDBZMaEG$LBBfVV)QhLiGEpUIw7 z9kJ*g+1tIt6%dYG_z!r&-E>!KS}gkgInd{30s~Lov)0>f1oH``1=wf>3lk`$ABT1TZaGfDZMQHC

wb;zc^W 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 AqW}N^ literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after29_nostr.svg b/artifacts/ui_eval/current_tui2_after29_nostr.svg new file mode 100644 index 00000000..61aca2e5 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after29_nostr.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #5  Personal│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #5  Personal│││┃ +┃│----------------------------│└────────────────────────────┘┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_note.png b/artifacts/ui_eval/current_tui2_after29_note.png new file mode 100644 index 0000000000000000000000000000000000000000..53106197b1a125311c5958ce3d46d0730f5e024c GIT binary patch literal 58969 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  To-Do│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  To-Do│││┃ +┃│----------------------------│└────────────────────────────┘┃ +┃│Kind: note | File Type: txt│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_password.png b/artifacts/ui_eval/current_tui2_after29_password.png new file mode 100644 index 0000000000000000000000000000000000000000..7512feef060aa6b0f91e119c3df4a5aa374058d0 GIT binary patch literal 62272 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

+j@-Yg54bnNN(wW*%CF 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 K+2rgx9q~Un33^8W literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after29_password.svg b/artifacts/ui_eval/current_tui2_after29_password.svg new file mode 100644 index 00000000..347ee4ff --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after29_password.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  GitHub│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  GitHub│││┃ +┃│------------------------│└────────────────────────────┘┃ +┃│Kind: password | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_pgp.png b/artifacts/ui_eval/current_tui2_after29_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..a432ef04f203284f5e6674d7c7065317cf95a3fd GIT binary patch literal 61095 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⁡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 briReu>7KU_+!zhsL45heUdMvZz0ds<&%bEe literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after29_pgp.svg b/artifacts/ui_eval/current_tui2_after29_pgp.svg new file mode 100644 index 00000000..1a8f9ca8 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after29_pgp.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #4  My PGP key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #4  My PGP key│││┃ +┃│----------------------------│└────────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_ssh.png b/artifacts/ui_eval/current_tui2_after29_ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..68a2f8466ce06c722eadb300f48dc714c4f43966 GIT binary patch literal 61228 zcmb@ubyQnRyf#dg3Q`KirMP<_IJ6WeP@uRMcXvCK7K*!D@#4j;KwF9gmm)z61a}C5 zB#^x6IqkjYUF*Kzx9(kc|FzkBU}n!e^ZcHl43RI@6!0HVKET1j!BMkjg5L6)DxM6=xi2Eb{8!9r+zKue(H#a^D}a z;ZaWRGQXyJR_lyALh*g{p5DcsbBM#C$*umJUWll0$H|Sr3*waqa-QY8V~){zoZEX8 ze3I3C)oKQ+g?MZ`I>g`aZ?JqTrqujutftwl-Rzl{1pTgd#bS7(a*7IWk2ET&*eajY z(v-ybo9I{yP`D?qV9*yfV|mQjk^X%p>o?g?&vv8Fqtk22G5zVL!H9W>S~&(HIgQC3 zz>VLnGF0vCcIKNLj#}5_B53`$vm9zfTRt<*7KVmD@%Q%^6BCoVhH3r!{9hNJIF+!Y z?|xnXVcQlhrT^2doA_mFxyZ_HWaY2!Z~xN@=fk5ywl3surNr3OY)P9O=DHi>^Mc~{ zOEUr{rQO}#!A{{mTg9@e2tqoR-*0d{9!K}O^Tv?kv#RB6@9i=E$MaK&O@7e%v@R2w zEjbNMFE#P+H+(jLW>+N4&iyMa?N8&gP?=l5?@91);{U#V3Gl!J80n7ge_VC0G+-{% zJSw+=W8D5qNm1P;gK% zVE>lxn*v%U^G!UVsM%ct87=Z5EVDwqY#);bj(YEQvw zu}vEgxqMl>eE;zJ_{Y7>+Fcj*MT98$rzs}gN2)_4^vUe^d{gYO*qYmJ zQyz98D=@I8JxG21Vt$C|}PjVcu*4BV-KBse&(ZI#QXitF7ggB%e(E>}jAdTvAB z{WKx;Iu0G^_z)@W;gx6FVxA)9{EJOMgJIzO;mVg}%p~$`Y%}`}T;K7?B-Z9$kKtkK zJJu}E?U$NGUt`9Yye5O<*&@&i3v?A;ZATv0x^CyB**goQtGfACf|~5(vu_6?82cgO zwAUd>uBxmnW7TR>Zo^JY-W296hH9)^&C$hba-Rr*g~d5uNn ztBU!^E%cQ5EE@?2-)|^{meW-YSjuBIb(0+v+bWo*^t3cJ#DeMZ#S;32GBKVN&>?Wo zFKDJmD6jTWi4?hCpB?%H;NBPYytLR^r-EqZ@3c)*HKWjLD4j$L0JGcnNX;y!_oG8? ztN&0pLS@XynMCh-<(j1Q^}_xX`pIlCig%Z`RTla_$(J|ynHZ9;Fa$Hz35l)k+>-`K zyB66E#eQ2JvxHl3-CAi`dHq-~mu38V3b=xb*(^l%b)dgp=Tgaq7TsqGz8EX$#!Mfn z#g5;W5bw4TdMHse1dd3btbN`H;b#z7`{y)vinHVy!?C} z58Q)EqBd`hUwIg`NVSaO4S6~nytRU1&EGI+_=4UgJhR{Y#T)4|cF&HwDykf3XKV63 zr$Lo-AsvUi(dn4%YG$$*6r+fcMMI7ss`V0Qy3^R7PdStadZw}5@Uvc+E#xXw`TeK$ z5a+9WOc~8e*NK6=6zs60TkI;6NVIje28lUN7fvP(*mAiQp>}`8uMr)ZU8!`Q*6m-9 z&NG~Y284D)vdx@N&?tq2*&02!p1Agq3z|gj*GHcz&|zjm4O+z_g}Itdi$hOz7tp5~ zV>-l$CF$GCh>VPGt&8momnx=IVDQSt7oBH*EoT^CQD5Kj#&c924N#}Hbp}lqveTGw zNyY1PHBy_j9~&2P7PQcGMuD-D@jv>cO3ny<=A&g-KOqvvBS*-LiyM2{yC)4S$ z7EYv}x4EzXi?cpKNxTJJ#aprr`8QZr3_Ye-0^N4sybJL@OR2;2W{!Q9a%IdU7;GL+ z56$K*n`b&>#bak>X2+7OD}++ys>O-7JP+lgS0(;=hQ>3Jg^r*bF?HBeVYin*=^A=f ziJ8Ezd01-5BWJ%!w;`P=p{i@ryzTBi^oe?iSJd}N+v`gFX2TlEQAc6^7k)=·k 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after29_ssh.svg b/artifacts/ui_eval/current_tui2_after29_ssh.svg new file mode 100644 index 00000000..3f9496a9 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after29_ssh.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  My SSH Key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #3  My SSH Key│││┃ +┃│----------------------------│└────────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after29_totp.png b/artifacts/ui_eval/current_tui2_after29_totp.png new file mode 100644 index 0000000000000000000000000000000000000000..7db862e0fe29513651d4780ad58bd5bb7246155c GIT binary patch literal 59486 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 6/6  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Discord 2FA│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││  0      | 0      | GitHub                      | password       | https://github.com       | NO ││ +││││││  1      | 1      | To-Do                       | note           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Discord 2FA│││┃ +┃│----------------------------│└────────────────────────────┘┃ +┃│2FA Board│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after2_convert.png b/artifacts/ui_eval/current_tui2_after2_convert.png new file mode 100644 index 0000000000000000000000000000000000000000..04f87b50eb3c1c8f4c0adf87d4f1bc78684504e2 GIT binary patch literal 16594 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after3.png b/artifacts/ui_eval/current_tui2_after3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9e8f509659d559276a6dccd93e7b725af4723b GIT binary patch literal 81744 zcmdSB1yCGY+b+tEk%RytSnwnScXvo|2`+=XYp}r~2?;L29fAz*gWCjmcMtB6!C{7( zJIPM6zwfX6{dMY`zs{}O)kRhJtku1Gz3a7SJuksZ3R0L4i65e&p<&8Mi>siaq2EVC zyHkGu7V3`SyI?gmw8v;N;;+@*Q}=H$T}ZZ!Xgo#Gc=7n6dE@yi1+nh(iK;zU`Bwd` zyWBXH_WPW)4JVThVIyWGb2OgNgGRm0)AC-Bo7_Q*F>o;E<2>e(-N?e*l&{UN8(5NK z_0a7f<-K0VkP5ICi|E#nR1c_-tn7-G%nFPTcoKki_~j{?=+ht1G)a=@ zKZ;AE0Pi$_cNUekc4OV(b_aH_{N2}5 zpnEK~l_*kKyw{YDDSWTHKAG{W_TOY6S^QRw z%;`oyLHNEC2AVf#JKFJ{v|(g%GxF@i*ApPyTP`bJNC<*L@o>KU42nF>@CWL_8ay!ymv9daX(0=8@D-%2B4%7E1!jKUa^-5j3`QqymAL1}owtOQfs)tydx z;qb$N=%OfZx$0CY-X99c8X3Qs$#PQ=Ntw*}P>Okb&`m&BK+2qMBiyTjR5ky(Ud!=fPavm9DXyTQFz3Fl}QJ_dyA+gzds7Y5p zwh)2ms&YbFri=QjA1N}0Fd{PfwPE|>1-c*dLFBB53ZR3s7jiS7k-TFr)<4wUrichg z$>!Q{KMw*PTvhP|v>f~0OzfM@Hn}1#8WD!rYnSCQK1P>#%_pPF4#*jWz*!@J7QCNa1URtM8G5INtkWSP`IL`p|9;RJYyD{kQ?qh+RR`kh5U4U6k6`E_-k3f*_JSe#fO#d$mXNGUt4D&SYob(Mu38i~6ut zsbuN-h57@3dC-N)#t&tGSHH7MH!01sbFdWXR+H@KNDTQtj2!ku?jkQUknRgXGCIPi zFg?HPk16AqTP+!ag^q_b4T#f7V>G0W~^?Eb1DnbQ5~%SV^%{tDM>*IvVB>Qh%0!$4mrw@{q7 z!f@D1_r=?560u>p>nh0Y>BSmZ28`+CR*f$s9G$|Mjj+=1V%p!&O>Kkxk?$dRsWIW2 z2jX~TDLL_=da^l&ZO{5!DmHO_K7G?^*C*&GrQhsXl1Lc58zN*6bN~%}OWaP*rNsYX z!t27B_8k%_bp8B$&)kM<+7C6}gG* z8wW9a`+ZLmI|}0oo$xzE%qR>8&KOu?3lM=-H{Q*%fmaTtkf+~h+=i|%sspCdmX>`d zWN@=uC<{Mk1%g@fccEeh*+(OUnp+uyJ@(aL%=V9VT)?P6zj!{=JJnK^B4%{*^{kTG ziH+gB>VT!5rc>}rMaD)1xp7byqff)I<0rqJx=r|JlVOETP)5PNLTyqg`EVi~v}&^? zQd0Qhsg%o393)41am0f=J)OAcAY`fs;?^`f*F&LjZ=kV4JRD#KKU-yTp z-JPHL9*OK$byzs^xfCPqpQ}A`;U&lN*)dv{Ti%a^v?o=(tPnv^K%kcsh)45tZFBv1 zhiEbon=z_)8Qr$hv@z@y_B~|T1k@vnj(X^4`Lf4pZ!*6F5cGmK+PLYkWj@N02}L?= zzZv9g_lHx{2a}@8CSxQHJ(11}-7S}Akwn1XGQa30nXMJ9I@E3TOMa@A1KY-R1!p^^XEWxF=>4>Hl3hz4 z2cM208i-1xJt^Vot3axY)*EJh&Qe*Es&=?+f_~7=5l^lL7yGf& z@%J!mI(9jS(Y{r=2I0a-kSL!W(8Bj^cd@gJn%!8G+&Yx#nME{3D-y*8*kHqzijBej>zott!*R31mdeO$MH`!EeFeml9eH+%CV zXkViyN%yIZVU4|6Dc{QJs+@X$V_GWCNBXwRgovih<;Ck6HQU*dH{;iDkNpt)UR^j$ zjmU3ue!FWm0<)Wx^hUJd$VLdfp#GKWp1#sFay{{DVeARMvkvP0wDdtbCnU|)7edCqBgAE0@C zh2Q_yH~weP^u_j#Fd`u9$fZH#0ws}n+Lr85Hvv*}>4JxW?i*R>W6D>pk&f6RM5CJN z-n8Fm0xfsyTgo2E#X&b0Ojd?>ch;)5YDG4mb*~v*g`Pqwv(BFrUR3mKS^CD-9GTLo z-1bpZac!#{3Z(EY2Tj5%8VAGofwd=MDI&*7A}-@&a?6V3acA*DK*}LC#Rnn27wvv? zC+Gsfm*X8GJG?R2*`O%#4_}!3pjo(Ji+Cq)3!DSmE0&#@&wJn~4 z9Fq|f-At!wb1P48#sMCF>VX=hH53~7Nmq#LdxKBsv9)(xr#BM`ml=FEk)!~Y;b;f# zFbE9s!r+)&t29Nn>Sd%30@fI>rSLP@j_H!}O%kHlv(6$4@It~4bPgA!W7o>yr?3jh zV0v#%(N;t=or7iLbjAExnXc|ihvM2O1d$hGlEVuO5XodeYIM7>Pw21T8LP7ahNx4bl;a^X<9sgXRkzl)Ef8kFtTRVL6HE{p*J`!HL7PwTeT`qOiaCh?^J|@6 zh!4WO{#Iqg{KZWB5s%a*&nO8E+eA-MU_`pumNH5}@8+@P#~~*I5ECMDa^K@#8W#Pg zx_4r7pzn(*BGsVk605YIaX5vZ8U!foTc(t{_2nMP)!K5oaK&(6P2%f3oM6Paja36- zKu_fG{2sVh<&k~4;EXtTBAJ35Ax1of&ALTY*NS=}>XmnG?Cg9tlPn1E!xW4Q z0tAR{ArqyK`)?V`!pu*QV;+^yKo?w(ODu`#p8V|avr}i`ootL0lT+dlVSBi?61^+| zd9a4&QWq=rpEjE0at|ecSgOAddx`u1Tzxrw_Vl0ptij*#hpGPi*v0zrV!|)?sQSc z!2TNxK&^)VaasJ^_c3xktuD<@Az>UZlj}6@wXPnjsO_`{$3E;F)2$}LAJpP@*n#7- zG-&%z8Z*Q_bWX1omyNHtNiUl)25UY9t)_Mo$Q7t*zo8?pFMJ#>csE?vgpT~RI?>YB z_$SMCI?Hup21&|cS}96J)I*}6_pO;aVcx{V^<5#OJsf?bJ*u5&6Fu&CxZ+oR^wn$l z!@c#y;*L#{g|}`dO@mu4#V~4pNKA_6oHoWLb20Ze=ODcLmD~eoUqb*Vrh3_~j-WLO zn|9q#Fa1CxGp0JaR++DCoe3fg$Q(4M%j?EG7?^cO?c^s`Wk-9sG{Pj)H7vrzq?AnP zmbQLg21ur(PG)gRMMCDxe;Hk&G3W71PN#7EX)Ve%oC)oai>p|5>viZYtNfOXrsMuK z2LpW-_J-5U)6O=ktIO|qoBstPv8TuIxrjJO>4`Rq_&-*he-qY!R?(p+{>q_~*3UQn z{-_ojPeziYwyj*m%Y>(4@gbd0DxM<$QT_#Q^A}q5jC|1@N}hkZ{BJ7ve;yK^ zNS0Qh1Q_PTd93Cr#KlhjIvnJl0f;M6pak&5mK2O~yMZU{cUto&=LY6#!7(glx(#zx zMvJ-vgxzve0rjPg?p%sfT-t;He*G%$0d?tPz{7C)n$9?ahaKD&E0>ed09VXVhP2w% zHvGjYai&r{)T-~aT(@$a`n{BYUZU<;uJ4F)9=ohOAts9aGNsZqoR=9@L@!CHD2nk2utEXp;LQ7&LpTM3etni~OI3_HVX-$oRu3 z6zcc`qx}1L+b+Fx#n1e2-ZVfSrr+%8nr=c&Lh=A@BHUY8M3GMT@vrGH zoE*eA_~FA`gIuRdPyi_9?}y z|1+NWZ=JNPS*@+U&=#3pyB28DYcWmnUGSVU#c$FU+14@^#%eO=Z~{8xvYA5Zs~_70 z;}JTqhs!ekG}#Ex(Vj^zmX@f!BBC<8d==&C?ydSBJ}r{`0HTcha_%&1e@$wKV8`sB z+KrF=Jh_&gewa@il=)QW%8tt0m7r7<`*}`>i4fQ@bW-MjkW83@ka=h{LbK^Jp6MLqjP_pvT<^3(GO*U8px_tvrU88>!v zrEt(C>vQ!4l$~dkpaiIgNtPC@R?nhzvigU6(fOgGKTnifDinoR@M1<9HlTD@9a_lg zlqqe?A==a5=fMTZF?HDy+mY)mI!cFp!M~5TfJMBm0i@KbQZceMRnDaUCCyjz`Qa%# zDZT$U&HR4r_GA%2#*PtWTw(eggXuaCZTv;V?EDi*(}8w>YP>>Rfy-WO+O+pR z&nz*PqAK3rgHO#baYHTe^#C29ysV{&^dPyx+~|tfp?dEYrP^`f5rIS<>%re+KX6*;tHp4qMEHWXi~5tx zV*sATv`d0{(|Vql`4|uX(*7VFNw-sBDelRPS#N+VRYK4?)yvn+wH5&h`Tk_gWih>G zQGX2W*W^lmv7HBIiM}8kjt?>%0+{!jn9-$hB?eyJTbnIhuwPQ?BD#OqXY;X-dY>7{ z=kF|xPa!X$1>!G+i1Opn zKi9$*v8JTm)wQ0Ci9ut_-?4rMUQ!;|QWFf*nKEVXBMuLr5$ztx$>7?FHMXG(=(W8% zdRCVFzKFHCc2uG8Fvs#l%Y^rj(=Lo!bPqOKJnzo@^+LRHL4S;Li*>Wu$@ktv_+ zT#RdMLAs};U)$?tj?@~Q_)xE)-&?~P+cVWxyO0y};BDhm^`0SatPFFlIq4)b%z{4~ zV#RDlBPMFSSm%YtyrhqSb^ek{^rlZL#5K~TakSjNT1;1twpe;xy2b+LXKcYT4A8^K2ReeAX+S@nf6LIc_PFyfL}n@S|LYMsGZ}0?0IE8SebH~ znI@Z=n<)kRV@+dPSeu1;QrNrIuy={^V7?uVlzcReKv%NG1;Zp?J$eE;jUv~GW+sgk zkQ#0LX5nDID*NkJYM z)dtBaNF zqRg+rJ39H1Wd4do2(zN{F!qXmCv$x-3Xq%n~hyl!UI(WC0gCKEYDm7itq&puin zC4=6*v3mX-CnT4y&9kxPFs;IdDmxW2LCcBWF)U!8vU*Es`Qe*X{k|^rwH+rG#gG$M zmq0REezvD;5;A6RJ)r~jZY$%g3%aGX6OYA%G{j@J=*1bs7XX=8u5^>g*zNP{CUU<( z7R&wAVC*jYx+$T9`z{~#oFtv9U~FS zx9F810(gbaT9*ID0;FaNa?zh?ekQjDFzQA}VjE~S`_cZ2AK%3pFJ88!%}>QlR)w@~ z-*KLkeeEis6;B;qXp>yZko5kxKiHKswJerB;ceDab3~kPtnNaOsJcYFscY8Ti(so`#c3c{b-FV39NDIPHmn4nsk<9n z43p|wD);x^Drg8hZ@_}nT(s6bUKcA!&^+uzro6$iiqG8KWhw5hf1^PCh=*^}S5ipQ zJ2}oJz?qe^{x5auQz>w4Obo}Y(}fBLHYhDM_NnG7W45G%P1W74N=5z5(QW1k+UR`d zZhq-aOV7naV7;J%H_InAhLA+wkI{Q~3D%cvzU^t=9rkG2ZHM z8G#RJWWEXtogQh<#LBi;+IY&bY{UPEi;jUTY*&SUPEoY=oyb1-*7by`@&Fb3ctNo4 z#K37l*6o+1SmOK)0{3TQIk|3mx2WjJVs_OHz5TLh^Os4t%ZsFH^x0%)Ioue3HvS3n zeP4cYPCDG9J&QR?VF(A&V1Z=ktlFGWtfXLEvzaiy{G$iB{j(>%u?(b-J_@~;&HNle z6=0pNqsmd1eDJ98KzwcOcK_#)_%hj{N9U?55uZiY*$rfqT3g+LmDXKmcM=bKnM;=5 z=1tc{{D_Zi!vQ74z4@Ea5o2~hTqtpGX}bb$-%6y*bzTj95@MD{^0%1LG`ZqeR#s>- zypLBqLnn2H(*$_9xw)s=!o$O3475|Y?ONK8m##v!-+z5F0*p+-0XKaZ-725^ku#V; z7f&bwA-FonS8zcXz~|Y3(>^?;v*3pKu`Fq*@*( zW4Ev{mkM#$A5;vy@7zhqol;U#a*!O3`a3LmGO)|ia)(;J&;0(MQ5HY?H`2+!C5iu* zSy~jJfDh~E9ik}Kfl9QjKUpypSP*_kEVPA24MNFk)Vq)2P_cK4$WUxJ9w9jcPpD>8tG;ZVb!Mh z2hF9zMpEbZ94j%J?7LPl+=Onz9elQQ3`Ay#T)=V-c6~V4b8gf=&F#(Kc|Osbddw}4 z;=JO1SXUD)KPfLh&4nNxmBEu@Zf^Je7K*gnWyQyYL6&d4!`v%UY_GPtERta!LKg#|A+ zrrAeErmTL`(8BFq9DA>(=oFD8ph_D%EsnVhxj*g*UQ$x5wKyCf8dpN;rDQ?r&=6LM z!!st99j9;SV?Fi`I&Qv~2Nyj|UmQ=wG8GRTY@XX?+`od{>>J#?5ZSY5is%+bf|lps zl#++~9&ZB-8ma6t{}#3(sAOtYjz0>FilCAn=5tCE%Sr@Occfptge`Ep@GT;{tt#Kf z3XM$Sju>;Ou9+EjWUT-d!YFzey=0~5o5>rK!?7N1s#U7kFDOZJ6U)^%`adswXL)*F zK6qCKhG4=S*{KQk`c0YR)E`SLZYK#kVUBYk%{GCbNK z7So&YqvPEXE%5eBgPSvqcAge}F$BCHdeqXiry4P;CP+2q@_U&M*iUMJrnzLkU8RsJ zDi`eJcPDn1Ljy3$l_0e1#LaZC?Jo!i$y!1)I&(38 zcAjG76dqBj&1_Tsr{essiyQM{9>{fp-X67nZPmdX(yQ@YJZzl8_M)DYR7`EHr`26MnK#<$Bi8vPpR>51 z!yDIx3u7y;apc6avLwnn0kR}Z(UThV1uV>2Zx%I{@qwAt!DWkN9X`P-BTpSa>xK zAFOW|6#PZ&^`((!J3lNF;5>T!_H04y6yx5pY;exz1NXE|_25}?#&kM^IOQ2X#5 z-LX+K-t^A&^qejE+W5-}jKf*tJiA%sawu=E=SuDLs8skg_@;4AyJtsi`QYHD52O96 z3)>grC2~2I-s?UFojtmNgS(ElGH!IgVX)AK&x?ip&Z$ATctq50=NL zoX#{)vD1kWYmlp5UrNQaUGqNS^Ee9clZ&~YaDjAt__w^4>kTJ*e$Ue~WD}3?_RROm zL2{(nUIYlm6-d7sgj_@4Er(f`k>B*uK-_JIw?rt8Mb=qMVT~Dx#dH&FA0fW)!Go%C zaXc-&lOhdKXWqMV2KTQnc&Eb2y{?{Wt#lCny+*!GfzLlEt3M^)9v=A!td{Zyzv-2! zNLTu-&+M7Nq zmMCGF@G$Fa$ugJJVb>U5Akufwt6|~r{C;;|@64B{VRcmn^=w2^&z`JIoI?X=7Gn>3n{fwfD_7J1Z%OSuv^@A^@Jm&#rJf+ zPJo>A3o@y#qQ5*&SiC=Z*KY94@>7Zt7?N#ryjOFRadSLrK)MG~l3X z03DNa!mDts;dE}Wn&4?$g-75T*h@4su&;ir0Ht|Cp`tJ>|iGzQ7(oaVTx{|)->}W+Z{J$QO0yE zJuIud<)fG0#SnIgDGFjpcXD)%R14W$P~e**87|a)HC??k`mKSQ8XcVmOMTlvjkzpz zP(x8&rh>WFcs+$K7<$*mj$U;VpCgnqb~m*-G>aKaBHVwV`KmbIQ&-YlW}TQrfh!@1 z%9W=Vi^;a;-LavYU5(}ERc~J!Dk>N{yx1oYL@oSVMB?1;e8?TWoaA=j0r2 zqv}@HRW0=9<1sik8Y46Q&ue4kWf=ID^YmM60$Nv3YvTxz0HlGDvHR6ovy@_MDnC=PI`{D?VS?1_E)Qvt>Ej!pjxNT`NjLsv|SVb<#4N zes+83ru9PDb+Dt5#O+E9)?bkC$Y21M-QA^WxoS=i9I^VfF=8lOgde67OL=-)D;mQx zX^T`H)wb~ATd;gJY@2O?ue5>W^$V63cNMg+C z=k_5LV|7*w=7;JJG(e_Dgwg62Tqsb0;x;(xroA+z7U1useOAO=HZ&AA^sj> zjwjezfAbe)+H8y3U&hMyiEQC<{BtGjj)__%GYn(x;-rK0FUXK#PFOXC$n`M*#oJ1t zAWqz`Pom(89xcKasX)2B*ta*y?~Ssq!(JJS@Qq;-z*__y9+S&$pI#S)k|pxM!a((Se`g%<8}J;k2``o{ zqg%}~_b!g8aZ#VVKUm2r(Fe`CqDp#5MwgsRH^;?xcLOgNWIkn~8|>XKM|Z)WLub8N zk<8dr+tU=+kVKm>E!_}NF-dwNEG4R=!!Z=$D%HTh=*f+AQim>^2KSZgQ7hNYy9j=9m%LCAY~BYhs-|)B2F%lpBH8t;^TvRT=Cxj%2r;5+h?oq zaM7hb5zI84DeD^l(0ApHCHuyLdg?CyMZa2S>uoS&FW7KHdNlti9&_470)>3>nbSHQ z%t0l^a6*joXT8*zGl{hFraKGk-@6yG6Ix>`@5;Yo1ICYuYe}#^l#I}97Y4gb52Vm- zPYQWW@d;ud%(irsw&{y8%N}n<25Hj7&v3PlBKG_?Q9 z;$JZpub*f3&t`^+^UXJ=Bf4r^mUdL~HhW)g4uJTUvGFN>V*$!c*mr0`x#HH@fC=?3 zqkX5?lY{VT_EWE^(A5Q$I~W;cqP5_x984_+GjF*H3Aw7rNzF}VPT zbCF)AUmo{oIhvxFsNSp3o#&J&357hfbz>iI%wS{3(ahS-q9X0f+7t`z^k*Cn%mik> z7538(!s|12jXL;>|YNa`54H`4J&^7QWQOrRAjonH(>{ZNl0Ku^NbE>r2^Qa(z3mg`K93 zK9%HVQefJ5@ee3u-Q^L2X-7?01=a?yKf}fuUDT}m`s<(>uumi3{jL&5u%hm z0kTB0$Td=t*9k3nPvK{6*sxyszC4`;%lk?-4z$hVx7xovf0p#apdMqyC6g>)%p|m2 zf4WH-RNv_*ne#pBU-sJG-5!NpuV(o9UCv-b{7zL3=D_xg>FMjkUcck=g_$`FNiB!z z)*zco7Naj)I)6Fa<-Who6LI4rA#K(HRLtoYsg`+z`KW^dqb8+j7F%iME$i40P24jk zuDBxQh>=!u5esj#qswcz7sl{c2G(7?etNi0>|59{zO^wtVe)WA=G%&nh(rJ9fwRhN z@YC8hr@~qu{kSIz({HG)kDiIkl5We(a)obBfldv>Fsso8nyYgARP3eWE64Ym`K?d2ad`98+Sz6|~U$S!Y->yeR?g>5|vMQOof(#f^D)$Mr$>YQNNSi}lc7)}<68 zvvFY1V1>=%d3+KBceC4mXF|AX)f44(p5w{UWQ9b4K75yk!UuXGj7*|AKbqZOO~`?G zUT=e!5!cfY*y_9oFw!K!q%tqh19MNIwuHQrO}Kw$!ahA|s8TTVlaq$THLIBk_dFJ3OaIyYLSW-xi78zD)-O4nHKa z$On(hjosV?&m;5`^55H=@enKvi8z6HE2uIu9BTRtu|H}>q#0E3RvWaFT_ChmHuj;l z%-d8>43_Y37A+^uwe#4h^s?yT5_Zjq5{tOB4Cj)`#%Fxr{a+OjxM zy}EoAmUlbqiw#t@Z0U)nBJJw)Bukh31+9ne_XtAa7~m-!2MaCjXUL6c0-YC zR4!s+d~fU|&=U!7ENhnf9Yw}FlQ6a9B;)!8w6{i-zPhR|y0wu;1(y&N5^`We4aK8%9h5T8?iFo)P@w-PKVsp~zU8^vIG2$%zr< z(o(&Z<9NznHMQ~y<*rKg;S~f$lg4m|67S>zN@S>m2(;DVH(O5gVbP%UE!)uKEpVz3 zqfoT&E@?JMWkUq5PLFZpCnyslu~zp&_;)?ju2_ZA3y`Q?KaWB7&kjxD0b@V-sDB?5 z|4lX1e+HKRd&!~juicd5zWjHeC1QsRpjky+noKn+ z1*}^hayh0+Co>*$Ox&R$CHf&P+lp9OP-kpbRMA5eZEWOkK9_RK$EmNB`30ywfI<|} z2JZ)FD?7>}7DY}7*(><53BcG1YbvyT5N=zc)!UJ&q2ruwcIc&pgW`o4hL>xnXu*KM zO*Ti_LSu`p8d+iW(&AsBnV+wu9QfT1I8b>5>In8J7zb`FCqwKiO*7{V8mh4nHTLsx;*GhyrPaV;db;L8jLTTCst5ReOes&-){@ zv;wB^%w&S8?Jn-MpBFEX5GFh)0+F_+D_GQ&vCydwy;Vd{*xgg?SCu!*DL+_|{wl$K zqlkIjpV%=5RQ$4d#6}U7D{D-RLy{aNqatZC%E<+5{gFAStKG~A?3@==+`dT)rma3E z{ju*3l^jmr^v*1o3OR1d`VB6ky#r}~GK@t%Nrc4`{$gh+J7JlIBW^> zk7W6`P(bnuu)>X%2VZvAxbh-08cZ=%M=3;huDkrcE@&z3_iUAOm$X<4~hy z%X}hYuJRz6IyvC69RZ$QPG+*{xe-?*Sf!9RDU`j`@TFzK6QA3adEjx0c+7+QAH|r3 z7MDrZ7+zaa3#s{v{-G~?>*ceeD zyLeosm_M{iO`WHc*QXU&Hg04=rx$lQp!6ashD%hS9lg=V)`OySkA(chjcU>F8TX>= z1nD!1)5cU_yd}E`CvRdQF|DG2cjlMngLT?$Mh0Dxw$#<8m548@@)Fs-$>=j2hY@)K zLRHW>@RklDI6T6C`E4iGX`WeJR^xh(MVt=}q2;ZQL37$X;4RWL zpfk*4t~X3FvxCpSDTFIhMYFFR!`k$!mPiKQgoNZun}IYK0%Z>zjn;e-c-Dk z{1^sS>>lWGh{!xGrWwO`#AV~a!wqgHx$o*4-GWdvJD}+z+r95)p=;H$+%t&rm)AR8!sFz=~~mq=kAk3L>_0xE$v=u{9%t; z*E|%GjN3OXqepo?!$1McJD?9ZwA7U`a&_Rtcf+M-**>GiM4!w(Kt*{%-!?yz&=^*Y zAGtjdo)S@7;%S#t`w67iY7#Nri#K9Of*V`pvz3&&*N- zUi1kHv2jV@h26_>t(D}hWW_rO@jeiU+Lc!sMBgK(pa{}fLgx$SpE)?IuYaQ=`m+%5 zr(`i|=*4zi)uk~7xoCog_zTZR0gIaH1a*c zD)rPMnSIW0m%_eQE*Pl+CXUDC9?4mK@EixcVm}mT;Q@I7ROsirIXJg4KBb!SZ5Psh zhl@A$vHLFef0kg=Zd#zn`?Fp&>(n1f(rj-!NfgfaR+?{#a2QR*4Saq7+BXyD3sD?V z{rtE0@Anyf?w>gUd)WrsVmS3wUG)f8(aqCFDh0w_tps;X2HdHWH^$!c8he-9At>#bs!Naeo6P?tbbS?0LD z`ymQ!z(|&Fj*p+GmoR2!uSXLZ)QUVA4P^gNs9HRKWKucW7vn4P8w;>>wUFmnd-+`P zD+_4Q@C`o0RU-Y%m@EO(L!})&2U6=CFJFZq2?h-E9Vg~abbdiHAs6bn4g9{9vj*wh zLUT$q{B@wivu{+J#8R=!Mj&JPH#E*m(&d!m(R`HgIcY8LRAnA@3~DK(KrWnHMh5wM zL0C}wHLRLOBI`}vRJ^SRpKcUFcwL~cin~x4ixxY~worw+JG5hk5xuI3wR-CFC=kmT z>OXub#y(l} z?1tEg^B5)8Z`h5ua~76We(p=}n|{j+790KR2^RW`v^cVlwzA25#&h|mtbGBZ?<1J! z+@p30QDHyqjTCzRTi&NTrztG>Yza^Dt^vfs%Z4IW*mrMQKKBELUW0pyxJdHI!;~}6 zmGUyC!h+aRKEG@cWHjjQy53QG`Sg$x+nT4X?~OV8-gw*_+mR(4sGINskI9%gJEZ{! zWnO8>Z0Z2tgsp=9D?+J|70awx!nCX;*|NF9A~W60(jezbY%1LCxA%hLLxs8a-rT}4 z;x;MUwQ<0HQygw;8b535l+VsZd$8-?(9bb@Fa;prEIX;lyEmrFRI>TR{{j7Wqze%s zr$>~Yx_1@xNN2DUU3EpNdm17}qWB_4Iw!Hb(Gz_z=!@A9#d%7a^WYK~N;;+YJKlTO zS@9ndO50TU*j$y>30eHbkio>mJ81Ukm@W*B6_@I_1j*Yuaka z*`;xj5O0#QMP{D<8H|$Klr^iYfY@T1esu78w}-0}<=%lW|7s3BOHRl8rJS6YdHl}1 zp6OU~3@k3f=M%5AlUn8*tp8BB-)+6`J=6d3C`hI`qCs{BTnq|fAOhGk% zAw^`I`#}%AeIRv`gHcRPqPf#wR8N8Y(q-(C^v$Bs!F2r8)IW@W)}qN>wnAJ!5;@a6 z*emN0&A5;!@re2>-P7;L#P8%32;}lj-5z+c!eX$HPv7Yp3Y*KFsLdkJbCIFuTU1HJDkui~j3w zd|jQJf%3 z$sywu=X2FAf_>=x@MI0=NR5y)_eIHXeOJ1@VQMz)g*JsR%v8N)DIaaUg~3;_^mf8A zg8r#%v(M$Kqi?1TZF+NG48}LT)1A+PyydwZJC_X8V6vm5a<$Qtodm)wDxdsU# zpy)~CG-p4PWn-&|%06I!mTYjRsI0TPF5g^bz6wS~ytE^m)KdP0@sA94ql_?ISC50( zqfq~6URaef`J14w{?A=h&ge2|xjrWgyZ@8P6V6xLx6ys~V?hHfX9UbK&z`o zWDFy;!wh9aRlsEFm#frB#G{CLMSqBSW-`C41gcRS{2vuosPhA=f~UCb2Vt-JN3tG5 zxZE?%oh|Hn2nRV<%1-qZo+dkiVbUs`@~Tw~$JIyTg*2tQKF=g7s$hh)e9+fSv|{*pEk=d6>}$H_?ZVsUIS4 z-ha(bhmqM0P(=|+4UDaVYTcE=USYS6q=Z);*%A~;hfF0l3LP==wvdVju<;um+K^`C z=(6?22;9im^mRM@tVm++(3asLGIk&}|4iv%LC3*hadi$!asb&t-sd@9twkRBjk$U0 zb(#b!=BqN9h-cDB9xfc*gfFA^_kDpc6H4e)Yw6Gk+GR&i8^-Vt`YzYqTr*jht1{Fn z?t@8nz!E-*zwG)~roOR}s+QSY8|{|5ZzgtoQ{!qzZyL4ZGzahvG)t!9UzpVh48~$Ri)9u6A$PfzB{Q^?&)VAA*-hJ`{{E=@weS5GKZGXt{y*2^PHEMm zYLnt7x>V>1fHLN8Y$~CiH4o|I zt*Jq%V`4f-Btl98#yEhrq2rgSUv`}j#b$4#l3K~2Gb!-H`bAXIjVduP&AM^ar$Q^A z%O^NYm%qC)QQt4&B$s(O2kSu`Os$BC_@1RIXgr>57~gY!vLdnZ@IAhX-6Aa5z|B6t z>8aP=h%-x?z9Ec|C4-E7cI9SUcs?{RP|BgAR^X>xCqmURBMYy`<)a_V4LD_mdIw zTCE1$_28nEDKzU|@|lknvp{7Y;fayf+RK`C-X4w=b=-v&Q8TvOq8iLkt82W!Hu}}d z^SW$b_Jn~|O1wl6dkW@VLszOv76yV^CXLz!x#l{E<2Za@4$YJ)9>Ol>JsV*fMt%1) ziWXSm?8t>5yyC!Axir;_DW>A;9CnWH>wURia<2GyYM?}@!SEEMnU_MDEV)lklM=s< z4|}ac7}M+*`?B`I)Vv4l8*H*|xxu9m$&bBu$JuTvMJCUY|39?7WmH>>+wI%EE3~DB zQruf8UfjLK-Q8V+2lpDKcp+HOqQPB*wYY}jkRZh!iaXpzY4?A>_kGX3XPhxkKJbC8 zWJ!{>o;9C2f6wW$pX7X-YKtT$17GE8Q6b808|A%t((C9e!7&<}93kLmc=^+L6%yC= zZgn~Q{AZnHXK-1St-m9t_emc)I=;o(8wQ+c>_9_dNU9IO5mK>1%2jTi9GgnKy4dL1 zm2vaeZ}PpG$K-0foJ8+f&q7;_aV~D+>)mX+y7Wdc)%4K)`b@s|Rm*(KfrcPmpF`9B z7OIX6?PfS_p}RGCSg?*t(&f%+j_^ANQK|Fu`kWt7;?NacAiR`b+c|Abiy$l%@|*?A zn&ZJ5u~^lG)^PA#>q@v_U9|(Bv+bQ3?_cj<(q5pz0$NBX~!QNg^t=hL~IO6mkx-1$jKM6H86VS!KS44@A+tn0X+?$(jM zEbQ`O6N;as`3N1l5s5akGS4tt@7V2n-J~`0h(;9uL^X`e!3r5jqwm{bq_)X0KcH1T ztt31WLtR9M-=cXejyA-p`1n;R6JXGH;tlNqJjJ0eL173=`D6d&p>-n8z8Mj zVyPvY_$H&ZFv05;S5_SYLT6l_AFBC#rBe~OcYIUmZ+)doH-SogLc<*FM(}u6-309( z8>Fw@gAY@p#&*Vxl3l_7J5T;V>u;?s6YGs`SlGC2n7U|FNE_iy!stQL-sKc(+ZZYV zUfuYaA85!cI1v|(tgt&OBAvuLL;&B-D6j<2=~|F8q@}2^(3_k)&}q4!#P70G3w3d{ zSra(*-9!4k%NcTkSt#$m$pYfSnE4*xxsT z3}(zexj`8IXaQX|rl;>TKEwAeX^{Gwh9sv0tT7iqFV6^9f6jLOkQYAcj!>akKdi7b z+di_5Ot~<;ayb}t<9=|pKNlps6rmP+R(_ScH*mC0!`5ZS2YZ63JwsIcr$9LOEbB4P zgywv%&Y;zh_XEcv6q~zfLcK|yO9*|&v4Sp#opXkX)TRcfqhdRsGsn|qRcny)P=cGc zu!&|_VB4;CD9!=5pT98W`46*F3X{2^)1T3npEe@P1J>{gZG39 z!44DSZm?aMr4KsuivAKyUv2C6M;V~_9@T}B} zfsl7dGk3nk)&gaN;c31k5~6NejN)~bx&Et&%d2HH(SD2R!EA)Ly6@SCpL?1ZSLcJV zXPaECdvh+aX@-MaF5B+q4vLk0HUgN6tY=Lr7qztzENpkTfXQK9W}!3NB|B8H?~9U| zqWUNZ$GMa)c>#`mF@ydffW(rgnAU{#y1wU?Y+pso% zt1Kw3Bjgy_Q5iV8WXuX++KZMVzI`_^lZW_aDsE4d}0M|M8jaaR-(G4z~Q>yq0|D6ZYn zM2Gt@37K{7nMx-)Kko%l(D;hC&`+Dmr8=DoL$Z?zhK^~vsY=taa6H%JOg@7a!NQrU z?SVky?*d-Cu9t=g{B4h`z$D#vg(la5oH(rn?GD7I?zVA-VdE*7>xh}M54C;vJr=O2 zQp%sm~R20TOKhnEKqSNq#nJC?;e=R4J~a?SbvNdHaeX{W{B#Nw;D&2x!5 zXU#-;p%aAGPWxldh$x}mQPvdl#$NlT<+XtY;Y>r%WPj7+xqa`3T)Ua3LqDUb&Mxkm z<2ZKBgzd{pebiWlj6*)BFL&>rf!+9c)!taubc1J0&3V3Iih!=!21@v6qic89&>|X# z|Eiejv>nGj?rLi;A*MVz&Bob`zvXJOp?vRzO~d@f(e`v^E27V*4DCw@+YB zYR{jQc}IMV)ELB+^>+bxEimlQ6+J#4UlB$|6o9mIZ<77f#{y8g?gDx(X-f)-Kz!=l5W|D+a zE`|Gvqhjh<4QlvrP^`EC*E=&L>}1?#OQUzha^+{jm@^-dmnBzxnt7l@c}g)rKF<5;fAh%{}!q3 zWud5Wk(}@GXsv97k5B&=*X#y!pJ1>iBAFy5M^Y#Yhs*c8k*mt{csI1sv9EWOF$216 z$jjTlL65gD<0etCUOinsuaL2{Ohc_MaMEMS&it~t{&H}3eyK?$^kFk}b6S4GYi%Kh z*w0(Jkl)SDPAy#M3bHHg{0N9m2{q2Fnkg!{A{l6ln>=a;-FJF*m)onV?Q~|OBy7k) z_BPXChrLAR^M&!dx~M7<<26hi-~HxVWy-p8JLb!0`|>f1 zkW3A=@)3=ibbP!6X10LyTuNwMk1tRf^9r(6Rc2*NR8>`MPPgYYqYL|0PUgU(&od%y z-R-d~S+&$zw&ukg%G?v=_DH>_uYhX2B-o!kYZFS9wEZBbQmuHbW~gBm;*M znq*^C4NynLKILIgh4R?wM(S&RD3GFtC{xC8Iu8U5DHRO0VbLjX#exPi3%V!UveXS*R9TR9k;^B>q^wUP8;gR4uZAHGDXjdxVIe;}%6>H_mYNqxw7*ZOU1|^Fep)_YD{qibLhOzQ%(sDjXHj zQMQ7Dk;(`|zG?;wHuynNA>$}Ie(>mH2{9d>vurl^6p-#pBG#`{mC@Y-5f;#)V&({m zp){#F9Sw*q5QQ+qtpqXa$A~S$Ny06xGsH$>g}<<$g$957jFOX3FK^1>gN8i))r3;) zUEmc@qXT*EHjAhIOZoXkdae8*a#ez}t!3gIx~IB*6doS;2)eqm!(vrygT&H&G?2L0 z>4*_YDO|Ya9>)E`v7D}CA3O&=3N4(oJLOzG%pRn>ck)8KCC>43~+!=9b6C-IO z4^UzH69d?inBnP`G|*>j+e98`lKL_ z$HVBEcT2}#j_7pZDTG4&RWWwfAPy1Ia(v^o$*!NL(FkPo=J;SvipSy#bB`>sHnELx zNF?LxiGZ~=sETp#$S%!8nt7qWarYdktKk}dXV3Zc@w_IF@jpq}>Cw|)`4+KN=disp zLEhvx+b*w4Qs+bGfNJHK=vQ+>03@UoVYuT?wLHEkN~5!r_|?8A7tR( zS_Ms&lpN)aj1F5dEOZ111jHHSCxvdIx>;#<6RWBgVtAbg+7A*Fy2g1qf5!wy2^h4E zLnnw;ue*EFx0mR*LWk@u?LA70WTHg0;yM%{icuWiIt#31-k$P26^sa!`BJ*J zah`h-^|Dx{KuXH3$?k%6UEMKF|7PVrMq(oL69&y*pQY|jYpNNau~GSQ-y@t}tjVR~ zZdqMy(GejG9%1kyIL)(%t19RvgR@5^2vredXRy)XmS%Lvu08DKe8**dpT}e0h2aM$ zQFblV*;QX^^^QK)ZB000d*$N?n+7z$%&6;#R;9e#-g#<|AP)oByQAv}9g;dn3C?Nu zjgLV?2}9Jjw4o`rj`Q}poDG_=YL0SU9a~dM%D7<8SiE2}1TSHCmsO93J$kjBs_|AA zWsdw&N!SvtZ*SX855fi^b3~BEkTE=;`%-v>JW_?AnA`S621oyl5tqEY4D7B$=h#R~ zrmFVqjAVmURe6j@7Pw_Di$WQZuf8iRyf7T$Rl^?YO5%RHaX-=wA@#%>#{5I=>Fu3W z?`IV)hjfnlN);4lYRo~l$mS-T2~e0daHFILNHN@VT!J-S zgPl&!lb(c7w=Jfu;rv)Ct+Jgt`V>gYPenp3#INxzEU}8$onH%l7z2snF!cP!GJJ&%4HN|007Ia^2+yvea-Lf~IPEP{?t<`th zUr3}$KHK&_{?=?mBZil@1&TfL2Bt6N!k#WX-pGNZ2j)7~LsRJodk?~>{(R4nSMMtBrr{DOoW}97IlCB;8jDYe%N9%c3 z`vXLH=;k!2LT%bMw~HaAhI}zIYNpz>dPpPQnWVw>LXaOxBsneMhgW;!^e+%(APF6G zi-Qcb7VwzzDVOJGEq#g?3I9UU?R5%5}=59Iz&UdCVOA+$#9J-22y-;wDdf0qF-c# zLM=I&KOC_XM0e3~ULC_0Zkn$o`>JBIkO6}((g!C3hqh%Tg`hbl|5T!fmEM0F_qTf9 z6;E_B-g!-p^GFO%klr2jISP$o{^Ga&I^X)*em(zlWdq>8Bpvc zovj$bee~uu(XcbJ$$8%o(e6CXyW_2`k!_LKk{Ax--d8CdLbK0LLgw;?y^@jT{k5hc zj^FeOQAqgFj-h)(DwX?||J?Mu-EL=QlH!MgA#sXimrk?0(+vvCw~u(j5`eGCNp^za z$FvFH8EMp^P{mlef8YsN&Qq4hsrIl|3}$b072bXx&j&uO9MDuqq#HZ6YwTz^iof7F z61eOVG@VmS@vU9Mc7#XEZ5St=7K-+(sCFT?&A+Cg`B03A393nlx^^q2N@9mjQ-%Kch;*Z|a z7Rtr@wOW1^0fC1^4uq!F?@l!ivnXLU(uEE`4LEU`lKFhiAvQBxkHakbBn`Y8yr|!w z$o5&A81|UiVNO=}+pd-vA;Pt zz9G{77#Ik|%)3JHnKc{)-M1#k$CHx1h=^hLME;XAM}nC-{=Su;@yC?SR>|ZlBs{b5 z=BC-f?i2sjHfK~nLZB=$iN_`9sb2Ft4kt{(##F(R=DlJBSK<137H27-xjD^LIS2X) z$l{J3*kK+YR_Y5S2<^)*r2nem90hy$EcUV`F(Zo0sdD_d~UvNxv&Fw#>)z1T*5Iw$I@zzqXPy`G}!^!)q!D8oi#09E>i6XOIqr>7iFdK$FZ{i*TO;0f;jKshV|qlv@EYpZ2v_@)vq z6uri(IeHIDGAHTUuGR-`4l&!0xq@B?-+E3L`qpLqFBR!&Z{;xUzc z(J5{p0Ym5u?9GThP$63BmeKdZ>^VAR%4&gN^nC%+3QdC*pN-tN6>NeK;{Rec_z)m{ zvo*k9Q029+;G_=o-a+fz%V+`j1W6#YPFr>hXWpewU&ZY;TA?;PN#N(ISyrVNvY1hw z&DTHrxy37_D@*SmY8^0j;!`EkR1Moi(UZ0VrS*k zlQ}%3Ze7de{BKcduJxpJoOKLW*W;W?qbs9qHnY^Ky4#z7Mf`H<(mqX2(`j=RC3qU^_qOI1KKIWnul*5x6i!I8W)Nru*8 zCT6Ft!N|tcv%W;o{J-rN;E6VX0D?ri{IwvV-R;Ut8b;kMos)oTmKrf{r9v9263Q?< zv1)m&Wyrx^S&!Yvvk^*7{ZR$ly|yKgO4TD7r?SH{Ki{fm@qE3-Mumw{y>Y?0zL{*p zv6ffoNo1&qV3}5KyK7j0%8B@IW}kbNj#Md!q_%mTxpG#k$@8pQ`XUlLZMED0E!oVP zcuEH~Q0X;GXm>0`qNs>4OhBEP$dic36WIs)4ZSSR`_F%YC*T$wV7n}jJL*4$Qmc+7 zia-*ScS^LE_%W!aUgCi+vPTaf%>QTB0hY@g zZ8N|-U-gf7UN!cb2KztY`kGJwv!@<_8^VsA$$_t0srq?wiG|iivI-pQTRm5@rDf<` zTciHRo__0K;SgP-Pg;uo{cY)>J$JG5!-jftxe)ydcL%c%Ww>GMsqf8=@Edp^m8I8Dk|3Ih2ZATz-Eb<4@0ffVs`7y)@9G~ zgsNw@BUPWy+hg9<=NJfe8KzA@0v=K2ET79anw;CBnqp~r$)Ny~YxmB%iVj;<9tE@U z)E|HcFdjy`(kObaK2l+O--c?+{TVeu8rk|LAAys++y0|{9|of$Az{a7394OxugEY7 zJ+Z74jl>WqmAao7EuTf2c4*Y9$~0#7i{R3OOG$KK?upqV1HId;llMQ@OJF{okq>EB zp%~SHd=1e%6a!<1>N&Ej-)M;+-sOW^&5P$5hN4UT%i{BuO+es$0itM7?@{WtUhBNv z-rl~%mt9)wv@2^fl-=j9HO=p@%mA3iNIAY2ZnV$UElU>R&{Qq#o%~kqwSJ%T-k3}L z)0&UVt^&}WlS+8|GG8*U*Z?nlw}>p55TmfNv@Z8 z^J5fE`ElTvzu)K;<4cXbCMvWivX3P~08DT6^-=(g@c+G(jQFpmG*m1BSj5@-j0e1> z<)6U8tsGSb;SSpQRe|wYi*Cd9JPKJK>KM7bU;>;!+HX-v92PeO#Upxi*6W);_SOJnYQrwjf;$h4Zxc@IAq*^K>8`<{`u1T zk2l2%0H)TRT)PA0s6PG83~G<7f0nC1_3iKtJ9nqef2?0WvURh_GSoTfuAQT>j&DEf zLH2a+l#f01F~X^X$svn>;2W#gHUS!CJLPElH}B^>-fKu{j4E* zY5t)&xE1y^XkUzO^U;CJS#5VXkiUK<7yr{j9Kc8`ZDE}RAzF@Ge^M_1_ZIW=^Xb`<;JV6KP1-f-=!Om+h0wrLOE zb2Gu&B8<2w>2}q!^i_`KLxLa^iQ(?FWa_MYXC4V`PkSBtx%Y^M_4d(I!-;ZdY$;pA zUa5T7Q>ac}Vo;`UDuhsfEPhi z(fe!PgVipB40uww1oq+!wZ4aC{T)smtcHW3EeI1RFgF3znF1cTWIk8C;&g0{{o$(ZL;rr<3gk<{F*L62!kCRI+*lUg!X`J+} zW}dK?`Oo>|tDU+0oeYj1C3rSb5UKc(gi^;fN3U@DHNF+7jC|n{d$rZS`FNiR)!Xl3 z^O~>jtf;Z^y^yhB0)=O2c16WFXvV3_r&fOEM6b-niMP_J4WbQx8E>Ef$?Z;yZkd@N zU1(JkAez4`U5@4rhanT$n7i+%#xbbf`?Dol??+#;$gsNciw-B5-HC_WoB6||2zg36 zsn%S@J70wUi)c5r2VqK~H@m|)=K`)+VgW0&QZb1#fe_EXtm5>2FVAXRtYT5=UX`jz zB1+WldPhjZx|aK*q+)8`^$9DMqMF2o>R4*5FV$GCsi{sYgLDnHEa_(H*XC#}06 z?I|-Tls7){Wf=7`8!wcFMAN%jGyD!6Xp{_^7mw?L*aY)Ux#{;JqC(hySqz<7GA$%R z8SsA_4V;W%N>hyA6n1b=s-Mj0j&6`&@~y)Rh(Xt=}Thw?VmJj=J9I=IRJ8j zZ+^emnR1WwA4}s`Mk80RP!*0DQa2!YdoxpT-4Sj@sb{Kp`6UAH0Sfn z!!JCY3urT|mZ9>DpUEglXwIWB~!w}uF?iwj~Kp9`1_UFU6HQK07B-39b znry#^uHO6TKzvC3bp|ztIGPj>$tRb4QngnmTvQ`$UV3q5xfPVdWT77PxLrQ<2?S56 zZ}THZc3k2t%ZM|J&xnQQ39hZ(Ui5tG&OzVq;OIcf#{^PbU<+~qA%vUP1 z8ofxW-?HC!EQxlq<>QJ^>9pbWvtm&Q{Ck$HI5Hr3Rcre*CC-i~DYRxn2OdSbK?8`G zGx*?>?$;nL-aV{d)IZnoTQ(`?9v;VCG^zE#2*iU?=Vb(drt5Q+Gc}!Gh#Sq8Puwo4 zcfU;6cvdakjkU1~M!((QWLy~drl1-KOe!26Qc=B3zk@#Xs=ACgWIKhtRwZdXs(*QT zqG|26ajfZ|`Z$*G|3?J4B+00Lgxs<@DpTPLD~kN*)2OcDETO+(eB*YHk7AQaW8UCc*PS(FbO4V&biyL+?agA_mO z1{KM?levXwN;flduoLuWMfthcQRX*VAQl}qOCCn7TQzp^Gb35zfFtrhcx)ZDr(Hm) zMIeLu=ViBCVO#H%yUBnn5sOHHaDsX#W5|JPI)yioyFK6WS@hN1V@buh1%%ovV#Cq`Q!m?1h@`9r#O0!1~~ zjpP4bCgAvgq^xs4xNq zK1R>(D+{VorLi`%ZE~syf0n*ATnZ!+=|&fiO2F`9ZfZ3NkmXI%lPTbzWlGpItizSN zSuSM8EaWV#Enwf?j4l4KO8*3HH4@MriHmmfxV`BYF@%T?oDHcp^Py!>RC|TGAsdG_ z-jI!1)v5ngeSI}!Y0zXS zSy9Cl`RaYgK_wR!{q-6r;8<@xumV!Fgyy?qQ`d>h1XYGCeFM74VS&GjA*P?`EwD>H zB=YRm6p>qx?_Ds#lCwC(dmrmNzi5Mpp!)jFm6bmN{;!wqw|ZV zykfB+Hz_q~)=s?osE*olAd|;XQnOVwDA&W~i@%X0ZGM@8ec97d?5(wZRxn(TK%PJ{ zv2;c(_qysjJv+;I;1@fcTLGv8SdLGh6B37JiFcc~zV!>wgBQFSmo-Q8zS`*bnt!?; z@j<}$UIq+Dcg2D-H~1Y+@A>N-rD{EAd=G>}Gm+$`Xh5b-%qJ(SXv?kza5j$*ni zm~PZV?{$PS0eR@-oz_*iXM}%>t2dlhxL%?367Za0faWnii$U}{_p@~CQ&nG~f2ho( z8%5B?n4*-!H;LGT7A%s^5|8p8=BAky4MHLP=GpYwgn`Ket*uJ*s;eiRK$V3JB(-SU z?cutVlf5=Sp3Q+bFo)+*F%}=flxAUCb~6?(rVv! zpL6QP_`vk9ZM zu5-EB)jYb}04vM*LqFi2;QA9WQKklB zmCB%xsdBZh@0~dB{Ae#&=c<~X&`W;*YXlGXvZPw6R+-N7d5f)25(mf2vI?!TUTs#w zv5?2n!0etjic*BO76CI7NSOdI1@Q)>EZY!Zbio0i=5VE?X{ty%X6)*v&45@1w z{t20=;{ro0itQwP_a{$e=gndY21zog^^w!?!*$uPCBF2vXvZ#~MW)xNe8) z-$jN#5Bn^?XxgB-C?HfkM!L2e7&hr*<;cQ|l>z!6%GJeoCzF#3b*xORRYGQ3``wB$ zJzni~t9d^c`9e6kJSUrssdH9*R@jo}a=$j+{L+C1vqD zyxhalfp=|mxW$d$m+z{)u9W`VC^NK`g-_JyMiylM%E_{&;;L0cIGg#TIrpUWyB?7c zEG)0}<#hS**`HHXOyO@mst!CCF%(JK$gm3U<@Uo$*t^3|d8x$DjIqm2ZIlmx#Xgfpfi9ozZbbMr6q8x0Ii6a-t(6d3i{eM$#*jV?Q*n0g)pMR3i5GowKB=8qzzO1!$q1xv5%Fh86YDi2s+6{PF zr%YZSK~?^i$=?#+PA?8o>nnthWn!(If6#6fD2&6UAoVN1Q*#*=`J$U>(S5-)IJ0ljb=@O%33-np^+oA_@jv`bO%0XRIAD#3X2 z)`P&?k%(>#5iTlg)wc$0Hkc>xu?%b3)aM`r9_D>+8EdxmoA)cxC{wx-Y^lN2A3t>2 zLfl*hrWTH{?OPdwXc@M&I4djZVfeXztOkw7`oP$Lp;@W# zbOgShK|bZGiGA}kdlU1{$OVgb zbnyVrlkk!__}~M7ivm?5#I@|+3YaN_Crozt8S&jWiCu8(<%}lc^S(gjlH#3QJo~e% zIy^i_9o?$!vz6(`lr5Ib_+1IGh$JEX@kWQM3zD*%!BTH<%jQCu2Z}nsF)`;arYk-+ zQ#ZZ6eywa~$H-j)I19?^zk$N=Y#q`GxfMh-(%4l{mab z|9K&Ed;Xmtqhd~&zH?ZTdka11x`8RatNXZR-34l@<&6F(-3h_#1@h~O=%#T8xJ|T) zg{7qf7K#2aiP2hjhxzpkW)kw;&A$uRt2g&H?Rb4@FOao_n3Kq|z0wYHBg>>>AOSE5 zIF)qf3svRUiP7VjnU7$uPAGuk3e`>!@x%O*!18vM6M zn|~^{+rG29GHlS&UI^Ai&-1zJd zw!JfOqg#HJubLBGr2{xJ=~fj}2m)!^wsBq^b+xJS#zCMd3HN#36!JVjXzuzXx-i&G zv=Nj0a5br!2*1<#mEdIFeh)q(8S>atl4%+J&f4E2aMQ8T_DF1+rPJl?=9rLfZO`Uf zXMBko%@CVS-OHxk% zYXwlG@Nl;+4Y%fxBo0PP17(PGEkKP?LCO%i=z;C14 zM#)UZ>sc$6P!lNBSR5(r@(w(`JPFTrvRw%M*`43PJn8X4$aQSGgWTDk*1u0+*MVed z8!%1$oQ!ma%ovPPBWm4`4jEq#$+Zucw-l54=@+@SHn{qte7)TrP|fyMz4?|3^ z$I6MRS;s}u=F#MYt?JDAz+SQbv%(|c({YT8m}P2r>P%~tB>7CW-*Et7^J^*np|(C9 zaRqmtOU<_663xo1bK9DluMeCuB34yMCb53OO<-p@@|3vBQSP;;cw@!a>Eb=kXyuyq z(vG8&7{P|k)Lo*cuw=gd$&evu_TG#8OE&G$$FAapu^n4>sCKSog9~W@ta<&gcVG~X zPT|^BRL3!cp}GbIoWNoTndlb52~#!Iuu$eUSfBDCMs+{_)|cUFEBicQsx~i?*L=9! z5g~l|fU-oH$HO`SE24|~jKwBBuY_3KsdoQRIsMj!Y9Iq(*fH3~eFRcmW=P!oX!


rY)wnKY`4Af$WexgRFOW()ApKA zWFQ=uQ*=LS&7BAzD#7ybpk=hPs8k*u^Bob_;G> z(+&Q@p0hN?BWyEf*hg<1uELi>92%gD=Dn1E+1YjEW7We5wj`A)?qR*OWu9x{(?R4TSv6p_GpmUKJskqy0Pu_4_XC-fgBJy zPXXhm{**$ofZre`!!Bj^_8{->wg<{Ep6Z!C`qj(JZnZ>ck_c(&I55SWDQnKDy(1_$ zwBpU30V|Ah!3ti?fi~bwm8VCQimR?z8v-jJdR;{G!=hEp!GG{&ui4$KIsn#Gx*V16 zm+{f$PoHJ+pt!7l(41s_>BIU^|88YrvjEzy{5;3i-XO@b#3wr!TS=$m<6QK$dy8zw zx(P%Nax+s;%8Shnn2uKXJvAKsd}ahu6V#qTg69ca6N_dYt)i>s8?H6JOB2S z%N&icpFGoK8{WecnJ=0oyq+qqTlS`jfy{}lX+Y$37@NjM_gSuo=R%Sbj{3OHv#~oF z8Wt#ow=Mq6`HrFi!MfMD})WakXGKrzPp4G3Q)N`rWE-3Cj!;7E!EO;PtAN_ zaZQ<0yefQTrS5Ed-)8zoTv#cQx~p0w(sql{0Ik?(g?OegoKIVz$t%&Y=+Wq*lAqzSM?~-~kldzGS8<7;%k%Y>_V1zkB z;xt*dyEOK`?{~9yKbS4>v|cv2n8l>###2AZ^h$LmM!D?n;)>XTP=h>PA{ucC%i4+D zQ{~^dxO_n1mp%ib_ig%l?YQ+8{6dzoQ}^ZSJ5##_&gQyuZ+S*OcAb}0%5|!;Nb2G- z|7OuzSH*i-^1IYDFPjsT=xYp=7=?A!%e}LoUsmB|vXMCD9$<(BAM@9}Pl^wgG_A)< zLB1E9ny$^yzf1%2z@$^gfl&&N+C7w22>mq`&-PRDKo|(_mQirMm7jFBh-CRZwRjzc z;h91v+$&drkj^|Cws)|m_pS>AYL?cEKFaBOn!XQyB-5`v68e#zn{$2h^fWX!86&co z7t6KWp3EqK@#Xyj?NUc7!)JgQ|Ec%!M6b}h0AMy~B~>ann3s6Oqvb;{Qi_uc`5#|D zbp3n4QP#`QuwE_>UkXAy_NalO0D0Ys_JP@~<#Y+h3A1wCqEKA?k>zr&?_p?z9EK^{ zmA^6q=SlogL?g%dm#o?eZNu98;dj5dXVkq=~)(4I^wmsKUr?Gt;7ot5|w9`p1L2EqZ;QaH!x` z$M}pZUF%eN%OM^r?kcU|I> z*R@Gsn5(Qgqqxt^#jJY5QmxCO!3GLe&R`79wgOc}iFX+iky0l1V*R9a4t-NxAR`P9 zwX5`r_=>Fe6E&UP?Zo|qlIEVE@ZZoY*u}|^V6#;EAg6$HQegBUT|z+j

i=A8O#le;xTrr;xoLx%h95LsrQi(11 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after6.svg b/artifacts/ui_eval/current_tui2_after6.svg new file mode 100644 index 00000000..86e1a7b2 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after6.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Entry Grid││ +│┌────────────────────────────┐│││Idx      Entry  Title                     Kind            Meta                 Arch││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││1. Selected entry 0││││Search entries (Enter to apply)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│Entry #0  managed_account AIIT│┃ +┃│------------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│┃ +┃││┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after7.png b/artifacts/ui_eval/current_tui2_after7.png new file mode 100644 index 0000000000000000000000000000000000000000..cd049c192054b5810b8c45dcb4ba18b545b5aefe GIT binary patch literal 54563 zcmce;bySJ}!#6BKcLZFs?DNBo5-%ph$cl}nBz%8dSZ1E0@?8a%mZu90J5 zzzFKOe2-G2??GuFRy)dzjAf5$dKJ?;u#A}<;C+wg6o#$MH0X{D zfHoa^oOU20)N7)ux0H!J%?u6>zJ(hq9$t&{y?gh3H{5(T`Zk<$Fnh4vOw6VS!erKz`K}??6pQ z=WJX}N$hY$!t(G5$4vsW;S6*I;JgBi*#Q63DA`^(y`<^v*WgDrdTNLgdIE$ddvW8c zgPylskFD+OlmL@m<}!@L(vfsze>>KOArK0Hks)(I7x;Kfi{Ia;J$=2gEP(TEo@hd< zF!Ikh@;9r6^K7l~$PaCPp1|Y>}<1#mf4I*E0 z#s@(&W_25G1YrAy+N$Z@)F}74%#-J$KuV9G)%E$+^p6s%Ux7@y>ujBb`y%|zS zt{CuuHpGDmfxkK)Anj_ zZayLp>y5)4DA~RAWpT7Um(I#^_nw{7b(A`o3J3o-T|UB=KuN%RWGmpa26r!|w_ji@ zA*(@YCfO6E9A-xQKBv9#>!Vb!4l5+C;c3C{34pD-n-`6uBT*OI6s>ukbsko0K2Uq| zcW#(OuwcQ)&Id;KRrBXBwe9K$5%q%yRjR2ckzT$Ij#*5SN+=|hzDo9OdEHI}g!y~x zGwHV~d;@}%U*#LN9Zq||bLVq!nM8L(_F2KJijgbF3n);!yapq*Se%@}dwkBWZl@Pp zv}hCZ*%w0n!nwX?9BoywpNNG4n@xxD@ce!iRr;OCxk4QkC zO2u|&PWr<58>I5|_lh$y3UG7qkU}#yJg6J#q!UQv-VN3k>a+6!pF`03$#$N9ph(Yc z{_gd;?Q^9db~kk~R5zKM@HV*=`v<5J$ZO+=PFUL<-O0PbL|doXBFk(3&|SisUfL1J0z(uj{MHVM>2D6RJ&i@oQW9Vtj+M@TH%E&d3-#?(x>?CeH2L(W zTMj)GK8wt9=sjB!S)fN9ZDYHkp{Y%WC0L)vbLPZ_{Q@Y*CNB{lo;}%P9?v5JX2_7P zU9#&K;#LAcy9U*_f$b!3H+|853%hQZ-DsY&5ewFI*Y4wbI{YN#IVm1qq4~2VBBghq zOYP1ew{-kcRu&1gV;Ur+>&<;Dk@&(m&DnKheG~0Y=0x@^Ix*^y9QyUb zqYGGUl`hS)0C;L|J-F@YXAleaq}n?gJV!qTsP5!wo(326ha_{gf_^7R41e&FQ%?o{ru0cw?g@s)9cVXp?yop$gs zbFO%D+~6*HAxeA%W3amC=}N%Gx=x4epUaA=%Dxpl!2tAx_7cU=K7jRT-b1aqviIrT z)AY>hW)wzw$Sy7wA}HM`!J!ISUNPZ70PcXhh@!wt3i zA|xj$zo9hgPb%&C`MXM1o+gzBgrd#kzQdbRd6exVb_Q19gPg8lWT7v7$nvO8X5_d6 zIEP)T5d&OMZ#1J5Hktqn4$w?Xk1tptE#TtRj@*&2-M#iWy(y*pegBSgP@&r|p#W?; zw1>pw?a&$EL=%!}S0*LCeZ~oxcROTzg^PT0svqC9vlv&T%W=^tF_yUR%QJc$q)-L~ zI6VW3k|}(d89c>di-cD;m4VW%Q}?k@bolHZVD3254l`lbISU4E>1~yUD#M9y*B$55 z-fkl)^XDcNc7o8tAqgLjLD)7xGPC4bRJpbawp8o>1gX*UZX?#X%IQDfOOH!H2k8?T zD&Lz4j?!sIhg51yP-W+OquDmY-q`fKgJDcNB%b6rQaL+lqqz~>2yuu-53y^2X7%2~SRcJvq&y}>Co(p8uyBK3WL^I`nG72c?Ei1}gdK=+zx+&rh zc1X4Ar&pKZeJNCyKyPsrN~9?d=5z&iu>*w7-kjG8U^nvb%V?nblM0Ra8)t7AM0z*Jf7i-L&#yIT8#_$`n!H-Bl4BJxE<8<}g;36Na-B3hC^8p(B7(JUgxp-WZV*}rkSj@Z_pA+C_@Et`> zRR?ufyVIQ|uGd!)ROX~Tilarsjh zF$9`Wx52zyk(gy7v!rNV32xpzmyZUYxh0fbyg8~tR#bJGSJ$6t-+b z0x67(=c>js%&}-R+Qr2sARyo%xs`eC;$kSgniX{)v(;jU-O5+WP5;?te9{l7^UnQf z!gk6Dq9Ve$rcAL+ytm=xo_9Enis~imdca9Y%=;Hsj+2s+xi~vpPnSMj(N*s4JGs$) z9SaIZXS8VuY@`f_cVj)Ax7YlksEo`#LbY@6Ug+mIS`c5tqRH>9*J&8h)2+xDPNdv} zL9SpbrpE?nq8?!1eYsP7FGcQXQpfo}w0y`&$5EW)!+qqm`H$-(m|`2wl}vg2r42`S zK_qWYxFWKb{(LzDys5lu)UqF~Fmff~aj}2GzmmRD|KACzlmS5)42E)}_i4sehac9c z>FG03r+ikEg$9kDv$B$Zf9OAe>wlr_|B7(`K2<0`-vt=c5f5J4*&7aaw0)k2sWQ%t zTwRO;peqle%QPnEVYxnZl+CTeK75I?4#uH9@g1spz5CBO#Hj?%Ir;N04 z7xdnHZma&tV=U(KYg=#m)m4s=%P$IXEh^PnF|isQ3758!w{r$5UHX z`4Ee(n6K28Qi=jL$)sij{g1L&LYS0e*HrXW`*^zFk+m;Rea25PR51ULJYjN5VHV@~ zWBMe|aL=k-K2&afH900bKdI9^CGqHzgN0$^Mc^%hy`<;Qxx%~tW{+CPn0In-BFak*#1j?&j$`5B z-<^T?-xJt)&3mHn?RYOk?J`cRE)KHNsPE;1*QPg~)d{RB0TA9M*71C9XBL^#U3R64 zpg~jB`6LEMrZQ5?a?#MR$SwsB=CYfAm3gVv^6R108j=~6jF(?i(~}6*$$iJE`+*fs z-G$5-s+&L(SE+yO;nFaALoq)e(+V=Zw;gKOtsy48Us3vPN$-yxc;xK(H1=8_xrb6!2g&b*c(Q#tZayjv5*@XzG*+%Ojh3g`gie1*x1bfN=cu-{mtDs zgZ?`LbLzLJ008K!55IWie4P`6MB3=zE}bR*@hkr&A=YOk$_dg4Jp%(O4eD2WNAr3r zi~#nuTx*IK=X0C#C~lLzS)1W(M?j`=Nm)b;xD_pyNMZC7-As5+qlGqnWY9H3dDC! zoiFAeKw`3=g+v=dDk00+#$B5p0a|07lwX+*InC36mZ`ymLn@_d~u^X3VCOkYgIRR@-Me_-~%ezcj z4;SDrKmR4={7aKKEq&moig(Hc+m6#k-tT3+>Z8Tcw2zV=b8+wru~cisn_4;K%U@1J zwH)%f@+^p&5wRzu6>|ToWvO0gx6?h_+NU6|yfnFva^$)b>~F9dA$aq*p!5GGgp0qC zz#u@-rt>X$z+VeVxwH^I@R>z>w3h#bD7vy|q_)cb%rZiHXiW~NQ%42{p}_)zm26|xanS|FXytd^!-HJxLc%eRDftyd*u{lE ze$5d0!la+pYEIlG=_p#a$*0ZSnJf>71ccOT9bUz!E8AqlE`JrWl+9Fvo)pjF^XocT zu8@Sdr)BndkW1rYk|0%*Z|9y|w6?=`sEHO0E^sZIe-I`Y=;sW4oG{!Go-iF}Mc&;# z9DKXGTPgvkoi4yJHj@7ApRyh!NBWh5@amub;}QOQLNBwqpd0d^*iw7_KW~`-GdKS~ z{+0;|Z_?n$YafKZbQJr)DarBcjJ#Zm;{%AI&f88V;U`Q0KU`c6&PS7ct#01eeAg86Dr4k@-@iB$a?eO;FXJ;+PTD?fDxdou90Jq zfCG#)*Oom7cKo5ts@yr0=Z^6&`tlP#?YEuz>{95VJ7QKbr0{)a-=eSU8k5(f37UFd zct`X60DBD)Q_E-RDkR7{%xc;N9f#rb6X0OSr7x2BXDEN|uBlkuC-eomFHDl*6&-aL z(@nq5j}P}u{AEo7IJt4F?iYCYg2U+R{|w^%zXYuRKfIoL3!eZ#T88nKAJbC{nO{(u zfFAXapjAnRrofEq zT)K;gmvVaiVt;@CV+wDHjImJJw6&(}@23+V7909%ImD)TQBuo z3w|`lU$c{*69-E^x*C+ci$VZ?ugb)@y4igfw{6&7aNwYZfrd8H;p7vhAddGAJ7~9N zXK^cB%bL*5R6)PpHPKW_PRYH@vxmF^QvCVTzGxq?ZNUqpQG=2Rr*Y+-lALv`K3VO} zpPcy^epu~$zNcyEFtIa>gfCPyJgXhCmLmA_OJBwA+!n-T>7X$=slmtJBckhR^8L!z zTGXd_%}a&nT_4R)jlu{l(2y@B1rt+zF7*}VIXUI?Yo+&uHW#Lfn{3Mi3h9(f3iFGd zMG%@&lZ3f$C`FV5lb45rjY8m@p+;L{(>Ey@$lL!k&QXDtmFiDf_|my@OG8P;TqcKdd48uxVgs#f7^z0?sn@uLzXuZ& zxtWWaTKKbN8!OnRzNfx(K|@wu?@WW6oAeX(J1sqzK?UUNekAI32ehmkaQYV7q!`># z*S1!A*aPHbxC-)Y(zw}u`F!0_MNLDE47t4*%o%or(aTgqE&OLqg^Sti>e^phmNf!j z#EJ|Mt2cVH=w6q6^%T*ay{=M~4T6>~j8*3r3B;s~k7(H(xov9@9qa08937EAN~^n< zfB#V>M-wr@k*nKDn|~CWH8LfrKBvA1S$&vKrs-xQ5zaF*IyOnIIqv-9_x$(gBz1l% zO5;Es9~&>7>*Xd+^BA^5-b{lo6dju!VQ=Y~Wzv#e$gr&zssZydjRtXn`0k6+9%$YN%BFPAFtJMIiV z8Z||~7w46h;0O4%_JG4`T4XSaToV|W@cQIazj5h(J@%mAsr-x89N1-&72~}$J;)(v zL?`jbgTsJfW~0zi(e_58kGiWG&pGHQa@gMMVpx6oLc>_XncJ^YR*sB^%qubf%4c;M z|4D5BU0B^`vppOLA<6xI*P%#%tM$n<|Kdg{tb97H*ip&U6oCp2Ely}mhhK9pXg949 zP8$T|W$eRC2fsH;YX-M}beRNT1J1%?5Y7jEkglP1X5UiGW- z8SZeQhK0TQ^>QJ9i9jt-Ha0VO8#)CmDzWj#tjP${-23J5#cu!R1E%=~yUc>(dKgor zumZJy`5Z;k%F8=p*}uw0Nsew8l4&R+RKxdwg?=jm=G$67ERuU^^(Dxs(J@e3f$G9{ z>9CeT6u4CrG9BQO)85_Bw zZxN}0=Z464*7QAJ_^@}di7ke-K3VI}s7?^rHdk%vKNm)!&H^4u+c?E~y+^-YL@g{5 z7C;dBg};h{D^X!&VK?h_-CX7P&FXT0)z=$J2b$G~>T8CWt3T3g800?v+-dnJ%lvHh z%TGqC{nNJic)DCZ#=eQPtn>1;H|6nDd=nxPwCuEvUx)A%ycs=x-PvATZXC9!L0Sf) zWm<0nRM;4#RL-F>6Df32uV@~*)<9fMr*uPt+8*^Tx$5L5Gxn<(y3Cq2-ffR(<4zi$y1?(B_uq0%VLfVf-1kB9V^ZsIumqv0?Z4 zq^d>Y?z!hD^5EU7DpP=bK!U!EW~xiMW`6g3USj>}(?_%JDNlPfRFJ4zwx>HxLIIsB zGqu^RWbo;R4vy2Sjm}0p#cf_%Yw5--pqVJ5+Grfs_`ABPizyJDFGuvf6{!ds*Pc_} zQpwe|M&j1#z1bP5pUgL_Oi09|SEOJm)RFpUmjRPtY}V8YL$|mh+UuR3qWJzhL%t+p3Igxn8@PHnp-YWR;<^ zntT_fcWq|V)&f0eXT8`7JEuk`7D%dvq?D|zj^B0(ehKo%d};iZmDOijGn+(o|7;!Jr9Ly;L&%;^0=)NpG_Q1u7x_z}o5qr9ZdQ1MPs?9t6s4HoRNclA*f2-# ztB4Cebv07O#f9ec8fGCu0shEI6f)#Ni_T(gK`)O(hLpy^@wk9G3b`<|o+&LwHnVg8 zInuGy&0KApn1b+FI{tRd5xSS4-fBSZ>qH<=M1zp9A z=w43}P+jji!~UPmD*7%*kMe1KSEk3SX?S{M_!U*PJ7m+JFq#}%&7 z@_YbC)}xe6p7)D)GT|CCR=xW3_%@*yL#3Sw_ko>B!X?^!LF~YP*)gstukJQg1!j=Y zM!n#8Rbt3;4bO=uQT(FKN*szw+~P0FSYj%Ws}bA7aU(?QZDI%6aBum=fBAN;W&eYL zj~tA>AklGWetZ6`<5_B0SbC)BUa3>ikEb=;OSu^yIj5Z)8Pj@~lll8jm7&*(DG0hI z?!J<*;AD22f4HKA_WlI~id{`En)>e6bcPDf^gXQ#=oa7H5^>$F0%rI)XPD7Rd>ZgslE7`5UKQ+M&g%&q?nBzycWEG<2uqQwf}hCY7`x=7&>K%3e2uK%*L zY3kNK(Sj7v4tcCq>X>B z^Jj`(9X21hs0_OB-w98s=jKShoKjyGB>`SS=<=^FI|Wg;x((gIVQ>3N*ijkJ4e7|+ z{b@r+2$~y5CH`4iS=mkguMj0=O@H=yOieq#+dJty$<3^*Q#}nDIz*$|{o7l+xO1Ps zU}b%EF8;8Sgd`xCh^XUZVGF!mdJ8$~=*P3b*}TgGWtn9?Cu|x`OfjbuCJ_}c^>C84 zwVlZxWM@i+n2CK&KV2P&dQ1%$@f8)+)Y4K_P4j}i9sC)|+k7Ig;b2M7k9=`St@%6f z;-WUM3@_G^DFMXktyzzo6G|AtJTVT}MS~dXSR(P`j`m2g^D{rxcrtPUv`~#$lFszV zR_ezyqW_IMP45q`8pu*6AReNz^~pN_O3s@`DNHTuu9eC(RoAO+t|@XtmrMTSCJ}v_ z>F!OZvJ^9OqM!(RQQw@AgTn&5Z6z;6V6a>#iybfEw9P+jTvb4%bCkY$x8j@Ttl!yq zopFii(QY-o+tm%^%hUre|5aZ!s~Sw$yn8}#dkROYuxVy9k?qpU1cBh)rl2TdzAYey$sV$)=y#ueTHcL{36PzvVo++yz>_wa(XD zs`#8wW=g~tM+JU5`L2DtYk6B7Xkzl`b+><$(yAGfGyQRxgS-gqk`+_uY$pj*o#|{K z$qi{Dx(o*eawYSS)~ohV>eX$&hNL^3 zU4rqK+1%7ETydhbaDXdrWqM@fC;DVMdF4Ek$Rbh5ogW%2od0J)Pe{W0`D1zgQ{~Nh z^>WW@U_?44RcMGu@`J~YPEI@nmqmBKwUEoz65w}e^rylT46~{6s$Kxqdk!TV-RLHw z1D>CBrqcVkJ7qnTz>PG0MKfi84}Dv8MM99?10JoA&p@6+*fI2gMk$lu%g;>`^|E33W_QEEtlP=QlxKyYLMc98viQVD~RnNn(kj$O#)YbV)(4?7d= zayhN-eG#3R&8W8QpK6NkUv3fQ#s-y__of*ZS3F#8FZsROJ}#=8d438wI=WS#F_Tt5 z*Ev0sbea(C2F4~AjNwlq59t?)0?p25oS9zAx_=L z%?|1!xml~J0O5TlJ0EPSY1;JVGQ@}DmSM~dxmm!8JvmvedL+@>-mNA8?qPRHP*~(B zFYVCQ)YK8IqM)Z1^cED{bKgE`&A#CTLOeV-!8(D8eD?!0X~o4~F{~-?wh*P#d6j2# zYHDq>rP7da*PO(R4b%m~p^6)UUb?>^RV<-SgUj<}^gF&;UQhJH{M$?1Zc`RqDwQ?m zX|g=(_;_k!f`E`vG5wpk5JdFj!RjjsV*?e3tS>zQ*>|sfD5D&hTxNg>omNDjbnui- zfA!faZ0-q>JTtw_9DJ`r-oBP9n?`|v*im+-XoZm5<}R|E4tx~g5m9id8#X6=3me$G zxt?woMJY(b&byW0Lp({ig2P}6UjY#0=<2AVq9QHb9YjD~yLHnq-tq|HGF%scmptp-oKWNV?W^n12ZmG7E0orUaS98Guz$Q z-Tj;wyMI_ZE{kj}eB~|QTAvVy{Pc3+w@;U)ih&D^J>iaDpqTkKl*9O-i>dx@)G?sK z2Eua{WayX(x;orNqa8M$%w5J)_o)zEX^cYa2A=1uJYACPrw0*WSJ3JY;ZzfOW@qTl z!o|Z)9E(uncoSVS?6V@rc6WU&800> zWiBYU{t;wrcUG+?ck(H@=*ZsL9*;yT5(vFxP=4Qz!{;zQfc|ELbCq||_A7w z+(5Lrb-rdC>Ei!MQ$W9SPf+>Om#|=3C^!L%#yQ zOMF4H--`3U>@Mgf$Zgeh2+x87c=ILu0>8t@vbw`1GmuaF@f+yvrc42Vo@17iP1D*a z(3?bhSfGf!KuoDQ8nXpc=tt&_k1UzdD+7gW{y`}@M7^g59%nPa#ohdF4S?YE-gf)X z^}|s5Es=e6NxXRlIbh6DQgnP`N?i+1<(Ojj)a?#fLpYUAlA0p-)`HYv` zr(^fc=uKXtda0qPAHObwm709lV~%$7wv^prAun%(raz`8sh|r{$2h+yyI{myvz?rI zd+dlkU78PvVKysDe!K1_)vIptrt8H2;n*M`8I^whs?d7nJu(lkMU9!3P?GQw4e~r zla+u!%e;umRZOYFqRul%nqc{$&0xD^_g1vh?_D@`KFdVcepkV;xMy$PgTSAWqQ@yH zV{dCLtCG9*^;+a3oMUlbpKCsv4};F?3pPI6#^epHdZ;I7G z4>q5f!Ygh7yw)a+SvTX>FHx69yu}8`YQp?M(YhI(ikoE@Ey`LgN~n3w`Mk8^r>ijS+1i*^LI1s_{6_gDcI;9Rjsd=SX^5i(B;}> zsVP+syVn)eC7A`$)>GAqNfigabjfLFn+q@FY0ahpKtdEoM^|9%MoT%t^fM`Eud9gP z^8?1F_m^uDKoQ}mJQQ|K&4tSS10XQk{iQ{1Gh4iNXIIcCl4k9pBB*cKPwn%Z`$fHJ zl%W<&r!~!3^m>U6yPQ})e?oatxtpETrW<}Dk3!irz`63l(&C3G72!$dm}@F>Ag@#fOLDbJfB0KI`G*r|D%x z243~Bwf5Nt^*sE$W`s3OBRHA zJ0QXipo2DnSExlkZXQ!FDsCky84%)MgqPRnRz`Yk?%oHX8=>cow=*V(vY*fE0Be%d z`8V@-F)XS;g$H@MNjFHI#ShJAaH=+kM*;zhDVEc-Sx0R%H6KP4&WP{2h~%!{sYw({ z4>X1q)QqP+bwdoyg=;~n2VEv28|?)r0vSyYmyYq&EEU#_69hCB=))1Z$3d0?c+GeF1c> zj3+biMf@qM#787vE`nC7Wy|s3Y60jyNTk?q3oz4rDY$63X&&7hx9PoUzZDDev37%3 z4$jAv=Rdt^@1qmg@=XIMDv0xQC?Z#?C8SUP<1D-Wdq%U?9kqa^m7 z_NxX|@U%9C*ZTkmicKxY?6urgr7eqfhQ0xgK0wwFy`mcOk;&_?j!ISF9%jiE)7!?P zcAHXSbjjjhUvzPY-ohvRjXG;3lFah_qlPFl7lYPSe;DcRct~J;qm_s0IL<>fuukH} z4dYHG%Ymqdz66A8yCzEJAZ*y0z3#`ii37^RYyGiBZ1Fr_{IjJ4T9;SMK3CMP((zeL zgLlVPD7wKH+x@ru3@%(fc^Pc9f(Lah!8zv>K!XDx21zJuHwsk0n$=$7LLyK@-ET4VBDrtAQ0|N+%Pa5=a4Cp9dvueHR%Y?VuA4_5Zyc<60DM~<8L?TpCfSU6(fRX)6R<@oK+}^qq~xqgK?l+L4~c< zvB)*Y3E$?+S~GaH4Kn0a9bbe}kfrYC=qKq45|^zhJuLcGi(u#C{5p#FAv#}dILMCD;PF^gRBET zf_}XC5$EE?X8UY@##NR!T*O-vG_CA;r+VJV=GJ?G1u!-z>^L%M+KD8v6Bpo92KnbK z+2uzSn@2KSG{wsJ_`cQHs4Y||0S2_9Mixd!fglBaMg7{Ne3t6P7#osQ;Fv%>M*j6RPs)W#`REF>ZL2I-f)?(w|nX%fHY(nC+{aQ{?t0S>VX#&ccP_&-Bb6aF>1XibD>4RygL3 z3u}L^?c5-7GmMLDa(GRR|Ei{NZ$lcBztt(7qsL*z;j=oYv=B>GhKL7(Jk~U9ZdNZB zDfu+O6HJfK#Z9?-UL0qpP1NDSMRy=-$a{+g4F0jj0=2W4)! zPr+XD+DV9U2sQPV7dk%E0?K7msBKd_S~q)e_;K#j8vz&+J3U>8^C-MxnAKP%B$7@h zlk6umK~P;ab$R`Zv3IAezjIGwZ|%)^}7AHWNJXgyYZs{8@ZELm`|vW$U+@Q}5t00FB-l13__>p3~l8kk8q&*vnyB zaM80PW6j#SJ!vrgNiGh_57ba)TCMxav{>U(IktMIV32S1k^NcTxz=vW)@^)d<|MmO z?prqAo7uFq!2lsQ+-%jdTNBM;?ML>pa3^Vy&uKSBP$~UAI`NEIroPKeIs>Y!wamuK z%AV$VQxVacYv=evRf3;}w$@T8K&VEUeF4VyBI7xrW;$O?B~7I4fNX2acP;)#EQ|VA z0vfTi-cFwWVcPROh!Xb19G;L4U+R5&RQlajv7O~S)2AF39L$*(n8hD5xsXVRB-mV; zAB{NVXL3Pz*c5D-5A(2_=CD6Lj7=4J^&o&BS+w&9gKi=kl7A4ImA=Kb;VL1%+t*(L zI{7fZ0-=8pGJPAD&TdB%UaltCoTCY>#yPPaFqyi1hlm{SBV!+0g-8Ip{RTx!(Ch~T_tT?zeqO$BtPnH;2G)B^(qEP2)hbJ_wvK)c>Y73dtJGU^O}iz$qVltN{DZGX zcq#&A<~emYU`9vJM3@E4Pn_w_OrE+Yz_rEc$Pn$D{B$QL9HezL6Y_0~dN4lh#{eFUgBTryfO&Pj2ET~sr|3~?q{!$3rcRwQsR<$dj%X!Z@FjGgbvBP_$}lU zT{S?~@!0PR5Pt z-^=&^s^k9`1(RWQ`>?HIU1rQ<`ml}FlpL@jTLM>VI7IP%2Whr;if{D{xd&NjSa;xy zu(1SeC@6e+SvI@(Ny6JpF4^8^F3Lp7zZ_lsgc%0hq2eTtcJ?2HL^Fr%XGSWxf=Z8~ zoEBw471X=rcb{c2jExUu8w#ke9uY{~uJb@gB z|09~$zsOBjBupK`K!YmdG*YIV}unoc26G4kAh{`)xO1B^7zDLFA zrEx&ydzekXomVMGIbd2~K3`Q}7{vG{q%TXEi!>&if#f|SjcVXC;J`>K?kDucNCkYhrj&;ie?KGOliQ8c2(s@`(wr`9x-dn4;gm zs_WYjrMi-gt2@Z;O;mrVD}T#@LWX(`bmp*J8m%-At#&E_Dh`?yOg9y@rW4+Jt1sf_ z7Q{?$?jpb|Amnw7MBe$Kq*YoAPf4BkPgp?s=i%5qWd$5QpZtlBqCpS5z`pKB0@A-9_c}nhUw+=6ghWb)c`WzG6 zUw&WuR#K1+p-vI(ZiD~&RZ`$8QV9FZ#1Q;!Y4O_>Ma18gF3wmZ<~0`zP(YmqTnhut z<}nk9QN-XEG}wA&v%nG4bMQ#5v^6r@hQZ~;XAEO=XB3e&`Ms~5;^(Uys*cCRtG5@< zDHhemzjfVHW0Cx1(5#0<39|XCk9}}(pVzDtSO~^3e;TkFH9C2@7CH)uq{1-2l`RLTr3@2Wsp*DvUHfD&-!t&T%K%z zK%U^lt)G@fYY*O!P((?g7*iYCm~I`rIG?va652#;?@C#((dF`!2X-PIWtK9Akc&|? zgzm>Kr)1J~b3=l-n~}KfQef+GlOR9#UYj_=^UfmzPz-Ngx@9Wq-CNIu>5711oAK$wI}F7uk_mkqyztI4>%5eld$&8=Tt+FkXOUi(%k!=EZO7DEh{ zDXU)~l!FHrI|ic&d((z5e+sV_p3wP|guEel-mqfois_-`xxMfdp@Ubo!Es1VaO%C( z_dXIrMZ9J?G=c!_J_*$sdjc2ZNFCl$cM5v#Wp9|xB=eH5rS<|gP7=CpW8=bWXNNH; zay1UOZ<$*x=PdQ(xupEz;U(p+J><<33h1XoRlA)r6ZXkP{5rF&=`Q0WRVNjqd1M<5 zd3h`QjJ6zzBUdSFXh_xRI%vPuPhNeHzb&ChdA;YF-4mT12a&)zIs#`-F0+R!LW~7l zHZ|}4$31noXDJCAVLUXIqp$koGZw(3j~ETEepOGd|IgT6ME%{=`MDLuk<#Xo>v=YA zOS)RT=3PbHeOZj-G2P1@WYA70t8&rc*b1z}F}fmj^y6nAM)T*+Au5NqZr=IVNq*d@ z6yazoO_d;P!8~E=;F4oOI`)1n!yAyYgZiYpP@JDYHtuxk(L6=n_Uy~&h9ITa4w_RM zbqLMW`boYu)o%@E3|ggHHsoQQeR-Faaa`cEhGmX&IY5FJ^I6Cw-!``9<<1-L+{4da zLMDhs!&8325uAKlm7@=TpL?r;Ru012{;d`;H#a(F00cn}y^Fql4!{w30NOunh3X21 z_(sV}7LNifvu=vGB4HWNr5n^FUppkSHpw~S_i8s3)Xj?T0nu`Ryyn%6WCp5jYYP$= zK7xi{Kk{hycdV=q6emT$zat+-kfH3|yqKTKy~nw%;{1!{dmhKWHG?J3%S##u4M4yO zef?KQ+F&y)-C>ip_QnNFUrlir4)^}!ciD1iZ==PNcAg^%Y40k1{zP`S-wKbn) zoW(4q+nQfVlzW|wj3V@ls9?&&WYUzHA?+*lx#$qfPn3M`9aRb+X8JiLR?Mrew2D#*>vrto=SftITFkMbJwkO8;5PLKL5>| zNH|<`M&QvFPl}@rz)%aO#Vz= zNx+WFn;abR@{f}HaFFP3#Jgfr^3=gTMP|POSskyr$=l5rovNOda^VgWgUHa^^tE#t z-6g`f!|Lmgv!9aS?m0R+#fu#Y!tLhjrdY$6+B6NC3pAa#4c=;8Pk09FVkffIpF5u9 zj3nYf$MSs*1WoIB02lp^i`)Pj9TUuC3z}sUOpD-i1ktbodaM`_gU*m{+8$66qr2OL zK3lTK-*Gg`8=fP9I$|5+mz9SbmM-tGmnJ1BjXb&Ztw&X4gmqRM$f1!>Zca?84LME4 zZKgHv--h%peQR#0fKZ1H@hkC8?=5tTj2rlLx>f;8o?SABH}6&<5D(sUj+x?++Jv?z zs@focSK{283eKv}ANC~(EkP(IG0^=>hCI}#H)SKZEH5CobK&*60YrOebxZ8pga0w=1r=P)1YF&%X3O!nXG2Ed@ z>v`}Rx;vk#KgpVrZl$M}6Ss@|Zzw0FDRej%#GAw(J)=DAf`k;2w@3fNzOI}z8Sc)g zi!m;2YXV(-B*Jw+Uw2f`ykS8Ov{6%wXBwH9oFs{2YH0ZWYiySnVCuG7uCdYZjH}zhM)Zu|0Ey(JJ%fqq0?iRKyLE5MO}}b`Xv%+DB*(# zod;pt)H}5E2kxB7$l`w^MH9MDw8I+rMbBzu8h_{H%&xf3G9Eqm21-lU zV3)097SwcgHIR<8Y$`(2a|<&wBwwDlY1XZrdIDb>mF}Dv#A{N5`iCYLd(!wu-xn0+ z+lv&wubrZ(ykn8^G-N_sTTM+H>8KS*bBMIc6pfZ}9Ot)l3-);$1~IJCDpX}0Sr}a` zGUX%(qKj$ctH-ymP%c{jQ+mU(vxQlL%+T!mx@B-wBRjjemrJ;gb}G|&os%1ITC=LL z?j3A?VJtS{4x_G=np2T-=I+p$uZ~`Pe1v()S@i8^2$96Nd??f`_ z!qSic405!owO1B&vi~f@C1+Z8M|Ve#ddJbGcE(a1Y=ljf9s^Q7zQ0|p;1;)NU6B%4 zKhjcW?7thRWjvuX<#Sv+S<)Ms30T+x>~A%l9%da(`YshW@Fx^P)?+5>m9Ue0OO zJslHBYA$}R#J!RFPN^BYb@)<7z}CZju1h0-W~byUk391gF~*ASXGMn-2-5T}Mr800E) zcfJ#+7Ij(PEQ=f(^2lkN`B;-2w1_?QW^SCa2I>v$hit^pACFAx9<1bo(f!%kKi%SN zYCRNuw^wf1HSuuG2@j~Gz1rytPyJuKopn@O?Y8bKU#S44RL}w~UbMxXQrwHX6!+jM z1SzGs6?b=c0t9JscZURr5=bZ(ir+=MzkTK0amU&FoN@UpkVQsTGS|D_`ONwJ=Gboh z9D%~|NkkJjxPwz?eq7z-V(VCeu#u|_T4ZfsG<=2bpsclaLNot>c>gdvQqeT!V@(%u zID~)8cS?a7GtC_?-Od#aU@6J3{849%S3d;tJ{ii5mk#Z_a6CsGahE;7c^C;S>7T@_ z1wQ**^vpkdJohQ!9Yyf-2NF4bMM*Ml>D=~i=^Fegi1)-tu5~qcvg-DePW@4Fb%M6d zPAQEbhejwdF#xwLdJ&VSXkRGJ)c*nsSN;V6i6b2@2lU+jgx?&nNj^RW)Fc$@LJ6j0^q<=sZJRzR_pdyPw}v1*Cc} zmxJsa)wmmT-fKW~D(VoKsqX*CgceK>{A<@`k-_{xF7#T`ib{*j%Kh6n=cypXKW7fegCk3Y|5+OLnsE^D^3YHIG>b zn&ghSe7~(lCxNBt^>J-2gDIV`*v@qkx_$|h^m5~wJd(ljKAgI8QAho>b%v|F#JwBt zrUS2-pao*3sl9o+0*^foHgKn7dGUIqTnmH^!8=zjO>#9m*8?vI z*jIR~(x;Q3%u`VGs)+i+C^Oo@R?9vv!J)^vNiyiNUn|Wz z{w%r*M%pe1df+}8CHf{*W@#S9ae1DRQuZXRPZFY z!KmH0-6*wmLg|UHwYdkwz*Z&Z?6!vR){UFJGTW z`nHr|!g;%V6S8T6?X#czKx=h2e+J9zwQY2w0flZ=yao>?BK#rf1yjEW$lM$>k;~%f zxSs8}+fp{+Mg#~h;WFyU9K+ar)FE(|U2Dtj`(H#e4d16pku-^PZaL&G>N1H&)H~mJLJWi1#rRUbUrqho#)#2;xD8IdeJfYqRkUG z^bR+uiC5?+8b;w4AQ5o)E`pzch=l?EJ_hlT#=p(;V)^?Aabj|TNkZ~Bgr$u2Ce>yf zUEBHE7>O+OePLC!bl?fTK#`StlIY*&HU{RKvAX(V&i$|2h~ z|1OsChDWtq8Ru(lZkw90Lo(jE<3jEJ>Wf`6vcOVCW-U&w_?eT-V}v3uZzK_MaEIK9 z+s28Vr~HZa{u1R1bmQe$= z(Qn8@!We=Z5uV-Q^5lN$%?~#Oq5~s_X41LK4+QpSxW`+Rw6yIVWC$3A&gg`c3@=HH zTc;s5Z^@(7u!(cpESO(02d4{Q(2~eA&XN{`ZiTL38QGAHa}P5Rr1IdqC;~h=Z1`jR zN%yVv#9$el6T&=kg^$hMcd-Hj+IA^W!l1g?r-QYr@?vci#hD>V968%It+j^K3*7Q% z$$^C+|6Us|hhre8sR%4vgelNFg1XZX4?_mmS&miJC%H8~@?q+n1D>Mn8wZgk-j{ce zRP@Pev?s{EYq|E&B=>))o+ULnRa)(&%f3{_<9GR@-y@hg;Ln~?N^4b)V4!SXmb)ue z!v`43+Go#wk*^f}Z3#6LlxQ`Sdw14uihD|q#|M9Dwq=f1>;sgK!lQay1UYXid(GVq z?x-AX{9Yxc^?NQT>{kkQdC-+tz7)*|U6KL&!Bg<2%)>fZ%lZ4Qpxc6y6RYicZKNUl zrQD#i)2>(L z)|%4C?VjzGy;1%Xr}Gcg6FZ-4#0-pLR)T(YG#2CczaP-mG~vSJD_91G{OU2e9fIf0 z^?b3S=*1#^jMgGh5Wn{j;UbAl@t-Lo1u+NuMJUAM6RX_!)#e}s`ba;CJHrWPD}Fm1a#c{XHsXgZU{=^} zVZxyw6%R^!X%`mZMVtO`n}`0JT>7t0!cd&BqkG>q=kXp_Mwm6?%u;()xp;sxXSnoLM`Q&nT1)81(SPNANTxMqpEG;G?G z{(0nc^r1K&`;dL-lgRg)l|1l={m!!S>jfs@L1jVHIhjGt=!wUEla}eVQR9LB?f4(2 z{fnQ@N@=iXyRCoXepCxtP=I!mtEmLIb-YGGh=VoZoRjL_8X(P4tZ;j&IVYSE`(~*Q zezaFYUa4vMuJwk7_w0e~>uzgiFUuSBSG?3eZxR@?!Bhq{4$wyH4jCyShj=o61(9 zvD4hU76p#;wX#?fF>NY31}N2c&2zRd#HdGVhgti!k=Ff_TLcidYX^{!%M~9(Kz7vN z)_chIoc*mW>A58=5n1u(M$KgLDn7;u(>TS$O{(wY22u>=wgs=inlvGUYFZi^yfjgP z5^Yu5g)$NScGdjwvLNZ|32Kr<%ol2~d>965!dhPBti3UQClCw9@2O;ND_TmY_5>WO z{bW<%u5h6LdO@d_*1GGA&BJMr@nESDLe=N7oN5mNThP$9bA&}kK3ze9(`kD!kmcxX z6MRogdt}a0qN+Sx@*~F)@MMk4u&2{g4${kv)Gli7!@_CQl4P3(b1};TF z1TSCeu5?Le`wu7Q=IES&nYkTOUYl zpZGkhK@#9++~`E-;SS&#TGo=-Ijy8E>3N z&uQ{3EDECv*`o$)E9qT}b~$bX#mi6PwE`@uBX)fwx}0v>R!3zNs@OCmmvBMBCmLsr zk@ivq3J~h2DT|X2t6Htoo6G9J(N`OTs=rT4Sarh_jBY4 zJX#cOyExB6vP}xMJRVcE9vkOf)Zs0#9v!1aT9LS_Nh|TLEly8u;4(%-p{l}(8x*Pm zjjp?B9Q~?qQX`~+cI6cTu=&m8X9c@f)*-c(A6ER+eafb$(61$bs58|PZVP{ChK$$o zGmMed{yG__YYGTg2wf`oa6in@Sb*#{d#_EPWr=uQ+7{!5Dm`ni^gswW7*yz1@~(rD zPO<6gvXGz4rm11cdC}fz9}{O)QIFat&0m;SjwU+oIg4|YOzgi{mt-7x2fMpgd3gti zzF^XHNox3|!(v=;fbKg|#r?JW-Zp8naw(p>8Pm?kc@T=m_NV;9AIH2c-ow&2Iw5TC zR^(?ZmW$gUZ|CL5ca4_`fqS(TiX)lA-R7W^l&gsBNK~+k`Pg%>Kf*?xF1&}L)!Ug( zR*G6qybMBdYJ~jh$>dlxe1;yaJ~*+W!BTuKSn0K$C%?TedZD3f8A*b(zmo81(-&mW zboFk7QK+9z$PFTUG&&{O%FDLt$-JqeYxJWdQna{k;i6NxXwM?o^L*P^azp=zjjdub zxv(&Y)%^Jq;dCim&;gyd=g%LVQ~51kua&CSBO$gYw6*nAyMM9p@_smsS@bU2M+l#u zk|7xtuTD#$th(XRL_(8vi+Yt_vFF?NCP^tGjeBJX3z9vX{ThAlLXc29vVkeY^ z_iKTuS&e=hW)`;8XkpUCo#iegcJfj{7uQ-VVX0e}Fm?N=yX0=jG*gl5811q>$w< zo-BZEtTgM37n3IVv!6<%MRAKX3e$Ylzp53sk%TqGiqaUMM;sCbSWLu&Yv{Rc!`P3{=uzF)$#1{FtfuaGU#E+oYL;>cnI$ zWAj;44$e2nI3l$0{#4{Ru%uPSoqc2SZ>lw@hm1FleuL1J*H^S_ek_KF4lFu-iUCwa zraRLYdUW<`(wL$=lvwnZ^MKx5wh@=CWPUlm{y}Oqe1KbpYx!oALYOsc2#_tQrM`myaDbupi@8FMV&1Xm+e0X%)SI2W?Zg8XG^!AhfTELP054MPop~HR7m`5R>GH$-DTUo9At>Az9zxXu&ll>jQrwX)( zT$?(>utb$j1}xYf_)6bMNE5lRBAx_%nOH}pmal`ab@<=qm$B>eOUEr=e?YaDKc>c4 z3^dWbk)W@9VMQ|m94!qTE%jTq|DQ+y^o8wsTK{Mt@@+AAht`6#gu{ip3BH}MaRBu^TM{-`#SfhLV?j72DKmkGhe%cVv` zDcVq8TH|*nJuh%1R0!_tyZ(WbFb)E3MQ(0x09|M7PsQtB#|dinY3X^aT5YW??(Kbf zW$v%D@h3b%nTh`m;mPYQL9V>vR4(HQRD62$0VIll)*dgno^+<&{b+U@+}h+LB;)+b zM7rluw*iw+5;5a?gQc?XZ|X#$u59a#XPEsp|-*RpH;4O2K)95IO| zrjuCi#816i^EuGnNbsVN-ni1?x|C=r{brpy>L2(#!&$2TTK~;IFZegW@>0fDXm6{8 z7`y1yTA2izpfvSo%5U8;X`_GkR4VcOBN4Vtoxo2+@!7`n+|y{PXSNeozx*hruiw-6 z>x+eO&9;7bc`ji0)vJWPXI*N!&+r6mI)xU6-1K`18KEVDkRPR@7wz{eIbNl=%sVZ8 zIVn5ay?FOhI0SeJ>`o%U`g*U|YnaNwbwlx-bAQi=dy$yvS;))b7SnCoSN1tvqH9GHtg1lBd^V+OlU-E>RIOj*Qw>w$eVdz@ZvV#8D>v}j1VZJ+g|`5Nrf2w za=Y-=-iJ&VYS7ufFE~)#WQehc8=yTJ_VpXY5)w{_J7U_wh|~8!#26gmbu3Vi1KJY26eZpdw?lqObq{d%S?sYWjOqRzn}WOAtDe4G2&n4&^x)_(Q37EqD(WBgJo zvs5Z-|Dbc^+a6UbdOTQV`Yf^(npCS%dbXdfa3ox*5`fs*B2Dv9sY4`D2w!X)kdrYt zXWO(7TJIYdI=x*%l6ahS`9QsS-RwTqV9#s%B^_|a-a(la- zNBu>Oe?MKoySpnYtI6lJG!X1>r+^q{GRQm6`g{{K%zD5jxYQupwClNj(FTJyrqs1m zFW1k(2B2^U4S}EN`7g!&)v6w zc8EBsw3O!jT)lnwVLI6)n~yEJDw+jE@JC^?E1tpJo*Er`o)B@m zlsCrwY(w)37N8Jo=kV%{OK$A0w)y~a@nzYr#Gb|jAAdkKOQeD)J(~jxbCTdLw?nH<)SUCi*D?;d+u@7^U`fR zE^Fr5kxVEKE>LO=-Va+I&E-o2_Nd>+x(hUJ#Fc-vso3o({C?0*Rf&Jn5%hEE=T9kJ zsb~$sj-k7FZi^^keu2ZSAY-3lIdK|*mCl)6n^QyYbuBogl97{L0&?fyisW3VOx;-6 z9noD1H^tJPA7A;>uVS_~##{&`bV5C+juAoC+Tj_YeWDIWk6N?_qItc;Di^l}xnAJ) z7AcjkmeArZN1l^{}m(KlKFZXt8YpsW%V!&*!r=C~cg)-g#Sd!viK5j#@G#l>eoMzVFe^&ZR z3h@cjrwcOUb(R%q3gmT6x=YKhGy)wapVor`uVIPqo|s3LWC>YOcp`SlKvxOK^Q(b{ zPA*wm`g2+(y_LXaw} zUMlf49XbCIBJ*1Y2ETK)a=Cv9r{Sw<$7a0Mz@AY4m5?{G<5lTRoMQ^NeDB8290t<< zUr(&{>7Z@Euy#F02JOwV{o5Sif!^Jufpwu(tjz zE(Q);S3fXZT-&b_oo|VP=4BKc1(TA(;h)R-?~LlXuu0v-xT62l)5T7eOr$u1t?p#Igb5!tRM<7$etXUO{_Tdj!Sz zAB8|!1rNyO`4w6`cY^1w^RRpuJ}wW-qN(|kmoKUA?xQbP^yaMu9FF9-_}MTM6EFG%NzW8o$W^PaVPd9%rabUJ)U1JR})70I1KAM4!hq!&HT_es8IEG%puhSKTQ!3>jO?Z0~^RZE8cZp z=h@TCvp8-T=2)Gnhj`Do-O9ZSb^pr1@j4vRp$MXpJvr1I&c9AvPk}_Rf|3SH*kd~k zuhYfi@Ng8Wukkc|0Jw7-Mlu1tQ-NZXAs-03hP_?QY^aBB;C`!#+KU_>N+F{dK4gsI zpq>Qfh?p?+vpO2t{5t2kn9Zfj)Q!(p2435+=nI>N7tg`PIdFCWzmt_Td-?OVSKtGO z8KPJ^9M9WT;zokB5w)YMn90Cbj)KLW0V-c0v8KciNh1Va;6_|V4jW%e=U)EbK*bJV zt-AjCcfsWU*xvv5{rk1>fQ7pH>l2O0nFI;jmBjw%2_*??AF`iQvlzB{P1p?B7V5>u40C)2 zy(9l1jZN!-mcZXxJ^-wfYh5veu)1ui$W>NkynN$|E)no>z>T)@7XQIm$oz)4J-OaF zSOrRe=bN%!0ez~)M;Z|zO-O$|lV^pap;mN+v3vb-`*O1%) z5}*6OcrbwX{%*sC{rg>3jCC5liG2At9`|3w0}EMvwYxBI6}+Nrg>0p=WN-SJP9Bz1 z2=b>u>kLmVMa?C#r#Iw5$znxK)@!P};5T2zApAQX{DL#$F{f}og`pO~@_n`+L zQ`c(tDrI+!l)}LSV;i0%?wI%lJ9LNU#A_at1iPe{yj+hdLf7P=QlbKUMgrUxk7OHp zvU{l=qk<{{eZa)+sd-OtWYmhYhc1&VU-v{A2LI6JR8O>6LPz)3R5m1#zv^#^)%~kdC&kCmcAfSBq&7w8n4K z6p;VN1-BmVAiS#^-ZDM?_e3ZY3JxjSgPEm7b_rBv)>@S2pBV61Ut@@5H_w_AHDzK| zRKB9Biu4r9=rC>&@9Z=~?fv}rr?K|NjsD4B2`0=eEFtNp_aXhfu_TB_5s}Wu5 zvJDuAi&35hU*FqqeA*!j>*6&q{yG(NKD7JP0?#l<-gc#O+aJudJSH)SLbp< znEto<%mFZ;4clK0iOIc5%H1+gwvC*wumAWiAyhW&dPV&>X2BMid(FN#3(>vo-1}Gw zyu&{;1^>AFr+3c;WLL9&02puFG6!%NAXzyxh3iEQ5cK|oB@e8=HXk~}(s&(KR5@Oj z)r#|HzZ5#1rOOuz$(_=?$f7a#T4z$h#R80sDIcN|KJ?YH07mv86M@JNT1F@3ALBZS zCz#7my=VY$8nCikU&A&5@aC_>-SwmSZ)Q3fqb71)t6Bq6w{_O8uL7MVwpZa;c?N%o z{{zdd>F_V9z5hIz z;1S2#(=`%WauO$IW!h>IdH)IF-w~d{4{+r#ShKyLCcWGWLutwBp1KvEGCp{GWa8a> z{f0n|Es+ynG4JwEw7_Ye+(&s6AHiaONEta|DkB{tng2a;UaKbK`+vf37#0#j_ocTU z7*iqlH~$rY!&i#~;Mf(14}DoR+sB@1xz{{Xk=y?2Ixx|W$UQ8CokWh3SkXi? zPV@42tG!Eqaf?B3=k?5j_G@YM+MFnK0dc$Fs+c9P;2@6P`$)h(_Kl$7detJRmka(q zvj9d(OmO`!{y|p-#QeP(i+4<)J9)ET7XEEYyixKRFvkD>`Par0{Bzd=%qMt}IAENf z%4Bxa~ zt2zQ3i1bk4>Y*d2?aB)N{rrvo*vDkjasqPUVWA;5KwkL!um7*H3;!3ueb!&NQN??) zSLbToophA@fs=8<7a_tFs&@2Id8s))zEPzXr?V16IGcooa>6JQLT)zNeWy+UesMiu z$3(!~pT7<$`sDlQCI9WyxQ6fk-UI?8E#f{noN`yp2&WUBq=rp}D0&=@=O+)vj-J%yqm?Ksx(gRch*WT^96q4}dJ)}dkY{JUDv2~+6Zx*jgF{&c~R!dU? zeL5v19ryRc3cELs@VGB$`6BO_u1#dNLJlsR3WcK_e5Gh{$5GJ{bhuGmwvDEtbT|^C zV?4m{pf`5GiI2z88?31-QOaq&Tt!3#t+cWQJV)|xXe6HOb(RC4>=5;Og7GSqKk$n( zv)xgiaGLwat0e6vS-PQguU!i7RHYl&x(^fX*vaCRQ>5C+i!RA`o>vFn4_5^jhXfJZy`ja z&&g6fH=3H75^4XvaQ}}N!2gH8gel#a4mGKrEr|lo@>^D9$;0?@JAB4Fkc4kzq9dQI zC9B*>z$h#G@|4Bvp5M+qv|;mM^Cqcaom-3kH4B<^va!U-)DZ89=I6NX+$T}ZR^4TM zn-dvq*KGee(nN^5j<~2w>{tVIQ2026P_Fa`2DRP{5T5(%`tnfEeBuQ4Uea*(t`wAj zem6$ZJU(=(1Ai1%@-b!I#^M?+5YO=3M5I-)?d4>E?<~xhwtQPDvPLMG zrZK5=)0kjO4D-8Gez0O4aI3A5n`NlmEsDmV6i|3_bPRWWU*hAiu9W4P zl-qf=Ohvkvh`sZ9`)wD6-s_jO=kD0BoKs?kqPOnJtcMM9M%D?E`5f}o%?i5U);?26 zZiJE}QC6VchgHyrCe|mRqZwk5dDpsMCXp|Duf5vV&TO%r8x;)8_F|(7($%>Xxtjgk z$w;`PMn4!baW5;gvPCIq$Fh}RwtLd3GF~G_=a%5Kr+$>_?dU(=Z)NW>T`tf^qi&J= zE~rZlJ!D58YOppq>Geleu3r`ztFQ=gftHx9laqM8i_Fjl=xk`!cJ6iv2`>k)2L$81 z54#6AgQ!S$?BG-c$ys6^bC*FzPO%!36O)|0xo}7v0v|7=E`sHZQpqK~&+-X=t3c&= z4*8g+Rl)nFQhwOGxcyU!qw*fK`l9lH%%^q3Sv)Mu-+dpqgl5rII?U=JlxMKHxn}Lw zL2bk@k7zoV$FbF0rV*#<1+BJK+h#``C@UstQ9#JCvxFe08aY7rM%m8Jjun$p*g2ja zqwUhAxNE6;mAYZth3iH(m307H9PByV$*bCCL0Bq zT9i#112}#$*};xYq~FLo=Y0p-Rg3D9+@ND?kB8|4NJmz(yiu^Gahrs+NSUsqkQfXC zo124Qz!_t0tO)D)kO$cL<7SnbxdpE7;^ut&U!TW@g}JP|O7~~A-&|}7S6KA>u>eG0 zaXE{|rpyI#Y{T=;$?fd%m#*F3JRMm;Ch;)Uz$w z7i(#P{PV0kB}0w<;QPhJb%lk>`|>;DRxmBjTI9p%#$+0Cs^zb(=8Jx0y(fWvH$mq4 z@Y?Kmq*#6mvWz?f8Xl|!@d0CJ zX@o2adUp)2065Ya&ODu-H)ym8LR!emKxI&8v{JRMIXqlKXBthAu3n^u%8{vJEwF21 zMk8fHTF1AGTpD%=%2SSf%zKT%foW54y|gZr8o2>v8!ct3BC6&FH9(O|wtIohGuVl6 z7}Yh@JVlK?ox#Q6Dn`4?2ED9O7pS7VAVX5pc99_BEmBuN{NZWioclWwP8$1|Y0e4m z2X2az$ff$yrk28?TudnV_%FZgsyYR|knp&mAL9H5*+b+D(=9Mgrj%H#FK~Jcda|w` zu;Cet`u(iiwcL{|K_{I$9^Ex3x8|0W|3Z*$13DCI23$H9_#xFzZMIOYb4Mh2V8e0- z0Wdq~k87~9)#LNq3d3-7E@HG&YQw^;)M^^CFu{#jwPvGmWS*iR{=h#)w;j>#*H>hAlCvH_7#vR>}Cq)p&Eb5h4X3vsz@AJQ&)SO_hx9Vf&Ic=!E% z5hFS7$$6EUEQxY?#W16}6ziZ_bk<8|ff0rL2!A@`zj}=#V+x+DQA>))QZ2yA-g8^b zMH}6G$~&@(`(@ppg9MGjV6|7dK1`s_%|B^IAPjl3T3&jA%9(g|RU`=1DKE=B3u`px zsoRu#t&&sn${MFPHKt!s-gR#l>D;i-Ta*o%T(9VBKEo7(VlciH<=jQCvE%)!qDYze zmGP>ruS@|G^mC*Rs_Hz{DD%9wQcONSU$Y2r)*$yTHnUktkZaewux^rt>8VIG-Od^qw-SnEkAL!S$i}y?|Ec$W*C({$@&7HCnO8d6$p}bw?Nfhdwwjy$!zg%vRnM_J7$!tn}Mv3;@f#Gygu!*uNUNbuBp}HO5pTK zJqHxvm`_Aep9 zNeyNdBJZ#8V=lhg%$5j)B4j~N9!B&M%A?FP>piAGGhUOD0 zX^~Ik<%55Hj${=iht-Vh(Gnve8sdV_Mo)k74dM(&Tagg!&9;@klimHO!f^wX7 z71C82^E%MN2+C#^b>^cUWKmfS7N5K6GX4z$LtoE+S`^|2y3 z(B@q0?(n?$;vChTrEMG3p*+r6#w9uZGP+qK{KHGFTA>C?Hoaj0+RMV09Nxl#Vh^sm zmkJ4itDq}px6`jgE;{K1F?LbFUfI5sKJpW*O?h!aaq+!c_xv5C#4R|my_mc$y`ENt zMEa9GORGy|Ml@7oxkRwmR;SGgtAgL^4Ngw33*OviIy0=^-Ir(KCJBXYn z&h4iXy0+;Kx30;-dli_)`Bi@umAHO^=}csQRY(?BUMsGHJuLai_#xE4`0f2`mdJyM z{@i+CgRr|WJuK<2(^}1*qjyjX&6TXvumw4uVG1IY*(KV2Dpm?h;@tT$f7LLyF0d45 z34vYEI4@?OD%F+)WllKz9=2`rj=e|X1cd{f80<4+}U?vm{6`Xl5%PONJ z1~!p+`@8HS9SuXjQtxtwEM+!6#Jn_!GN6`d!7}!9Jm_?MJr`#2Wl?s_G5vwZZR5#f*La;s6M8pjf;c6*E#g+?_6s&Gz z&865uoxI|w89#V~X0*$&D%EW}{M~HZCs29f@Hne!53L<_WeIiX3v|3vj9Q4N?(|O4#ynC8m^F&Id?xO>tY#S{3PC zvEeE_u5Fe@rmBT@IaH~RI7if+4zwtujd1*#OX6IncmwwfY+J&rIbvMrV>V6huchlw z5~A*}d%Cc_1Aw__=!EVWjz~m!9H#L!DR0wy5@k{WRk@%uaD*hsd#g^*H&%Codn4UB zpZ@f-Lh1&$+NSaPj&$8qeK*&jr;du`;#!T-u7TD}b5FG%`ub0po}fy{;rdc^N&rA5 zKviS>yqQm$l%NVWuA!y2Re5IC8e91oZE0OSHOcsqnkL43N!P6<`!taZB?KU0r< zT4#3VtM<*v(+@wvE;ad*cZ0F`bhO2dMLnIwJ*{G7c7=935^wo<+NNT<8d0oj5>(4? zLG(`@2AgkHPl>_gvP~6p8uNe)D+Z*i>imRTEeu3YSTr{G zp|IT2VycWvX*?1Whn?=TFh8j>syct}=)ysAztHol0#3VO>5s(~J@E_2ahIl5C-Ob$ zHS*Q*%p_icqoh-*)5>w}axMkuJ(`h9C(x-xvdbWU(ax51_{0TAc5~@sbICGb+IS{a zrNP0Wru&P1p%#+wO0N&k^lYj0$cjeIWa1{|qA7QG60W49=Jcoa3mqhFRg6s(Wx-NP zU{e%l7|coqLWL}gX;hgaPEZ{AN{*vUI{Q}eCqdk8B-+BAqbKqByBT~vxv4q#(Ihb3 z>Y)n?0eAaQTQ&bX62{Jc#7*36D}-#1zLk_sp3rRFhPb?&=T*Jh?_I-rTZhwYQq|hp zT2^LfZ*PzM>!=st(*kSFl`Qm<6_$1ty*No8yqtaIcIMQ|N3|jC$l0=gu6Ok_HLq2> zFF#lo)0am!IT{WxJzQhS&il@ys3%%F2{l)g{Hg+!)xRCl^^?stEnb{nVOT>jSMj^8 z{PZ`L82Vn7{W|dW9L`5wt$QDa4MFl&SOsCni#FFqmCH@M*6Ql*Cob58A)R@id;bw~ zQ}Roeu8MkAcP>aT6J4gS>_72daNfYnO|rB*mIPljC=cC~L67g3^1BfJ`kAkYLOarK zMrk(&!hf6x62uY5xH$75tw~)~Wuu3G!REDL)h&vjUAY#*t-7C0FZH&>!ArmJ1N++> z6*l-Ba#W9h%v|W9&7AJj>}=1hZa;EYdZ)*{c%=WPCMSv{{`V}v3L8_PtQ4eqbw)v} zl07V@*cp{LV0DTLT6IhBQ~`g}3yz^*eW+_&Nc!adwT}5}o@{Prr0}vns<({&hKcb4 z5ACt{V`&o(6*gC-x0i+V@xCZk-YnEUJ3Bi*Y}8%^BjRhs0jgiE1BPy8!~NyV!WL^P zcfi95Jf_!gv|qW7zhbok?eh3H$UbpLV^eyZt?5? zJ^l0FE1vzcR>c&NAyNh0)5@H*SRn4_3l>92V)O#9mrz`FA26zR=4X9_p+6@@P_Re; zVRXmO0{Vo^`i}b78%#mhg5?T;Wv>1$^{Y(ev9Oi*HbkaOp2V{jYSBOW5RF zVU=0O9_pB~BbWJn!vNPi+AQ%3VpNVCj_c#gH?NB*C7Lp-ars-eeu@unXciIuTP1O` znV?@>inG4O||k2V}>?}4#T^?fT;m21B=nX=1H zKRQ#t*?Y~)6*XECulW|3b6s6Ild6zRtxgmIU#}^vuf47h9*T~9rPZ?K>OYzR*V}1$ z@BxgJqN4Mp<4|Vxp2h(DJ0H2e+T4_wicVyY((KV&YY__nHrwF=hRpz1(7W}mB+L>=!37PQ9xFBgICNM{Z zZ$dTnly_`UvnwSwHeOp0;j#0j6Mx6;PH8U1RoO*I%c${_#z|_~Yc!3o4ti#Oj7+)X zR$*yPW?|-73x~F4M|oMSVv(IyiL;4jcBiFby!v;wtFdF(K}?vzQl0Zu+mW^5jZeHY z0G8tTnd&CCg0P;dE8U3=nu^%@`+xk&IGd*y4y?XU#g z6VD$YxbOE)8E}wxnlhJL7t|cqxqcK4(Tgpnd^|HfWeF-PF24`3h4fKsHI1Z6lNUG* z=DS0#SCiht@xSUOke2Q(mAVgH(TMR}+e;dAco|Az7wzZ0b;GbwnSDi%pMmZ)c}}r; zalW>^n{~KlHo6&d)s~E`1voV!a)pIXDyg~Vpkj?Qv!YWKe4HS|UrFaZ=8c=|$HB!7 zU=`nNXl^b<`qEjr>NN@sTDOJ0kzc2CL5f*r8yV3h+<|QLUx_*OKHej z566h+%FN8ybu*Tk0~S~D2AYxTcW15#bXqoCAs$D!ZKSI#M5-p2>vY_yltNDD^9hPH zOXhOvvCo&28U%I7SYVIQn7gK&^MSwG;^jiI8nrQjowU3RMg6&NC8yOC+zFy7&oC|; z=z=0gF!ZzxZKa(`9{==#zipXgey8_Qw0~|Zv)a=S4yvk+?q%ZWTfj85$GFEeJ9c>Y zlKX)*Z`nYT-3OB z&DwS=Ng%x7PTZgxW@1$e)ISu5z=mB+?dNUq^)43A=piv3R!Z+$hJdUn=&u=MNl9rb z19+B(cV;_6x1}L+CpK(;dqD;?kKjrdFmF}j-!_8yJyw2hmrs3+Ib=WwJHqa{LTg=% zE|`m9WtEwIxvAT^dEc7hsi|-uXF(dBb<75`V3;*UA-U5iHcO;5Zc8YMWQB`sDtD+> zopSjT$UriG_uVfmr6-6}q~m4>o`~whe#f_%lXptu$(l;nh$7cHG3tr=NyI2wiig35 z<{q)dO-19d`M4q(`dTcNYUf_GG_z{yV8;W@U$l5Z+7q`X8|$AV`wAIHCr5el{iQJb zNl8|5fN^?|nl-J#qhwODo9Q;-S(Wsn z9l+yxYy}FbZQ47bRYaofxte$I3zxu~2+Q_ge$f+eUp{`oz!fk~dk0t9 zj!yp80*n$pWX&}BQKDdtLQoK9>&r#6Pa(y3CKNAc{)m3D36V(wg`528lShstu=3`E zcO;y$^0Y-N@Cnt`KtQ>w8)oPJYNG(v`{I5}qY0(uRT9rE2FJ1~2mA5sXv2I*wOWPP zJ^n)C-*SOffPgwd;i5HaRy)_zT=tt#c@q5x@3&=`82-{0L~-IZL-d}rD;6UOqo6{u z_r6L+okpo01i1v#S3 zY#>iIV_bIZ_VO0ldet-SbUIs7nYWIACUL!Xx&8D<7~evyUGgH>jVgKOr@T$zIh+gy z7a6;EgHcjd{W!ZVczjY7?XZKLzhSWliEfF!64r(0Z)H$`Hzq=?6zqP)By;-_ss1MfBv&E`yh%WjEBvJ|%# zXB#`3gZK4-;(;Z0<2Wn64`x??A-*D(8xS5fZ;`1e)Td>$RPU_aX8i65uxqW|^gK%i zN9w@HJj<1HN>0KV1TZ>6fD1Z5H&rDG-&KQT4&v6vwgA$oxr^2n9^{yGUMgwkqit18<=@TQ)(?rS^H_8n!r%3Rk^6Qx}a@%Qw=v!nAzncOQJ zw067~QT3_s4pu^6VBGp2<%es|q#jIG+?Bl;t*=$rf8~<SESdWwE^h#h7)&-9_UP^vZ7oKvW0RthgN7YvXr~#8d65%U)97t7(56f zxw&+UcW5b8IIE9)|44G`HA-O%Bblpz&Y~8l->hA|=py`8J0+s&JT80NMRLkTlE-$? zyu)mJ5=Nm0e-p%O;OQnT$UE~ngWj>HBrYC1tB*w5%+bxor9lJgDjcgg*U%})6B{Cx zTC3bEMfYr;_hWO(U*|$fw-4{A=Cb^c_P#T$scmZ)D;pKD0ZI`?lnyEgNCXt=RX}N> zD7}VGlos7c7m(frq}R|PKn#d9>Ai-4^qPbo0wlQ$b)R#dd%k;~Z-4jxyzAF|RF7@8PG-vUCT^wE*s08;E4e*TpjX2YJqKci;99)!LhI7$ll8pFZptp z+?-<65i-G}xs^utjAPi%P3N?dM=e+FG+2utApNb!sstuWZLh}i?-VrSzzH~w% z>J>Ixqh8e*3TW%sTGwQ8v!3hL@eO*2E;dMB(SWjrA^vO>d<=2Tj%dyaEI5kuo zKwQshWy;1Vb)0We)4x=pXP|#EVeG1lcre{#C%ca8^&8%ukeEtG5Asm-6Ywa1K{RTvZy#2T$`QRB#@Y3^kL3)k>Ej6Man1FEag@gz zBSW#_{#xNKTxv z*gFNvDtA~?;MB74I4T1l%JwocaB~fUx~*nY`c*l#j%T;nCa@grfS$OVn)W`uK~z}h z8r7F$!3=>M_wzoQRColDb9tt$0O+b4R`l)EW~|oAgUq`YD+XWk6}k?$&oF9w#bWid z@(ZSyl%>AlWSb#xDhHRAW^@oPOY&WPBigZN{9@)W6MD9M7^&hq=eDgJksXQp?1@Uk zElIGhH`pimNBoKOa?rWLH(_HNYfABjr!szEqEonko%XaB zNh^GSbz7pUOKl|h^tWS`yhSI1&z2l(?x#i%AQhI*c1Z=ZdT@3);&~T8nKcGDysNHY zQg32^LiucNj+iIi_Cd6|8Y28rN^>{EZYF|?1viLS5N)DdL8dh$2~Tm0rXPkbH-v5r z&Q%mvXB^mdB%kNLc3xRh-r;KOg2K#JguH$7AIJw|4613O0}|b=C+WiJ62agkq_J{}=vv!@2R$$T(K&}Ml7W6G8(}7}!)F=;~ zJhnQtb6n;S6W5T``Ljisw!qA^SMll3*)6%wdo0v#oG7I5pfp6&H*|B2q+YApA=FEE zigrwbUp592y=FS0(_0zGzm9zm7Od(m9(g!Zp=YGGntCAroEVm;!m8K!$eu=i(8~x! z4RXjnBYa&$hhUp1Ncf5sFYSTUPwYZJXrn~;^or@v2-Z)Q)^=qJpDugHeQP|^N;1T4?Hz9c^%W*B}VGh;Ti2bN1+G`4soA3nqF!_=0t$eSH4~4H% z`ZGsXJy;6#szEkuaMOe;PO$5BBvrN99m}Qn9X2{==BrrR%uLBbn1|XG!hG^hf{4() zTM>40?8mTcZti2r0=?G7F}$I>VqKS-88_SHGBoolYl~Bd2VXwQUn6iJQ3m;Ju3Hxv zH&x`%`uk55k!6@A-+K;ezDLX}q2S=+LkqDg>+v!{vBLT|QzUDT@rN=ogG&RhAUHn! z#xm!$9Q48sL-N^=W$E9;(1G`mtXdpm7GOq7i9J-t?~%=F(|zSN@D%gP^+l1?+s0O- z0#X`^O&V8e4qC152M=~6x84$)TL%q5+-i5eDPD9xpS-r2ozH=sET-Fl$@eiMI7oIC*Sj8;`{cr*`I(gdVzWeN+9W__LCu+Se z%bw=gWLe29s3r=?Vl>PJ+HKgu7GibqE>;X#W0~Z8IRf4I#JxBdNZPJuw?k?0AY!aU zSo?NC)z|grnay2k%N;(NDR8=~pdiPq<8HFtz94RYxiR?%_oYYHw7_=oKWL3EpXzQj zJ4Fi#&+;hM6*`e;AnxVgVIJ0(U&(JQe2p&O+2PsaQ9`?QGuE%)s; zbF&KuWeJf$Mn`<>Ql*<#|F?*@Ga@DIG#k!YQrF%gOTZ2*&SEjD{+KtIiJdG$)Qxg2 z2PS>tD8=_)!D|p%ar$Kvi@r%vo}4B(bV0$GD@ARuu;t}Bgef@o4^fYL?U@HbGJA7v zf!`(0foWUPZ>DCSl1_7B#^2#3y*dujNt&OJG3mJS(AR2UTQc?{c+q_yr|?dOXXQHG z%s_BJg$qx52X2^074)$^n;nI^)gBpk%ENQ<Y+) zZ~59Vc@@wL^Y`|1wi1>~=dYEXW$C!+q*4d2;$ynW^^jKfItw>5-mJL% z+=S=2hMZuKsfru?&TZ+^&*Rp55YzPG;Q2B-$*$dzSMKPc&CkZZn7l%UOaqbft6kfz zI>iq@U54zfrw1|^DYkJevfVbj$QQ_OC3C6I>T_ReFaoTnClb|W<#F>S4+#afTZ4L* zjL*l=-?|oVfzO&C5-}jt^Wyxj!)MGlQpRKvrqz3SeDLcNYE5=8R{OkcG_LfsCiOy? z>n;;GFN3S~l`JEP2izAwx`OF9>Rsa9jBu)by&a$JGeB2a@w-+_m@sJ$K6yy8sj!kP zOfs&9aCg4Db%a6c0kzxldDqr*rnaf6)Ofv3g1-|}=*J`=miDVgpfU?NUo`6zpA{1s z-7$x2_VlwK;q_heGE>}#-K;wumRVbG$yv-DC;_%UU7q*68tj#KFsM_@{%LsmT5XLGJ?`qWHYhLI2m#7pL-OcYNdDc~trHl-fQe)s}qU64(g zlY`o23Pm|Pg-oVI2^gPI|DG>+Rnbz*#wCGy_EU-{^nj)QwO00@(c)esH4t7B_=O~NUtY>>bK38 zK`=5Y^m6^uaPeV7JDxnFN|+v=A}?c+Lu|o96T`#9y;43D5@E{c0NdE}g)r$k?@aWi zlZ>xOySx-txpdeVa5hh&1W0l&^}IX_3TysiS$%~CldREj?skUdbr07zt~8m65$>W7 zN%sM7Ih8TOHh)Os#a(ps+2#f$!8p*LyF}JAX zwi^d#F9xD{MXXtmUZKXo3=Y;NHM~`i5CB{cU4ofU^G|xw-j#nEKBL~*6EMyzh^qr} z4?eSyWGv(1EhwJofr{~q!vvXEQjLsj(RYEH6a{yH=RvRFV46%u#@V__Q>5V+WdB`b z$}Rp#@b^7rR*dvOwA$n0Z_8f&0+WXJdi~6t!zmy3*Mb|KnS1f8DD>VqU|&|b&wfck z&zWza7d+&gW&LGYC>!7NC zO!q1GfaayU?9l0S$eg6L(KVs=WSmbwxu-}nS>{$)AyiT1=x-Q80sY+i_( z53%*`_oU<=#1&d4ns`iTb>3rYp7#eTBHk9X+K={F{%Mg>rfYLl=FWK~ChjU74?Ui}ueM1HK_`v&Sj> z3lmCp_2AAIL<*)SNM4yEp8OwSS0jwD$L|Es#A<#iFmq?N%~HyMosaY`C3+@&wnGGW zJb0Mms$3B7o4f58e!rk{Uz6?bgXnJa*(U@u&h$wm4ROZar$!tR|)bL&O&Vn-L4>Nv|`uLJ0d+rOpS7c+bkaErZbIY)_(^^C?6$pb)2Q{-` z{ua@z-{HX--mECMF-JRPhv@vBsw-gKKvuoUCs2Q1x!~6c3X1KaVX?K0e<*w%5~6wH zYwzyL%b>)OF|1#HuyXa-?f7={rxul840>-Hb0oCQ1G!Ajc)JXLA!0=_Qd^(rs^*PY zwMCcycBL+CLZ<%!QRRDK3{C*bvQcIyBPpU9ZT^Cx&${&t^;5~pTc^C$5T+-+>U_da zw@TzN6kx(2yzi{;Bz1^)kYa+O=KyzK-QG8o2|fYT{Z8pjnlUd;>lbIBpzKR3nOa+V z)-}C%S=#Qcbg)4$pWQ0e72&<)uT;v~BV(7N)Bhy=zUT*CmAd_iYgoA~tz~ywdD<3P zjr+TrX|E#VfOw+HC5^lRtRqLlQgi`)q~(tfxvOF92eUPHosj3+A*|rDoI+!7vZ@W% zbTpcG@`(mbkZ7GV_R2KxGXN#ELUnbJetclCHk_n8-mEUkqvU*}QjG15eO|iXpPHp5 zgTfsAiN-2NURLaUN-yf{`+JHf&&)Tz`?K)WVSXW(Pbv>WUHJakJ@8QeffA(;HtTNr zM+f$a?%)&^N@K`VHs)=CH9JoHRb?=5R_v8F0m;MdJ`&N6eMTytUz@h&o06sKCl9v) z*IOg`MgAGbM1MqkPwVzxyk-H%3fLCKFvm(U>>%^rGJH5ik1{f{1@`rHWvU!jl!I~y zvoleWtMX1tOTxYit|o_xovI=F&bgZ|2{U(vy&9WgO;Ww+dD6SJhlf|`8hxp?9!H`- zcY3f=mN~U4%I6|AEZxcnsm&E=FT4#QoP1bmTE!fyt#d`z>rQAa_kk~?XoCQNZ?)EY zOnyVo@*(qhsr~I~6j9}o*Rwq47bC2)G)?J=8uU9qinwjy>CzM0(&@WnupWi`>Fy)J z^ZvS4D{%c9*FVEbZ}C**6u6}Z{dD4uO|YQv+UX4$lr+hq*f zNB)B!!*KBqzUu-~3|FM=`hHaQzN|ZTNKnZt99lq`_zA9-RqX}v z*(ohMkGqME$VMXd;){+SlgYr>x%?eBd=|PQt6_OgKE2e8Y*c8ZD^OXe;fB#@dt10q zN@V&zK@r}XQOqgWwMh*Y%xxQ9^$rYoa`n@G_yUf8+RY1QFNjc)oLgmx<7qs81z}ur z^NqqTp;jn*Wnz`qSn#r&r*f<6lY(TqThWG{w`bk~+k|YVKp6ZnyA8 z!<#ia>^qod=L%11ZEZQ}$<+8sBTe%+F5YSZCgwv#O(~=e95~jgX?Fo%Ql$B?^s{Ez5YH|@qB{6`zJvJ$aktx5V73-wm2c^s`v&^ z-zd~9iw&t?JI(d(BkcQED)d@n7{fWDk(6O@oF02At<~%&#ra9IkJ1h$pVD<}UsH_q zCQd;<@-A08XH7ETy*FKA?XSkpoekBA?wcPxJl6HoBT@A#A{kiy2K1!boblB|@$@3l zCchn~#0_gpVYEe+3X(yfrL`8h;LG;F4mv-5t z_K9X5m}{Btl?`3I8vwZC9q;9y+1(#{5l9 z$#7+J&7?a=gpfjPT2drK*vTtU@|1$~m-2L$x{WN;B!Bp6Q``q}{To-9K7GYP;QbXR z^6YqKx+OCFW|m#~9Ajzdo9NyP_((K8)Lh1-ie9AMR&ri?w4&?JokxC)>|-x`r3=&q zf4!Z#H%n~x;^}wD30W!3<&t||fJs_>DPstI`8uX&<@w0CrdYCK(3z6Ly>CG(JogoN z0XGI-yunO_mG<1q@Ny&mp}XI%YbEXkZe`*oyU77{+%?pX_^uhH8hDd4(QMt(deG71 zm1Lap_hv7nLM7VUGd?J7dl!PJ7fI!7FO8FjegScy?a;UL$D@~S%rg_cYtYAKJ2tOg zv@P^+(eR8ivp ztR^uu5y!Fc8)ah+p9K&hzDbY2t0DBcxD)0MGv2SomS|i5G%lTb6I2VGE2FzPwg_76 zu}f7vGccS;b)Jo4ySX!AM$_S?F6#d1TM`S!$>)3$R=ccY1kJK?e!Bl9pP;1Kg)Gv6F=_c8wRVRt}l-MttC0U^9y$dy3GZ z7WV**4%X6nQvohW-smo=z?udndvnULbHpLZ;B~L?x?pwr^Q%YJXjG5ykE=T~!Johi z^De_7HEbBOmWbzQVeI9)sI?Hm31#ZJM%g}IXq-$Xcvt@N&Ab;@=a;)3_at{BqpJzl z($3;ppbj@V-5>e!<7o83Oo(9r@^%!b`gy?%>eqJ?$Hw$FjERdrJCmfT{p^Eh9^?_2 zFeLy+)D^$^F#Z5XGTxiS9;V*q1}08*r}w`wl?=@F#SkAgY&okjT#jlM5Lws()MvS) zA4)zvVCMAcgBuflW2Q*WNw`LMJ!t?9Es(lGz5ai;nsVE29OXm(*etId(rj3cy#K>C z7}!r2I3CSUa=x#*w!R|^BpUrZ;o|@K)xyF~UPGhpNKEPElK*{A``rcFBfUCaA*Z0X zyR%!>_%bDm>c=P5srcl?8cC40mbY9@Da^7xZ&g%{jqwxEWC`6PN;pji6~$tm0#-$U zYk&CyjA|hcScrsi9B>9OU24x@cZXZLi}q4aQZ3q9dfPg9y4V(G?^mJfK(DJ2HIl>1 z#?C;Wk=MzEr;g7~un;%nCn5nujOweobg!dGaCTnVd&%1$zYBKfWcU=LSA+BOr1aB)0Hl(ZM3=&3}1L1q!-b_xa#P^fS@cVmw`;vwq4!#cp zFYhQ>v}ec(IDezmPLgJvt4+b#lSMi_l>(xP8!4AmETZbvtZRlVTRqZDlWHelxVe0Z zOQvqMidG`~dELPn3J9xOZ;Dl6#lrSdU4w$+Zzi8nuKb4a$6395YZ4FisMoDcvyHX( ztfEoFKhq>s8-|*m|?R-FZ}`A z`FRiY$BLI?*U!oyb_pOVb`lHyE?-nFX3(D%?I?6N&*C?{S5$g`$f~$oo~*Do0@`FCGZW&D|$o1wU2>^QRTSA_?{kO z+f>8=f~n8;zJ8ZYnx4d$M;Daum`;B-j_HJ$!a2y0`g`oQX}b3>o;~H2Z|cr8Z<19B z8+x(p7nNrwJg38&F|@`L>GdbW2c~ZR>@5ARAP)9p8?hMeN`pMM75$sG5uMVHE)AL~ zJBadRDG8o)3ZS3pIBAZ2VNlezVfKh+o7=*h2+1==US^+jZu0`wo}%qu=?<*_K8>ZcF#fbhs1Tb3uu3; z!+*c)Aqub$opY@PcOO5Bx#Iaa>Vtd1EjHYogfk--ITz`KJKLP2$sa>4q5BWpw(`ybtLiI6fFao?vyq&vq|Z*-sm$WeziWb#ehs$N_eCtc5Mu}@q=;>X@Ew@e7>KW}CNs<2Y*s9>RxyGA)gy0% z++r53O18sp5@q3%!gChK(^pcvI7t?8M*>hd`~Z`h*nX&EA3cy97AFlK9j)xQPvbhAC=UMMBrmV&KyyybytN23esd`Y_8yZ zoINY2PnrfP)N_Ps7?bxPS*v@dV|E7CI>9kvl~ZQU6IHTK#BNSDm@{JZxom`~53#w$ zJYA`vf`egFk2_>HU{*o$gkXMf!aHj)$XCN_S&A{O7gb=-E9< zyV>ka91O}~yr4RRWD|Trhv2qHjR{A8{*KtE#CoTd^x%ZWTcN8OPnU@X(gOv&P{|t9 zbDQ`?hxNQ_Y7GJU5*riBgi#(--D?3hI+p0o+#Wrepx6UTTr{iFUBCrNmN|BSlsCIa zpdO(9BHr~L!;K-ERa)myKNn!FSjp0Cyy`_~rnh4|qpK?btyJK%dLFAY%m;h4n|?PE zBQQxen{Rr0Vfc8c|l#IUHnx9E&*-(fi{^+|bJ= zLAOLwq2(Z>-X|b$a;6=Fo>?`{efVm_{7kRZ5&L)OesP|O1qJN*YOxo!MPT#Ze|ax8 z%qgN{Ig)n9&xn7;C~r(GD+`~_@zPw2=N-0PMce|^!yUHvw>e@JQ62Ld^_WYH z?x1Y*l`egh=S;(#I~4w`u##5Gq3{Jdmf;**g)?ix3xQ}R6E_RQZT+_^9dHA^zC(BT z4W`W6G$_(H>_XU(wMZgs-;8syo`_o;<2Dx2-Q;IRK-nwvU2)JWU@_=rshsw8t^zW? z{l0A~%{P_ve-CCSAhC2Vox`-AQv6qF6*HWX84m2=2*~`7z4A zChaC{CqE7A*WhrzYN~6Tt&E{89Fp?h-R{Nn0_-O`aM5@# z1_L}YYks^G^$s3ZjWc{v@%S!FP_yP%pOsrBRO{rBp#D7h>r772Q<%LKswIo3XsO^` zCrMpMkl`W5s8MU9hBX`9l6U8g<9Vj0SgUi2$DkMX8kT~dvLcgj>WqOxW6?K+!1F`H zKOXAQ%FG1maxCE)!NRlWnFc*jWeduj4A)y!`_ipNS1Pp;Q<#@c{%p}-?}1F!{6=|6 zfmN6#xM%2$3n&7y{YrvE4treh?A{AwE3(E~Z&d8`Gj z#L>KX-p$%QVD044;s{6in_jx+emAX6LfGQS)JS7b-#z^uqrtS0;o5_yBnT+Ha=P&g zS@wEOE5-?I$axF6;VYXbqCf_M+O>@O@4b|2Q2)pN=V?N> zFH~R9@Rd9Mrqj&n4_Ko?eAUX%-l56;i$%}_Os+AL2kFl>5#y%H5#+(G3}ZbG1|^61 zS)&6VA~!U>X}blQ?T zwK|wZd#dTdKm_t@=pQT@Rb|g{pM2PMit5peo{ZAzpjAQ^2Cf>p%xU-OF=P_gsN(^*+SK5AR_g6Y5|n z$&Eye+RJjO4X5d;Gap)BVU9VQIP(osqv;TG zmLf0gYL_vON0pIQ>X}V!cxt=3@?~>OjFQe~fG?^CjY4K*oRs!ammeeud{8DU zh+Vn(@M*@I^bc+Knj`Li=|EwOUGJJa-Z{WrQwtSM`I?;5@GK)P1r$Il1qla3`hSGT zNKb!PerhD=6+xf6clv6mQr7T_QM=huw-cR7`jm_(G}#OcEn zutQ+rFB08v#Hh+PIm@1H9#|&P%<&Nz0*=gIKkr~ZqxkQcr_0C2Fmi@*PunsN9L5;k zIg>%w8QL^WCO1>lt={SK&_^P7TJ-j>==wvH^u=ak^)}=$ZG6t>QmVgO#-L=@@B8qs zIsb(-TRrXhtdLwk5a-RGfqv5{dWf)`3jTMf?!M7Z8_AfQ6#Yl1ObXvR09<@0INd-a$iX!mH^SEu5-ke*3enF(&r zOVf-ei1e`MECvximyI^40Ux+(vd2N|Z|4MkQsMU_r$5J|z2}&-vubw}g7f7vyvq*g zszGVIMp3HrCw$X0so5-GZ11C%b)RWfzI>E?P7G^fdmK;g!2w>oun`&>aG1D2heIs( zm^Ox^XHAmrJAmlg;qY`3*R8tmq%Zt~9cP-Cd2w~6oBf||h27RX^I#OsGyll)7O)h* zjttV*p|Wy=iXRN*b(+{Xst$|j+ZN1|(31)9ex+YlILaLBVNRJzH5CpnP!dUMpMp|9 z278oiKa4Le(&jtZN|+!iwA@Ex)kegvbIhD*G{Y9I&&i_4`d0l+X7_d{$%Y#oZBi7j z{TcVykZZ^x>EAKtwiOYZ7&(rMp{JSV!$7FF)pATdtpg}pDBfF-YlHxPdQ0RBr5jbm zAZb~sb_-W{VMjqSAxZvq(C41KoEJF319$6wn2#ZLerwFN zACt=&>VtoM837{sGIaCZ@yOW3NXKgP9TFBj_+$h+V>Rfo~8ek+C>y_}_WBLi+6cVGO4ByD!c^wJ_4uDWU zzWuPVX9Cn;G{Ic~s~v zdvW1FpB>*C{3OK>kLji;5^Vd6b!Zpy<}sC7TMjo2Z|H@XEojwgJ5}~4G+BhKh0kx& z)Kux`F6-DFMJL6ma|(OAy|+eSc+ts&5d7hWu|x#b50m=Kzzr=FF?&epvrvw`)Sd@zkC5zE<+$kF$?6E z{@6Parov}W7zokD7xNc0X)T@B(;cXSze6XT@E_J$o@bOZi!(az!mx)p}t+ zi>vK@A*3;4!EE_{^xS3yaZtsdhc6hX3}M?`%E8RtgUxYsm*8q%TmwjEB#6;CvP~CL z@kj_+iIQ~NxLwm!fS!DPNXOiN3h2KK9Fx(Zt@{KvWq<~MwcqUdt4i_j4L;qp8lAXH zA-fP04;)uZ%SF3^L=TEDnQpk~sF9os2Tui6QHsQ3tJL1%mL6fcs>W?!XyV$R{;MwI zJwAJ{ivQ?IZP%LpvONxW*sI@wj&J~1y=2!&JLR~e(uSvW2Cz-KvOyk}=SVf)b3H1f zqoR8KR~y^EH(2=gr$2%mHFb!qCwDbS@wpfdLC#ScbJRaUr=kJ`oI5$ob|=^4;8H$5 zv%_7}9h2)T!=hQtBUv5Kjy~t^{%&VzLdUa9=S%J>e>)~(q$u{ag^z}M^!4p&D&}$y zmY1_JbGDvu?Y+sABG{h#5Tp8G0A7*m?TCRw?~g-L{eCL`Fx7$e(9^=k-NC`ua%l?J z-Q5nB=R@9E!$IhbMLbF4!wbFU4zJx@+L4hY*V#+aX7{y4UA8dGT{(?Yn@SF1)T2py ztkk3N1+!Gl4sI+jO^d=#*nJstdK+3(>mv5GN@Un_0b<~}fwzPe1Gxo1=otqxrioJS ztab~ z7Pg=GK9WEZXIsN_Fs4a`#vQ9_Vo3b~ z21Z2Ayd$Y-PBM{2nWa1=30k57f(I+|%=p8>iFNbgaMm5~H%siTUOcvVr8sXl=A`}! zH-Nza@Ilx+^l%Bqr2+UfjeQS*CDP#CkiDIvOL@OJSDRU3w_e;FGcW{z9DfAlVva-2 z*E*N-*?<4r@olJHBri#M>fYEHnXtQcwNi^psE07th?*mfh}_ zDq$fMQgp7k*j@s$SeJ-q-Bm*-?G8p2XZ!OfjiU{w-k5Zq^X$lD1wgN!qM{h*;Wm<; zla+wNbYad40`CQ}v5=dLB0E`vYnLJ&-zv_={Ppsx9pxh&txmfFUpS&lYxBmeHx8;% zD9`DCE<>PIGG0mgg$z^i&sF*UgbFayIf#?q58Ci^Q5}1Bz7m(5lPZOA&eRh3?)~wI zjF=*_k>S6{R}!A~tLyvUTo^etOjT7?NBj$Lj*ayGE?xe6JnBCn^Z)rz3&KwtLHI96 z+AHwF1-OFZy2uupeD-kV+i1LQC@vM)kCLttpGh5y-=hKpc0@Ub_bil{9ht8E*-YP_3mYlk zfw_TZIL*|@lWO-ORlcueCZi;*ZEW^u{zY=sUzv<~pa1 zJ5Uje+r)*Q!ze;#`PLn)*TVv&5XuIOvgw*3`g1;CPesA@r4I0HWKqf?|8n6~@t<_0 zdh}QG+rKyX8A5`O0U@O2hki{zfg|KNP<%F~95xxpWPM+cX2-)ti|BYm%85~- z$!twYac**dI~WbMbhYDa771Gwj%;{|H7W4>T6jyE|+m) zRRJK~F>~who=g#b@W6ZH7gPQ@hhJ>X?90FML#%Ny|G=Kf;y#EuK)GyZZc8v#Imd1P za|3a@{>|PLiTRhl`;zS`=TGXq1?2bN7!>`|=&5E$M@PkME=v5m_Ur3~g@rJEnZE*% z{~gS^>;pkcsr@XH;`~O3O->Xja1Ne?yv;l4YT* zzHj&YUAm_ztKU*dYztMcO#e>(4K6E3pUu5x{|XeUl2_F@YS;g;d2qL7p-=(|S{p)k zw{({;ZuXjcGOr?6dvXF$Srz3q5A3Cws{nNzD732(Mj;m0j9wp6bYNg+nG*@>_lx@} z$$kpfHe*cXwbJYyPqgPRWNdGLs6e2~J^v46|IGrOD`DK3i&7q60AZGx6tMuoh?~qc z>wckO8m2T-cIyv|VO!6CDa)6aF_i84b`m3H+uv3DFFoWxX&wL2OaSQLmEcvUy{^{P zt*ZPJG%qz(jpK@eGi^u8n{kwy?LNlg3!;8a`@u1k~zKo zq_I1kjO)NQ%!aZZl63xJ9>&X*l6$YKN%K<@V-adWKaD~_68$}Z0&|9Vt&UL8p7jFP z?FyA$MExmU*_A$q5+-9?#Z{0xA&^(X&QR5U_qquLER~=!6)SMCQpIAe9V_ru@s6n* zh#55CGVpH-lCq1?Px159Y^!y>rUa<`za`FZ#{FAeI$D`?N)*jPSRZEp#%HCJw11O0 zoq)X)YPmr7p$2gt)wsJmTqNwRI?lW~qJ?HoD&Jkhl|aYcMBGy(;sONFXx%A8n54uS ze^zoA-1=aw_4<6b5yvF-!y?evYgT08X8eD&&=-uD}Np z81y7^{Yd0w=U8TXcD{l}m);)!p5zC3@e z52^Oozl&<~^77Jpdb+!>?_3hK8bza%Qc`@(8-Ojud4K64#ih)mkWcG^bbtEU&cJ*C zzDt-oN<9D$wRua}uBFu8j}v)p!Ujlp{wrsGbElk3=T0Bc741;)qOdJdl284wr`^py z@^y^(U`O`Dsh>3VP!4-2WIUy=XEEyc9oLwr_F6boy*A+v-UXDNBj1j%xv>v%K9w|< z>W%lD@;uzzz~O${vQ$)eJGZwhvaRb6JL(VnXhw lD3tXA@uP)u`iPI5pxQi9IJ~16&USQ4QC3Z+Nc!cU{|l~gEW-c* literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after7.svg b/artifacts/ui_eval/current_tui2_after7.svg new file mode 100644 index 00000000..de01969d --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after7.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Entry Grid││ +│┌────────────────────────────┐│││Idx      Entry  Title                     Kind            Meta                 Arch││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││1. Selected entry 0││││Search entries (Enter to apply)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------││----------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No││Relation filter: all│┃ +┃│Seed Material││Selected link: 1/1│┃ +┃│- Seed phrase: (hidden)  use 'v confirm' to reveal│││┃ +┃││└────────────────────────────────────────┘┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after8.png b/artifacts/ui_eval/current_tui2_after8.png new file mode 100644 index 0000000000000000000000000000000000000000..e22ba82bd124500eab356971c69f19243c6e05df GIT binary patch literal 55837 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 usQ(`y6p + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Entry Grid││ +│┌────────────────────────────┐│││Idx      Entry  Title                     Kind            Meta                 Arch││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││1. Selected entry 0││││Search entries (Enter to apply)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------│││┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Seed Material│┃ +┃│- Seed phrase: (hidden)  use 'v confirm' to reveal│┌────────────────────────────────────────┐┃ +┃│- Word count: 24│││┃ +┃│- Index: (auto)││Sensitive data hidden. Use 'v' to reve│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after9.png b/artifacts/ui_eval/current_tui2_after9.png new file mode 100644 index 0000000000000000000000000000000000000000..5b062aed0a0e118554163a3c06bdab4c032ac39d GIT binary patch literal 56450 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 F{|CPcgA)J% literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after9.svg b/artifacts/ui_eval/current_tui2_after9.svg new file mode 100644 index 00000000..eb74afa1 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after9.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││Entry Grid││ +│┌────────────────────────────┐│││Sel Idx      Entry    Title                       Kind            Meta                      Arch││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││Activity Log││││ +│││││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││1. Selected entry 0││││Search entries (Enter to apply)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││││ +││││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  managed_account AIIT││Links Board #0│┃ +┃│------------------------------│││┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Seed Material│┃ +┃│- Seed phrase: (hidden)  use 'v confirm' to reveal│┌────────────────────────────────────────┐┃ +┃│- Word count: 24│││┃ +┃│- Index: (auto)││Sensitive data hidden. Use 'v' to reve│┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_before_nostr.png b/artifacts/ui_eval/current_tui2_before_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..93893bfe7caa41ef5f8e698016091b16842ec666 GIT binary patch literal 56417 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 z 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_before_nostr.svg b/artifacts/ui_eval/current_tui2_before_nostr.svg new file mode 100644 index 00000000..3076b4ae --- /dev/null +++ b/artifacts/ui_eval/current_tui2_before_nostr.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Personal│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Personal││Notes & Tags #1│┃ +┃│----------------------------││----------------------------│┃ +┃│││Tags: social, personal│┃ +┃││││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 6 | Entry Num: 1│┌────────────────────────────────────────┐┃ +┃│npub: npub1qq...│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_before_pgp.png b/artifacts/ui_eval/current_tui2_before_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..e36b33af228c0163b87a4a237853b93568f7937b GIT binary patch literal 58163 zcmd42Wn5HmyC{r*1VjWB5TsSQ8>AIPO1c}QyBT^EX_OA>l5UV@KtQ@Xhwhl6hMYK~ zK6^jsyywHa_x|wy-u3C8HTSyLwXV(xRb^THhZGMnFfj1t<=(1eU|@M;U|I_ zaewp`2F7Cy`L}O0y)%vwg#MJUPf))Y`WT0yh!A4oH*3t(c9C+ADbocXMx{)P|8n5* z2%v0h{8neb)jk#YPv;VTT$~}lx`s+VLsYY1qyTSHI#3Aczs~cRKfcs437Gj%!yE%EDMIczBSRDK{ds=)_4CIzj*d#=+PgO4 zeVgLq;=d7!f${T;2LMn+Q%pw@O)I%FH^=nnF2-BzfYvS_>V=Z*|^JRwdD-!_5fRDW{LnIf3H?{Ah+lB)t|Z ztkk0Aa)0)9?0au!#^40&^>g?hEwtdfT@9gjQHax#7!=H$^ZZ6e;R&eS1O#r_?Vh6R za@Y>s+(^nMbGSQ1!7pou@cNsOkRmTJo0Lnq35r7(352&A^!!wz%mP|pge-&*BEwMm z!>m5YAs{mS<90fs1IwyQT@OjzKOKk5h^fjL94iwO42+!m)cg2XTpbX}6_5M@Q#r&r zSLGN`$lvOasq>SrL)Tn7Z^*6W9MHOZ?+`UYiz|8Efb4*qm)Em#J|ONRj+h~j(64i{ z?A_ZCts~wRmU7nxBw{|q_*u`{xHsVltnZ|Ud4NvOU;nb;TGaI2y*g@+J4V5Tit6E_ z&j_fFaNoT>hY5*N3$@ZP|9F7%*&T}+X$bDGfr$IPBvpINF)Hd@{~+#X=jYCFA}cDq zU?#(>aF3G?A><1k0$2beYLKjb#_}$7>bA^$AkxAhsW0g9!6}sh_+}oZeas*7x#N&v zcQKQ)6gkL_Dngx=NxE2|nM5kVYy9NcatAf!)VehwI-+Re>0fZxt-{y_klCcWZJj0W zm87%U%R)N6d->#U$wcWS`j=IUokPhS+gr19-PUy!!*@os z6LLIyL<4UD19b@UIpC(B0O5+Q5MDgWXq92RA9#Z7R=J{I^+$kFfqkEamLi=RAi|`) z6>NSdq703T<&1hPIf$axRq?{Bri2>K{>nj(vET2?BBvuKs#E*_lkV zoK%efOY#zNK)VEVKUy0@A#-Yx%dnVL-?AQ(gTT9@gV&*7w5}w;Z6lnX$RgA^Y$fiC z)@mi{kfUL32_LmjOGk-3*7khc4RpG;t=a{|A1WK1R?I33*!DL#HE9iy2Z^JIsGf|_ zb}ZevI?rVRZ$7&qgir^P+M-neU8RoO?($F{42+Luud`>%s`#EYta@w)M>!4fAeNGb zxPZtp!97lS^3gjJ=#;@ZqqoFqN^{EhNBOlLU3AT8;hy`^Io{XT6=VvAcR1XcAa_Sr zn{Ir0JWetJfiv#!l?b%KMpsZ&mt~Yk2Lb^3TvV~@Uk>T?Y?gAGFpz&U7oJL7&osr70&y?kpq8un#QbX38rBJA*Q@gOx=50I_A(N_c0yv%jZmGRw>Q$8*kDhsjI83U)M~;dC%c$I~LCJ z{z@cYf;d?*FkD6`_HJ5xQ@WD~9lS`LD_K{{#fWiX9>+*qKb850^_Zll=NDzDm6p5B z&Lc@(=YZ0SS^S2lh4BU)LGac~TGWM35mvS-7jj5yu40b%>D;I%%`;?R1|H7)k*itQ=}c-gvOIKoYI5ZKtb(b=_OaQx=HLSb~x?+P$!lNDQY5JOvW z2cTqMj}b*4#w__M6Qk8k_45KUet$u+8QmcF8t;u-CY2CkA@+3sSFiZI7c}CUxa-;4 z(cB~RKGV@mai6sl{hA^VxXKlBXbE_ZV|Ig5vo&$z!|U8)AW*+j0sBek*L)ItEar(2 z*|yclId=v^C>4ocs;hFwCjq|=H!D2ki8ZU;inMcZdDDO1*a|9|vEJ&Z4FVP6%yaT; zZqbNUoso$ye8f5BRfnGOkGT#&QokjezboMkG>b1Cfb~ON#^5 zYJr8!ITGz62LcJ?V6Eb-3NZ=GnNutVo_9 z;__SHj}b>!*Ig^85S6suRZ0p=NJW^G(kz=k*@~qXfgp^}h#m`joa`>I6JdM|VFKl> zf3Ax|tn&fBr5Lv}XUY8tRyIPm`I*2)SI4cbl^^5#6GZ|LoUZbAIf{G1z{m$r6@w%8 z0%_FHKEcm=`|2xNW5*|`JiGIeQPG4epU7Z16!`-|8wjhJ+@`s{>qU9A9B{Q8onB)X zgmK<@H9~H{`?+xdlbf+P9Aw_vsO+I2TNRJVb7jIO$KjlmxMQNGBNophA3WTBaaJk1U`31pl*8Ne$p~}2S}An z&x(Ot6pMo2`}3FkqrX^U;sb0myfPy zl@K3#a3_7WAP?o9fhfT_nVs({+fRHEp2A%bTtv`-c<)?s3GM;WMCLbF8)Ol!wZyB# zvwD0)r@_yAJhEOOvL28r{c%~VV@I}(=O*6ft?!-wSUHoIE531deIsX1BMWYSvyHl+ z_t&c?jX^tne|=oym;d48{-?A1KU<{o+r09<*!vD0c%Jp==(R;5US8hy^Pyx8gBFkd z;HdCNf9`*@dO-0%Sy++rZ&g&?08s|Amp8x|f1X%ZBgn5RYUBs*^OmECluUd=E*@*; zwxg(%e$SnVvSztR%H)vuYPt^u^r(7zLO+DEf3C)`lfqQ2W8|;CuyeyF5u(S_+XyNi z*kE?D(CzOxd@PXrsX&jILf2Pdoh!skU|p4dByIfXWEn0#`$(GM6p$tKHX090$RZQf zNOiq`J_3c|@d++H!KXW0n?SURVtyU~(tG5^%Iz`wo4p_3$LbCqB5L{eM(`I?x#G)0 z4ISZ$S{d~W2{!3x6cJn>)7Yaoh(09qh|nMIbf974w?_k4#TeD`>hrf3?_@(g&P@_z z)D2(K4aGi-?EACj;xGL0g7Hd5s>ttuVf_tsg8dzrjEA=_|JHZy)PU~B_Hz!iWGhO3 zX1%^$Sxj1>|GU5Rj?zo6MjHF1a*Ngx{v`v(yC?jA{~LMy-&qWE+HgM$ao_!*hy6E_ zV)ttC-dYZS)oP493JTTL>>uEH)N}vO(be+|7lj#*e7r#ZoSA=L_V3{8zr}B}!Q`gtGV<@_7jbFW>cYhxKW!+#UwU1-RcVJtN?1El@t1RY|ex{VGofy`t% zngKw+IiY+&0Fm;c7}})jB0YNp9J*)bh33nQQ&e|M8ZcA5AwDixnS=-z{FaM40#^iN z`prd8ij1#6^g7s6{+GuAE0cbMT;!Cs;HANe%P93$p;j=Yp{t?Ss)O=x;6{ z*-FXAbbrR;l+5}u-><#?SSO@?tz4v{g#|g0^y&QX?a9XIEw;149VCl0!P0U6;-24Z zS%*jQE>sx{v*<5HFlLT|u>VlvqwD`r9*OuZtgZ3> zoUx`4*cm2&q4ec{q)bwM#$#O()G^2oh!KPF#g^*ZeqJT`?fQvnp-=qXhb%l<_u<}% zln|VE!_CAx?)3hQ-EEq>dp$Cioy>m;_d%LRI{A$*#=qsa89S1a;z=zp>02dISy#Gl zsdt6dkN++FT_z8Y?YeU1{zd2C1aB@xsXwB@f2*@JLMF~c>vvZ`3r%?!oND?O^UpVq zKYH`8#g}()KKt)XlSy~=_q!POKfsH?HO{3Zry!;4jUdH!^|9F+rXM1b{(Rc$9*UdN z6B-JOs}nJMLsm3Jc|SmmC;r=28hiZ4Bkb*cr1yLDkN?y#?8uD^as_#l_siGqKkyw& zHxhf9ewp(i-zwL=LW9^d@$&~;bO*`)(>^rh=wFj;(b$D%t{U)y$D{H^AAB|V*`)gi z$FjEuqkh;B^FInaJMZwkYk&L){-1dsMiVB;wO0GukcExOzd4;8@_%u`e`%4Lii3|0 zGL|^+A@hZuhCiqHmvrlr^S&DmIPIyvb$L5WiEn2OWVE8;|Fz-jy6-s`aj@ALOGW$_ zh7V6E2l|^KEe^0;e@2>2SD|dhzv-F(npOCLOHu25b6$ZDtQ30|`9QBQ!i0~CW|-ev zrR~V@Rhqe=avQrC_lMEUrZl>BKJuM{E-5ZfR=juryAkM?D*mI+e`9?>Ky`UMJT|H3 zxn1q6NJ?^2US71O_JAZ;1L-$eM#GXae^~>L4-IOGFi`uW5Yk zTU%SpXz+IY?Bbh%*dKaovKS&Nu>}g-ufFuUz%-I?w*l1ewN8gbWz_Q`~+>GBpah*MD@3-Y_ zeR!NoJM2?6@REfyYkc3@d+dk-m>Upf;cei&8FsTCieMc&!Nu_tvLu`xHK) zrmv@^Z9wPfd=MZ0m;X0MY{yL-ge#86 zes^V`(l56WG_q69}O=Mu>ujfe8YbI(XhAg)D=PGVsOz7)t=$IWi z*{?uS-bbI64psQ2Y`f;BIwDmQN*gb#v{@NIz!bYGBO@ zdJnH##EmkuYCiolyFs*V2uxTaRz)4#+SiF5C}fg4Gt;LZ6)+^L_KkW~rHRNHLA?5+ zSuOP%WqB7A6dd9pq<|t5Q0dR51ub=TVb}e<9zA2b1WZSyMMRuxBU7S25#;iEDC(FX zYJf~zbjD6npCm-?6;(w4la8Wppc#Yw!Bg@<-WPj^4{rG{Hp*FsBF+I1twsQfe6DgwRt2NJwX4y1LU+h$rV6J2_o;RD`;89VKupz-f? z*D`f=J3VuD@y>DZtl7-`Imhpuz07Q$j7384Ng1O9XyU6tBN|3}cgvM7%p{MPUBdwm z7@<@LPR;<$q&d)@dU8pfqL(j1r|Dsr1zTB#r;LA~yL_qm^9r=Ng5x7mF z=qY0KGVYs29QQzcnOerE>3GkFKaq(^hO%(5!mo{po8Oj3xr*;WLvHav{zqJAH;Y_$*IY#=+!!kOS5weG@g~<)BQJMVW^K37QAIcG33Wp)9Y?~J^kwkyD2A2;x7+2ii_~we zQ2lW)Pp{_M9}C~tjAo#A5=A<)GadXTx7yTmks}2F+Lq%cA$3%4^$C)RCwVgLb(kn* z)|4@@QJvZic7zaANs^?})5mrzP)$zG&yzlO=!uSEV^qB7EPFm$I2v1=ag*J0Ay-{i zKf|VvWs;(TFSZri$YxrLyONxosxp;hMV7blfu>CBtcD6#)=Ef1DpQ4zSwtZ+lQWEE zubJ7JdqKgzapqMJq!-I;0OvQrrt9B^ayqw)m$gj{j2#p&qm^bi1`i&FJv(FI5)Z#G zvefp(&r+#CQO~LN)lg}v!g0w93^Yf#sxViURLRV$;LG?xwV`z!S*7P(I7%S(M?-YPbt0I>}mH4mYL5& zWm8J5={ef(`PtUPWK>g(YT8V76zv-a82!N1nMN<7jP~rDAQ>Z6IB_|1WDUtP(}}|6 zR#BkuErpYucjCx}Xuenm23zi@I+~~ z`eOoL(WR|(Hb>W`gHro!cdf93k7KkC3<}lA29_2bN-9fzPh|z{1X@Hyf_ZgHrZ&#y zYJJ0S6m^XJgveC8z$JWw&dPcYfnRp-}g`{Fc|1B77FNnQlFR=tZAwJ#TqJN zU?s`;{K($kA%0L%(GH-Q`ZD)pM_qHhJ3l5j*&L+U{cCg`a~V*6AveCr)i27K;%O2? z_8gaJlqIxBSX!^S`vcKn1B8{*k8^rqd`+>37hT5qn+vd#lKYK-pWX*=pUB40RFsw; zK%ul9uYKHVubzGFoshjPZ-X1YV22ToAo!D`5(W;c2R~t$|Kp;y_hknz)=j>D-Z{U= zH(}#ZOEz{LMHN$IT)5)7QKl#%Nfi4n|F^}^)%Dmo>k>%rR2f_Kl&Z>}#loM0YOotL zIP6arY-SG(4Y{|1%XF%;vIm}bw7q-*eEl0Dj5U3k|H~!j8){YF3--<^tNVoYGFOp# zRW38OGBqI1b8u;^NqI~K!)nZXlj9IC<>50GFpChU!0&bdzS!~oO}d&3Q5^JZAK~LG zHP|G-k(L@ioPy4n5=4-;g6)VZc@DJo3SDWZxF|Ev?DOUdR!_4R$b@s-l%|Ok=7y8As-jVGQ58?MzYrO+;^y4G`80u%ePFY26{6x)x0qJk5yaE(f(ZE z7FJ|9r~Hq3o9j6rBp~b(blYSf*N7$usRRSpxb?G1 zDAoH8mAIrNfrUIhY<%7M_m^iaw-s6p4e|-t6Am@sNR48^7VcWCl-m2;c-Lp#oS+&P zv+NatMImuFpju!%0x1irQ<)SRHuPKFRFO17b=Ad?Y(JFaSsW@IJi{_;g697$DaM$Y z%;V6abWad1aMo>l_v~EA$;Z_EjZ`gol`8Hl)@O5e!?v|l9OWi8hGt>(t~`Vk&4A0P4rbo2F;V)ME$C|1^JqN26#-|0 zCTi-dsup3hvI8wgfm_K7FmVomQM)UC%(4L2XQnSgD=@k4GUt+t!+dE!^$Pp06vxsQ zV8z+mNje0SEh9@=;1{E_z(C6&ncn))S}VYOoemN+3XPLCE?~vi;vCXiVVKas@#=70 zn|{4&dNGh1bmyj#*yFom{c|Hx)Fgr7=-w&I7@vF`j9m$pt zUXPE#h>L*MY*NyWVR%q|I*o3t?bK}%P5Bbo&n)qi+vr03tg$ITOC0%nr;Jb%eju9= z^O{@VkZ?xw?gC*h>K?DdVsyaUI!WTY;z28SDV{>Qa`meY7UMKbRvEq3EB?c4s<$hQ zwtSTd*S+6O2Vq|&Zb4fX4k{it{!vnVvL0q~Vm#f_+w1*^N>yab`u-+|mQt0ZUpr3L zt%Kmo*>tzcSCoSlC!dg{UQ+GXMzKqm?yRxOmE!n4Yrm|D#q*>4iaQX|_VKNqU2C+O zFtpz>d;6K{v|jAy1WTnMT5^@^#K6Y#nE_drc#FJZh>4(B@3&?@WI*e(<8qmb*s(d5cM$xhf#J~eoo`nc$wDW-0IbEnKOgRbvtaD7InH8FFy9Y(wWw8 zU$&Jt`{3w$(tyVIa=~KovG;i@4irfzyG{#6xEO)ERS;YGe7y#}%J74mv9!ZLd&TsuIVzC?w=)}22AQT_tl*#j@49v*Q@QLpfJA`@16BC z$(sbI#JN@WnW5DL;_9gpyrDqGpy7M3ciSR)cq!&R0_gsca9d+Dq!n1Z4(Utto2J&N z-f!Qs=2HxC7W29S6H1)Fdu>#N$StB>{btvapY82dR7}SOX=Tup-TZn5Du)C~L#*G0 zA($&}Z#WviIDU*LDp`Hx`AXF-C)jUpvm}>}ti7V7>S)N|oowR!Q))@cqYp=T1@xRH zOug;%8u9{*6D`GBKJ9i67yZH6*Yl0uV?(XWcM`XI;|8r+wk~W?B(re-uMm7^RbavN zy0YIgem-TTg`L(|F{Uy>!D5#|m7r!t$2HSh+^z;zDMNb_E6+{B1`38(a(@6he%L{c z@HERJ!uTm*dJnuZsb1?T`<3tMw#zw{tjo()&;-uoYQrcEb-)fU3YicHviXM}`pgMxscmlB1nL0))Td3=MtQMdv z3#6`EiOp1k?%!K&{WJi&EKW<>vN>R94mMBy9+z>bBcRcfsg7{MSkJ`7Nn^B6NWiCJ z`)R>ono?)OF+TMhJ#k?Z6Dy@ki46Uj`G(Y}!-KN7CXEiB%mLPQ@&vw1`b#Y{PAvr< zOYZsRV&zN5tQxC_j*Bb)>!1Vf*u@Gh<>uCcnjX=SEYO0n1Fhun@;jtZVn|m?b@WAdL`(X-@ss9lgT0qc}hgR^eaM)Ep3-Guw>+F?1%tjU$K}Oa!0>r~G?T;_FBAA_&7o!xR>*EH8$Ow`ogSnVuwz?86LN{C_IMG_jf6Wy4g zFhZPAcXzypoZ_Ok>}?&$kfNdZqTTa3`Zq zPQp1FuiQoWik3oC@L$ol~V#3W4#k02y8K8`;qeaIEnw6xTC=Y2e#54QX- z@`bXTn@%OnV(v~Btxc*{i;o9Z*3C))(3OBsOoFThR#rP!6iH*dAv(s)ln6sNyhuTD zeTy;Lz!OO-h*l7RpH<~X@*Pc;+jiiNCv-%!(Rct)8Q-EMD{wnWcCIjO`(tcXG%j=N zP=!Np>VSdn55O2+%n>;v?DV4$w+ryoJB)8YXuM;!RFS2fylP|8O43_hU za4xAKWgN9-&`FD3X4%bYjs)A6}M{HysNH3|r zsy&x~v5SK^a6^S!PTZWURZ@7z;usNAsRXi^qSKN=UBl-?CHZgJl5AItx8k$0XaaA> zU96BsSF4hj+oK~Ut^2vw$IY07NCo4|4d0C<9lN>cuknK%x~==jR} z-0j4(J-iGG8i^VArWhXubo<*!EPmO~BFRW}XDzaGv~v7DNVRUnmJlE)=5J6^9R;Ezxvs~?{>r|WBg&FfmmU-%hNX8G549`mKl%_J|VBkT%< zP+JKV?cw#`OB=cPy!< z8yypgRd8f>y3oh_8_=&Ib8GLdqRbB8c9SP^woNS`uQVgVRGggg^%YqaHS#&XS7xpP zuW|4*bHgW7v;jZ6RlcZ@$3uTCu;I4wgh$?qJwiI_FMf%$x{n+ zgP#_ZfOG5#ZEXV$D}o#)~$p%7bOuVHhGJIsszTDKzT+gN)AZR0Rw3L%|hfKhy z9L!d`eA8K2bV%E@{ctxiKl|9{W+COupPySs*gQq)hz8^!<+&4kw_pukDdWY;Bg$x^ z@fAyTe1Q2$`jbYgj8+U2Q{JPt(`f*d#?cnbGDasrAg~mwc}Crgl}_VxksC(i>#wNx zrk#SncwId&hxw^MiC<4WlC&>d?0VkZv-MJb3PMkDoDNYOec-EL>x8+PO$&1P04*!w zp-HKBXmd8_y}-S=u$g0^-V-H}(|);X91HC3m8H?q2-V0OOLV@@m%MfQym*9{Xt&T8 zV3g#%*}Y9z^iF4sbUFUf`-g`4pN!8xA1JH!VTxZ)4-E`SB|0Ax8wffFo}>!ha&r2V zLYw0GspJUiRf)R&^Q)&J3W3ryaI*uK1#j~O;uxmg$@kGpw+Ux`6oJdjC-8JynUI2n zfDQYUFYUr7@1&*A7JgEW@wW*tKHwZyD`|ti*)D4rYR<743b0RMRRU>nSaxSGBi78v z;NH%)`=k!b8B`#Pw(U<$H0m0m>si@iur)9McvZ6tT!s%}bWr1a#2r!yRhtYM!iLG*<)B3atppti??>|pUT0wN4S%&+D@7|Wl)ZM8N{6{W8 zoR}+pm>^y6z{&Qibdyqw`j}u&+q!0EO9#oKAElU-m|IZK=Yuq~11x1MDJVJ^L4MvK z8wVVSMFE11H&|gD&tgZjK{0YG+6zf$wU$);C3dK6BWXY3Gy4yj|$C^~c13P>J zwS|v4skP%n!)TcMP0Hx;aqiFQ*8_=~x_nd%MB^w5ax&DOh9 z6$NL8`HtOR&Wu?`6&nfb871D~dCEz@v2qH0V|Io)G|V;Jp$2|>AbeF!8QNKb*(XGeLDFTjT;f2T+LW((8(t+Leq|j8{4z}dtPT>{aiOFou(gLB5q=U1!#Q^ zn!txH)Xm*Z{48lCkgSoHH+M@q8DM@y=HUN*e<6&sg_Bia; z_2d-bY4m8%tMX_C)gWxxMnurC1?qd%?!(C~;XKF8L?Ush;e zRkxm>ScAeKZ2oVW{$Xf+c3eQnm6uLJa6t{(7p}H$yc-F~&IHwP&7}TtUQ}1 zTH#(Uk`QG}&f_rXD=YzE(2b^Fw8KOr(2773B;sX>eex_1V_H5FLW{wd4 z8qu>tGi;#g^(DwR~dPWxa>aP}Y6ivH6zj0U!@j4!M#FCG&{RJPnIm{o>bMahQ;cSl_^GRS35PNWvc@OaGwvqXR^>z`_s zn!R);df(Rr-3}Clr9GbKWW;DG16Yex@RHkM3tQB^>l&DtQ%AxD|AY=tOr_%?3sVmK zBM3WuT^mp8eg_WCmmzn@muLln_%!XVFnugGPqC>u4{MQ1oX=~tN=|xZTauQm7#q=NJiN%ff%jUZcwe8K6G~j4 zw22W8t9UWXh=bc&97rp)9cM6+4~}&uS-U+mN=8ti299dqoHS$5_Lh@>6criyaQX=* zW>{4QUj|CNe|T)H?V8CvQU(4+3=yIKbu&~l;t;Zw*e1Af5_3r7w;o%KEa9l%v^&$| z?SBTU=zZCG%z;iRH~c32i@N;sU(;ZCu$dBk7yI|Ba zwJ?DPIup~<*z5!;Lr$qkuYPsz$J$UypZ#Slw^z@Sm1c407-WNTt8LsDN2EliMb#d3 zDgz8sxSqB9J9KJ+?HN6ZyYF@UiVd}2J}H@Qe(eeOXx}EC+i87R<==N>v$`G-mP7}K z=Wz@ut|#oiDGH48@E%*)fQ(jCNVb^C75J=gnRevBzeVJ?{#nIn4n) zLCKku>z(DFSvuJPJ2yhU@BFHoHH5z5u}H^EvVbm><2MU?kJ`KkCSmz3(k8onF*D5q z%H+u_-gD^ry=*a@)keVBx(enULGkM6;d*r0ppD08Dz25r$La#|M5AginPZG!Or4%8 z@X*q-s4W%F%OZYc%YQS_v56UWRcx}nTz}=LW^F*Fjr8d$VaY4{XJu=dpc(CjCO+j9 zSlKJ}-AQHj)Q)43I7N@a@fYiu>m@G=6*A60(|#!89!Q^fcFF~E-AtaQm~ojXX3P>F zDBWV?Nvy?7LFbg=sYUTu)ACxL4ns+=hn$*S5k~1oLT+=ozY{JKIQR!&UnoW5auUaW z&JtAV*Vi{PvTOX7IO=Pw<(X>k3$mHeH`M+h6vb%o>Z4VnbpSaF2`OVDB9IR%Xqw)x z)-U(k?YZ}9K&{!+!11`DrFLJXrr7ui5ieN^sYyI@e=bDXWL{rA_vitS&wz9d%wO+6 z>u;J_@11--3l1ZBlwOf&9ztriFcjP*rX~Ib59^JnW;+lf}eQm+xMzZ=Rxb=8(fN z4n+11Tsin&T6Y{D!vJEL8G@?fcy?{4?V&nZ%HRl26w=xRc(^UgxqLP5mLlSA(RTSHK5S;^pui$Z)qtOs7!ZtUTBju3fuUc1ZtzOGtpN=YmA*$e;k|=H7r~^?r2pw>3 zk>cN)pz|@#?Qmik-6*>+d>_Y2P2x<)M4M@I$k5>K_6@3Yjz;S)yy&tWZWlwMMHHe@ zlCXgp5D)+=3f>alU)KN?g(e8Cmj~?a>jVb4tY!s3+ltu-ju=(Z z#0K+;LsAl^(iUkIwAB~5U}zhP@{Y3{)MByiuN#xNRYe?jAnR*2M2vlyeZG#Yk8aJU z6dcm}+*FAB83P4pp1BE$BYeX|h7R^f-=9&F#hWL@Yw&KBUZtpUMTl^JHD#qx{il4( zquQR<&Ud#FY0`l_%8!|qEVEFY7?3<23)z=zhc;4|__<{)9=rN)i zsJD~a88Y9R0P4l$Oqy<>dAC@F7Ks>kORE}EcG(jEJ>lk~t zd?~(%QGLykk@E%wTaTGeCwE}0PjlE7P3)5_D|%G!qZUwgdr5X^uXvmf zS_to`C|RH*)0ykIo{TYG)^{Qv9cwf7ngMwuX&$y77^Z9y9;5;dED?%a;yOA`xIgND zd|ioA`=JAQR$+#SFz$L;}IBV2;cee%lR3tzI)a!Y@Cqh13t` zY6=VTeDd2dqD{7R9si>Sbp!`CmkWU79Q71me zYJHdu-2Az&(VZW1jBo{ij%oJGZysdns}X*|ch1E+@-4LtzT_kcbXK%%z6};}xEs#R z<`-K{O|vxt1-J55hws?QsoiF_2Da&d=?0Cp1f#ey1Lp0#=k1P zN(jebrf&5-pwxo}@zV>;knS+!fTPZ$K(`#{i^X&eamf~PtHs^?MQ4FMy(h&Tt^9SN@oHvNv1Kx~ zYcgV`c*Rm9zw>!_(LXpVHs05r6AL7Hpw?{P>k=W~Q59Bhm!|U@Yhy_2ZC)&2n2Do} zcYcxcD?Xq{5mjK_`g&Nl$|z4_szGs}%n@0;l!Af2J=ZhJWA0Oc;ZrRp9dZM17``2s zYWn~_q2#Rp`jX&dRj6KBLjzv|aAS(cW$o)|_rNRLoZY@L{$gpB@1QYBn7{P_lX;Vh z?Ss{TqdsxW?to7p(;VOVfjtQ&1$?<8x9$i!PT`e8V z5hO{$W(KY~CAl*lO@7sRJzAjp$;FCb9Aud=jk(0PqixT6hV{!rQkC#S#?dMAksF^- zzRBIsH51l(6Y?ASgnuJ7+o$9^mq9A^6>V2kys0g^sP ztuVi)RFnAa%20HDsGpO{De$C|tj%x`_{7|7hE3AXO9SHK2Bk`i0hyzXKw-8(()QTt z96rWJz43@4yg6NLNpUx^coF}(!yox#;Vcmse*x_!HQ{9s_>A9M%DJp&)Kz1?Ib#ZLhJSbpLr6whm_py*uU z+rZ*;+)br&-$jXM<*Xlqt}gps34F)qemj#c8a>*`H9VZ!4GFbQ1DHo1xY7MGjHEY4Oo^30mK@6}%NMjcqs2E59c&?wMoUrT z5y9Paz3`wxh>Or|u)Pxf_{20bhK6cOUlpoc!e_nB?P0CiobmqR5P2Rgi2LiE{b);K zdzQF3rVJ$>jczH=y<$F(2#9kQhU44opV7` z`@X&KJ@|PZ697mN;VAx@yv+$N(im_q1AAh-8xSQn)FCDE+1ir zVz|K0L{EUA+x(+?us#RAnMM!L{F$-&(=`2i*yi60H&;?2e&%63^lSuQ!ZQhK_||ZU ziR3ny)rT`3l^V^WDF&hlc~aa2_GXHn{YThF?{CZnQ387Kp8Z7W;RkSs=C6&cgbY}V6v0cZ`NlG1wcm6Tw-p@x2TeCb`Fk%0-h`nFwyjs9mQIqWgH^(F*)H|* zxtZBn@&_s~Qgq~ff>18dftD|**+1o{UmQHJGwMw4ZFv3mo6cavj1Dd&lS5)b4IR); zuZ%BeF0!DzPSrGw4pc|iWTo0U0gCBdV&`u0qOSH4G7AOxPL}yH_WKRgGhUr@XWj2& z=!av8upGf^+j2b||8Ciy$Sie|^0bUVho(~WR1duXO-o{fQhy7ciXdhp0&M@R(M!&3 z`ah`pC}Xeu8N1%xL5DeJ?iUrv;=>MwL zQ5RVyEt?^MB=_F#HPkM)@M-|;yOlfE%F8QCEAWN*y+W;)$;h4#0@(?|WFFnOM3-;W zkR0jn52ot&*N4nZ?4|RW9BSt?3Z7~S7*H2xDjB`d`;j#3Sk@3GcC5s)l2h)#!w_v@ zmhYS(ri9PY9=>1)NY>JxajX-9IzX~qxBiISH)nSWerB+K*<%}>G3&B`#s8ykTUQvy zA%`xI*q^msB}L3`L`J%$OgTMCNx2f z#dR`8aGb%H>Uy<;N=tpAPl}n=71;(AGrh|6lHuq+c7v-u)+7eYq^E;KQIF3&{}*v@ z85YO3b&awkkOWBr!7T)L4IT*Y9^ADdxH}}lLU4Bo9z3`<1b252(n!;|(?H)M*?XV& z-0%Iq=kD{~=U#qQLUnbqYSmn8jycB|@J<<(Co$lr($Y4ZGY+mAd3r%soDiCiAvsNt=Ni|1un94FNw)A~|WGu7}aO-|1Gc72a?R(e7_ z$LH;efvZFj-)jSLaG$BA)HldAh+(d;)|x&}Ybb*F*ASZ<%5R!KLb)MpRZ~;isM7QK z2sURdQS#VQ1|6SKXDrN;RH@pO&?a@kP^ctKt>wyRc9$;KfqEQCW>rn;7;A&a=xX7t z)*9PoTz~@q?93FSHp9j`UGCq7GRbd_n@>s9`0X>>3&P32(Xyk=rTAQQJWb(k8%i#j z?A&-qDN|@kPyF1rvLdIR-lRO4xghfn5Y6g+-)PlK@#=PpRA3ewbI*Fd1#!@>P~#-? zF?@H~H%oInF~lrokO9RTYKp9;o-~qz~%NF zrq2dCC!JL>X6NU=Rw368>*%R#o2k%aJ@x>TjjmLrNYI-*<7kunD17*>Tn%Tj05hvEHsKKMZH0eGYde6{SM#NZV9B9=2Syd+bEUrm7QrM8k9X%kr+h0OL zAu(D-Q`96^LRamTi>upxLrspsjX=~s0x=%gd4OojxLGxyZ1gZ`^urjb$1f*_>J-=_ zDAB2Q1{{!0spAsn);~-$Zx2W>U`p8}MK8VE!%G`Gt|o@m^b4rx{t?^A@VsSO5M0_~ z?h=}ZCP!?1pFh?)mX20L+cICl8XcI^)K>J2QaDsWUW>TV$fHo28c{DjhhMCjkr^P! z;-9&42+SH*%n)~$j*az|P*M`h^=)r`2G|?LW+~uX3CNlraYbS&i}MF_`xyot%iWN& zNj*2VRhjf-1&l|}a!L(6(xgtU?>gA81JLMr4Ai>sX-xLBH*|mc5G*Dvpdcw3)NAyb zc3YU@lm;`p%XQaO6UUm;w8lWfQ?X{)K_GbIbKv(J3UpISrUcFH8G6Gnj#f})N{g*{ z=`V3Pt^2rEO!>6yhw|*q&j*K+arKL&rZkQ`wOk9QyAz4lYRD&ME5>a(`TC0bnJ6f; za!qzhqepQscvD>b)9>t`A@}#kGk3pauT}k<%p|PQ_W=cI4*Y%+?E~NisO<)>vtJ5Y$Z2Qv2 zu9lufS^C0xwUzCW&fMl}R4puP$SEJ)Bp)+3vkAj#qZQ*kVcZz`%K9l*se^h>ktWZ$ ztx`9+Xin03_~cum@NZbO7j4)O%J}cKDqj*!fO3xmXOHCfdFlczr({3j@^K1xukkcj z2Pd|k5NdVBCr|pRDhY4{OnHb-;16OHUnS^0A`qwclZ98tP-bu$710$Gp1iI}AEuh9 z6Mf7{DHmat!Rw;6PE&ZG5*o5#{mrlz6XBqB6Mf#3}#@(G+c1rhB%Uz*^R1Ts3UvJ zw!cTPf5o&Z?XyQIvJNA-UvdNf9ZX!)57_;s5GxPm>*8Whg47tB#0xy8azgERndEMmX*L%hO_@ zL;N{Q+`H*mo;a*cGfyc~XZJ&Mt>+j{?tVu0rgCET4r$@arfF-hf+e{r9>=dLC$zsW zpGylL75f{dyX%tAP5;#;4;{Owkf8rPK|P*^89VMYPM0&-zrODM{M1~7b#?Cet`0pm zJN=EBb0G3)mb`@>nZ)Od#)f+p6~xVvRy7G~YPW?g8rqsQ_$aO*>oo3EmftnDs0)=WmtFqz}Cg*P|GM{l8+l|I(oIgKkOir1* zH+9sITrnX*jq=7iJ+iv0p<$x*MYhk+Nz-uDq=@1?)U52{tch3dz4&(%<>&jvei`am zJiHy?V-p&*3AF>}pmW5gy{65jH9Z$TrDGvh=P#zG_|LNmAf3?9 z@byW|C<6({n1Z~T_d6k~P^p~{wb`C9@2I!hYw`tISvl{u>&J#wK?>$E-6bl@Ltjz~ z>F8?&)Jr<>{)pgv@lN89dN@Ai{d>Bdbd@r*M=0Pl>jGC=87*xq=jus57uCQ?nLlFL zw{RnL6{oUKh6bSqU$$MwCTEG;SJr=GP&!BoG<+XS8)zI*MKBSkHx$O^IZDZ{O z5ART9cfaTa8d4u!T~l3W6Htgpc`$%iX?`myC}l2?AH*5m!>@e~#rh+&W`@Z8IKZsM z{@3f)zl9mxF`6w=R9JWghj%k8rl-Q*h-cfMLAdWBLieBC9RoU$rqm z)AKtwVQGB7QzT2wm(oz$nIi<^*xbY)lFWG8C7uy1o*e^D{7r+D0XoXdt!687WfH=D z{}v4K(AzZs(MGOCWU308G5|@OS0}Q~$Q02L87ed;9GcDLO8tce{LGhrT)&6 zl=gbQa97z?d+qfM7S}9&?G$$ZVwzl-?!px2-5*kl^9fn!*;yl@4_>fN3N@U(HN1;@ zzH~I~jtTqWq4A$N;s;BA4~Z|9Q?J4H#uK(VOgFX^zY_#0cG&L(;#KBfnPf1KNqR-y zZH*`fzbn{3|6gSuG|d5SBV)SA+LTd46Bb?zf5%s4>sarRK_Gtp>7BK-do_ z$fv#Jo|yfVCEU`2`yCfY5eZ zlQ+QDx%J6^nV9;T?|lhY=@hKEw2005HK!+qVN?`f`sal2Pg$DGqH0s$W|?q=CwZPTL(9A&)*0&lApl8n09QvHoqT zyksKUOXqmi@-9MQ7$u zOukl?HfQA&PQ5s+sdh?umkwMxb>Tx^Shu zT}RzcRw;G4j2idYjlZ|<$MV#A#$IyV!jFA9%lo1s**Q&36Be~$@>I_;g71Cb>V!zT zy~J!>RZtgJ^m&XGb4~E%ll;h(Y>3J&jNbP;;7-FsKlLk-uv`Um*)Dp9p*^n)ayW ziawF7=v=9KFX-~Nid%=N(KMMJhmo^U?5w(Rp1)Z!(f!vNfHYky_JX5lMNxx=FM824 zW|pHlhV-%2a{z1`u&4y;NSo&OUjAz}v00JqTuh$Qqu@I^lRslSG`F(S505pZcU;_gKGU>Awrv1*-y7@8`nE#@CA)Y{_3^B#m zW&%k5rhAQ!B5h<0nGX%Kr$z~o62WOd->oQaXZq`*xtH++pDEIee=+L~KC&jpYdfqD zkArtQPT(&9aQ04;=>l|gbhKb|4xKD2gY>@q74&`(k(=M$91_yM1bUKmM{?812}kDO=8lVqLsISdOa@`+9q9cfWN_~+o>wR%%5Y@o z0TSv5d5~grRD%-$Hr~G40VxyUaCr|MLFyMwU0X*%kV7EcdR81s?D-q0??5oZMmv?jd+_37p z_xfJj^;!vHb;wC+lYDv}_Lc>4Yd&vLSHGa2tNM6aFJ)a=Pi*>B1CosJ-Ffwa-gEtd z#(I+&k&AStPe@a9zK&wi= zDxt(FD6;n~Vt%FL{2bW*KKVF8^uqb|f936TpY?S;^xLqb8L$_`;bJX2I71&&b(aZ6 zCga5;;U0yz!f!_ubuKV_Dr{z|^iK9Y&$sHUmZ&?j?*p=9nq!Kxb9QFlABbT6!?aGU9A$$x;0lX4bUA&feXbD}zCNF{^+y>q% z83Eqp?Dq2yVsaTOZW7zX^uxs4m$@yrFXPidx|Mr*s`1&>S3};k(a6SX@-?k5b8NTP zGrg$;c)kv6LNvfR2tU^dg_)0G=?Ax~2^nZPH->|5?I5%8kQC1&iG!L%iEP( zEWk}92Ee6U`Nl~Ge-R(s#zug}6#A)GPfcBSqblhkpe$f(ahfB4o09r^*qV`*TK|>v z?!po@A{5;0Ft4WmEjQEMX*a9HYraMqUxGw)U(ncTR$s88~NU;=<_FI5k6Q2&Y$UjvtV}&xN|a zn~N^{ws4p&4H3LsDfcGS5@D*Rr>0ZuV+VD_x$nxXEWPVtHs(h;fCQ8@6k6newkxOG zOFeKl_T`;L-`-JGEfwnhjVM-Ev2@mj#@fx8_1UA$5o#2Xj8JW+jgscUZ5j;=O(VSP z>lqZ3r#@^RYPuPfS39oO8kMqdGDy%fxIHdz(wA<_#q@8cZc5_has}$w9HSj(uj3;9z)aFduG>VM(!X0r){w7F(=Z#aYHM>?ZPWz7_>fyX`&$R78 zR28pP&4;c_joW#!nc#DuQTBIrHoH*5cvA_%Mfh2xw~BQ;HXyTAqERVO-4a`4mo@Er z;72c^qf-6Gxm`W&;-_e-@gQAg#lvn-@BN5U<$}I9uInd0+;)CPv<$4NapA<K664=vxD=Qlt(kr#>cpDnYM9xR8f)|b!CJSG}-EhXn9*RMnR5G=|>KZ#RPh5fm zV^9MHk8dlfuj2%7yQX2CL&fd8)=R}@vsaCcK1D81Vhw&SBjC1WXw9=@*YCB}UmDS} zWZayL$3)eQ1?%Z+HQZWGUEJ2h#|Yrfe>KyBJ>eW&J*mJz+KXY{7N zht}F#;PNkY5)JyZ@9b;6x0OX&rq^~d)JC2~pdQBTJ6F{sZZnop8R-iO?fjQ_FvO#~ zKT6vis%sa)#spigmT!H15yL_4GN{Fe!{J^ooFq?4x8K|DKhbC|*V{9{Sk^bc(S!@a zhfoL|TJ|$0!;S-6&bl$`8~gdxS}yEFueB_sK2{;X3X_-}rk&c&m3t;2?dkle(b$|e zOt;EvvEKJNag=e|Q)xHWt_KX=InzjKLOjMr5#q?hzU0Q`QYe$d(2&%e;Q?0Do~Y0K zJ6%``cwVIL+nU;CH)H!z^;O@Claom0c~OSv z5#G0+`sXbt7jWcbo6D|-ovVnmG-9QtxJbeMHw(CxrOl%bU~ALW^B|10o}po$8@Pge zf$cyA4kAU43*Q@KAQUi)cWWh;=i${(kYD!|#Q$smkbY$ii{NwU?WwH?24V;F z3EY#!bpX#^c~0iDR~g~mOn%>8zgO^FuUl}>bNRgS$M(u-gpjUVj^MOQ3?-sVRi=&9 z8J^uATTS$s&i2Ln!Dzcc#<1_JMuWJ57Ou#J!qLKY?-HjN5yUJC$~mH6qC4n#%FB51 z=%c~%hX!>AD_5^dn$4&CyYSQ2WuJ+2_ld-~i&aqscA4U6N{hq%bo?1&r-ejjZ$1RC zOdGr*-cEY21>toOea1eHo&m)o#pgb=->--0Yo@grO@`r9KPA4Jh|Iu!-Uj1 zWPH=ddc1|UZx`{Sav0t?jC|azwccd7Ub!4GpN*BAwM)sh(Cp#<%E`QCvsNNVoqKAz z=^8frb&g;H*`;6Z;k1~bJAzAZ85F3xV*`hd4g3098CZ2g*%;5tv;zGkx@zl1on|x+ zCR1dMnJ1Waz2OZ_<1IJ4`3al@b%xu8ZG>#{r+OOXNJtma|K}YV*EBf+fOP4e)gre! zbnK&l!Dec#Z}jxaF=U(X7)l$o_GvXlMb3FwJEyDz=%qBc)X?Gk9VzH1%yaqVMk%U0 zI!ZW1>2HJi1~=%3vM7VRmK5FHgWJb;<6?(uD`yDKsvn96J&BFi5GLlE2Se)~74$Fe z%_ylttDHP@MvuJq()ey%$VP}0_arUwcnkl+0+0ZRUYyzP5uATfS*oD@{gLF#Iuk9k zYtK^NRQUSO@b40{XR}IAj*;mKb>u_x=_x{R^852(j`|g6S=DtNK(VI&%^%Lw9&>ZB za9-23rp#xR{02)M!>4=uW43jb=HoXzMtzsd%}eCBOCvwFdi)5d7M|@KHzA}PD1?_$ zf*jPBbnAHcB@x?o9=aaiTwhj4->!i(TUF`RHnzGIcE55lu|91&M;-3I5#N!f^?aG^ z#pZh2&}LNtH2f-^R_)i1Q11tIsZw9n`yy`JdsVimudcGWObFvDr&N4}PBtbj8T`Py zeNxudux!$k;wl?D292ZbEve(J*=$m;#KP&HZ@J&IfbdV-PRzctm@xPA-uCMgp@|)z z+(fUy;x>$*F$P#VAPby$*}dEK%z&>)+CttCK2hH|A$~)>g`PEPFw&hhN~Vc(B?7)7 zGvr0JxvtEi~h&8~4ff58m$gGHUwEk;81RrH8LL%H;2rAakrMF*DYY|aG zpw)PsA+(pG+#CdfpUr{>8G^1ezkkI)b%^+&Q$mGKCN;Y$Jv4%e2fo+2@jco4?20rl z!qdBl&1dby<;!#5qdn~m*l?e=dpoo(#TGsV4v;u=A%1sd5x9WuKD$B4iMUL*FC#%K z@b#bY#{7JE+VuKr42I|w5cCjL<}2=F@;LueHU-+$ zj5pEN!8RsFtkdNbn{=}a*j43&Ac6DEs!DF0{9hlS`ylf3^J82)CZ=VZ35{0BQI-Wc z6TR@>aItXvjMjCJ&mR;B9*$Ov=PpeIJfVKt!q=!tSK-Jg4v6}f|GmdhtZ~hAg(r8l*jU=>>D;oDS~@9wIwoC z=%bYMHhsZ?9#jO1`Ran^kgEH%02G#};0TDif~|u(-_HSX#$|pRQ&9appMb@qAm&ED zPj1+Ii+SO!kKVnb!#)c7l4jPs`9@Ib<2MW~^H~AT&Q@3wQJi*dd~kF4*@jt$K3jtI zyc(U3s`S{;h>5yXwTR)p3UM#ukB5!iBU9fi$tAx7I?@8M{QbAvQO(hwoC`HqJ;4$1 z$$Vo&M7n;H@8uip$|rkup5ujE`ET|S4$FtP<~E~mmMipXhPFlwPAaI&xND%j8P`tsg%bWbOtmjt8vn1zqsac3k_G7hn2y%Z_J2-7SORA!VzTYbXZth~!aK zi-99HpDv)jei-iD^ry%V{KX_@oSgkEF*sshkh(X(LA zp)RIES4-&EgjEE3ryozdi3;Co1<5z={qXt>gpfqC{$h+rpVM|oKQopW>o{DN#U)m< zF?$}&WS$EOcwFi5vWtnL#Kla>Fu2bq-`o=)KFh#%u+FMml&9rm?G)4pP*a@s&NFr-*($Dl19cQO-p>-r5YXj}dDuj}c zikS4J6i`<@w!i=y9~^D4?&*@0*}ki-?Z?90WePHdy7no%CNLW@78Nk5wgGAM3v32lKIC#|ZE=A>AsSdM{4uSj34LA#M7 zH}TZAwJXKX!vO1CRY=W2T`K_;EbynsQNJ0E91ciRRkc8O`~iw&LZa)j?)gHs&*>4- zDXvsTF3$$VX=oqN1qMs<_j%`R72kMc5gM$A>VxXg+) z#JjKY$uxFi7?k3HIs?nnvgf*}mFXz4SP^rvqkBAyBh>q$U|1;w9j#VcLN2ajaUa!- z4Y^|pIuDn(i=nT%)=eSnCExR0+6RgpR=@ApeShChY*|vDr8mH+;R(N*tS?ag(%<3% z-{r!kpw9z>Vy+1q2xUlqZM}A3d7dv)_h%iMM86;bmhHuhjEhMc`8`1gQMO_&U$}b0 zrU|6@0(x~yZ`>`&?-8(quWsduTsfIp!vwisS7IJ^X|)`MWvp(57ux^CRxgg4F5?F@ z>$E6T`e9c9^5Ir}rBb$gE&+6_v)JC6M!;>=yu}bQSX&Uj!7}QfYaV)$OUE zb13i%SXb1?7j$`}QezY!)iD#alODOsU_*e2aoSTbuT3{RwdYY%*y!##9)L;*bjLQS zFcs0z7kQV?G4v__m|saK^J?pY6?&G|xK-g=&*$ltKZjb)>|um9za~1kXfMT#DI4VS zAz}J2icLc%zZ9FgaH)bsltsVyDZ3>*3W0G}t^UE%u2dD;Tc%j_O&0+%Mk0ugrI#IDx`x?pC*i;L&_w(kw#BctbUG;5ceGgn(N z$p{2o*4v*(+--ydQ?bCCtH!mpFCO%72tP9Pz;hxj@Ss-}C<=J`B`FN9^ zg1CC8pT6LV_i;i-YDYdb`L8cr4|EY?eprFwaIbEe{fluy z{rsk*4$uATqiYEFp<}ma?!1f|W7HCA0Cf*OfQv0QYh5_C>_2GP2J&v7?fI-k z1>z;^Q~E6aDyVd$x&kRr;_u>H_^Dm?sMN69@NGzHImdD|epHU*g7|*FP)4PP$hL>$ z@~u7zuattzldGoc^95Zuk9}qgz2=PAi>-9Ie$VC0&K3N@jm!s(=T57y+;@pe{>{kk!*mpWoF3nqpIj zMgi%qs@2VK60gml!A;IP@$9|*UOig3lk?MML`S}MunJVZlX@;5bqQ}>PbmP${~^rM zU0eGAi9zo$b0o7g@&o`YUm;)^6Ghl1m?KqH3eq*bInVAvNr&9+byxK@o8U>1!dK~G#CgB7D~J*4h&Q|%RGrn8LLK>DcM5# z<01ISV0i$Z-Es;<8~rMCPRO&yT;W5Ndj~JqUBwQ4G-r9V?TUd`DcHC9AE{9Po7^jV zK3B5(f&s~mgcXHN&j_$dn2~IYWIY^o`z^U!Q7cz1Js1+w{qQDKS{wGO6_ncPiWw3( z{JjpJOMqa;>rP62j}GX}oc#9#Tx0tRhTlz~9GKe)fv4jh7XQzyK$mp6%NOPbZB4-C z^N0x&ziZs7;{K_StBHfFF8tV#1nAgIESQnxpaRAQ(0BXOl;JJ=e|AubMsVVh#zcms zf#=l6rJRpD)`@#p`guEs2FL&>nF4?f^;S9(s<`l_ICNFG;kWX!WU^t#>MI@I-!;#F zsBz3Jpl1dhN=)MYK$-5-oYF$z9zob!F3oaVG34Cy|DgwK~Aqi)vnb~LM?#e z_J=PiM)_!IVP=f1;qclMsh1qw{qQ~=ReYIabq3;EKO=H`kuC~tTtX>4HYY45>Cg@* z{FvP`TJ-{V`@_1g8A=u*-tA@L_J{uRh}?w(d>pQ|E{Xdo`*(_-x`4E2$-f^!j2Pqv zJf#UDH*eL>jybc)I46AhCo<-YOmXEJAi?WnQZ899xANU~OiG3AdBH-TyK#i&a1`x5 z(gZTEBcA}e$afOSH4nuvB$z*6s6<22>G8fWSQgL5=M`~k$L`+ zpSv-6$#mJ_ujp-MIxvN=I)A;=P^aGPQ>Tby&|H3<|qd=l-HWnoS0O(a)V+!uX6O#L#W_=2$b4d3X=? z^8TD>hugfatJmuU!4Tjgm7RbU48yZ5=e3*V3Q)wY<-s`Ewq>4+VjzfNCs1xj4AJZw zk&d;IAOJcgcI8krs2xp{wI%wE9uPL;cf2kq zFsHKQ5oXP5BdL=PGTIWG#tQrM1sm8-$VN%eAe$MX@r}gOu)Xrsw#NMyV^cO`jkA2; zJ;hsgyo=m19Pw$vZ67tQ_BZD^j4Cxd3Gi^pl2?jxoN4gkaeA$<{YBOT3K9%rzD654 zAw4zy&pCJNa~Cjm8T0~SO{oG3)65l9%ez|CUR&;)?F;iy)K3AYKn$~zW`OmF9^}J1S45gUtgBK{K(lk<>A4Ie z?4#B24Jyi^xC(g_1TTB`dh2*9HkLaJ9CWrPNVfT+7<>~xh7MomVeuGSh_t5dxpCTG zx}P63A!|_SxLa|L`z{*gYM5RX_X>#TR5smVOJZncI_W~$>J z$~lZrAlA9P0lg>`=-EX!wy~+PD?Qhl6JbM>v7zaiYuQh8g+q!zg`F>~=p1h!isY~L zH7s3Pl<7$&HmlklRcx7jxgpvYygo)C9>2D)x6W2wMy#~nj9sC-kM={cNr~`2n{Gl( zcSJ-`odp2%iw^-2nq|Ovmz(?UN3Gp}hS9}Qa>*rxZ#IX}yB^rX3WK(0fA|c;B@{9U zx!utU2R~7y z#R8FI&o9FXZD@4deQG+lHo>GsJS7{Cjv_gpsmQMo23W9}F^`j;x?!A3-H$es+~ua1 z5;14-?361Yq@m$y{{pMb%&tswdOQ2!6D3ISjng;v#e?yTD^Ga#_!o>5an|{lqCrM6 zC$s1>Q(im6qy(p+T4vH(>TGI(6Yu0=C#SEzl08GLdWXuv^t+(A(NxF1k!HV))U5>h zj7a3H1XTu{IAdvW$3y!?pm*$tQ77PKF#yjY) zoJ+R?09veX#T@;}_XeS&sudUm8ulPOZVwLrkn!Uyn2w_hY@zq#$!5^Ivz7{;7#jtE z&Fgn_>vKx}r88@j2_N4nxEH_iI~gArVEM$X zyDjSLW%rWbyr*(Q4*uzLe@^4>;lXJ3{aJb&Eej>bKm`#HD2}}YWjHOYkTCsL;u$eF z&ok``2lq3g>w-}O!6G?Zu~NIUi*2Dnax!4*GGhU&{V{WYgG)OAA21B}_5t!?p51{d zp*LXT_8VhA5hbCp$0wfzEHC9Or`PfG=ht2*mV{6CSDqNzv|5W<4uIg{sfknI2U#GL zECB6DCOoQeI8xI{*rf2Kg#ZGS6zzqlwZ5taprJ2irTQ&wF4yhZ_tl{>ebgB6aMU8s zh4QIn`a);TUr5F{{4h)cWk|eIo%cye{d-llbyK+=??b!g{QI*HcWmfc&W1Tb&-^pj zB*FtL)p1KI>G*^PbRjgUdlJtCU9WqBznKmuH*GKF8);b*Ljf=}%cqJ*v%bHC-a&;v zW6(!_bQ6bLjaJS!p8PHF7@AM&obLU&4#7CdU~Jkwv-S24Rsx6Lc0}EvM1<;=GoQns zlG4-6RzdQ%e*V;?by6m%l6R~wue>i3pXJ%y><}!(?Fj>WzoE|Ok{0y2^7AHX-`&}- zb4?@js6iy!`nGs<_g?&n@`EQ>)!pp)YON@%k=&kuy;0zKQ92zc9_OyxTnoQb>1#*D ztCRNhZM}BZ7aqRLtrxpP(eMy7Kf~><%$xo5G(KM-OMaMA!_Se}R0a{l4$eS-com`} zjaebcu~>PmS+w8KVluhq_Q5m-;T87M{|0e#1_${3y-zWk5*!nDw6Vjt3@${Mw{I$F;t0_zV7M;6`=`#JSDVbxeYQ6f9W#T;}a zhQk)Wq0L4f?PMdW@j={YBfuBV^rNpfcLF72pMd82eluZVFgnnve z4{NQ|Ehfz)GWRdM^3k4Lo)``bw0!TXrvu$>6oFD9glJx&512$>9|Ik#c41%cl4qaC z66_|LT(LG9KBfDL(>wpw$MFytl(-g zN_9ijQ5AG*GHo-6v24ru_$NzGv(GOc)eVleHQ@_H_VAB;Afy}vl=egA=O`xIm?+1OI8mSDZ z$Di()jbWl!xrR4YddbgX_1iiqS^__P#j1Kez8WhC?<4g!{9^*JIisctQjCH1TY9#G zG*aaio29pb`7{X6$(~G(S16xr;ALyd?5||}N3|Ky>Q`J` z+>2xXANef}G(AK|9!J-2JPic+uYcy;p}%r&*Oh;kbD!t9=H59%eh9GC`xMx5u;~p3 zF*|iQ^{K=(bJoA(>SYrW?9`@q1bS(<(S`YI0Q&5QFXKBW!J=NPH_mbZGTpiDZX_^C2WnEe^J%JA!Th9`Z!MRlls4*?S=SNC za{sq2Qay~W3gpAG38n%}2i=78^FPY@#{HSy*8(rdFUK~(X+*YhHE%8<`GmF$Xsmoj zD&VNa>uQLKCG9IVq9&|sY!sbVXZJ6=r!$zOf|}ZtNyvX@KluN_ zr_3-p@WRCZoWDC+qu(N_#Q%vy=D+yZ{N~SWuQFWt&uv>=4%3*(K@Z2HgY^ZSu5_l3 zQiBuFQ%U-C(_bG}9Bfv&CvmU5(!3I`(xGNJSq%&fD3<;0UBiWm-^*gk;C}~d{r02O zx!;K{7QnFf%fVEhBp!I+~C%iCKRjfhk!}hDvf+X6d9F2R{3+oX29PR>zA1-I2pKie9>&ZNK+ox{a?^n zC^BS!tw+*p>COc8w?pfnCXJsX?~E?D0d$rsNBz#{G{BC^>D^RHpllXvzJXXei|5<} z^i6^5{b2!kk;)yS1i)jlM=h7KYY44a@&TL#`CtEs^bh?_frp0PwQ{SHe*!hu9HJ=y zbrFNZzMk0je0i~npd&lA_;1$|iNQ&m_Z=9LlM*s)-;rkQ5RyFqb>Q$H$Hn zL8G^snMt{5_x`#O^#38h|L=+QKRg(CW!}@%I}s)@0ZNu+_;uGBO>DBWSEE4<1F)p? zBT&@S&{RVCP=U~=65@G>;com)zs~wlpF6!%c99&_^HU@L4J$u)n%->(-sfMx`;X(r z9hSUv^_r_}p!uMq$Buz~oaHbid$ewp`|w8K&fVz+wa@&!qSUojBm35``p;f#Qgn7= zdicp}Ji6O@)b@4i>o8E^nJLaCxC$za0^s{yz^e}hj8g46SkOb(6e+-}4m8n!Ipn42 z+Kc3e6Y-D)qdHnIiF0%W3Lsz?o1^PE^!imD>t(4%1@d=2_%RHaRGMtlo!idHWY0tL z0R!EOI||BntiGP9FXf-ky%iTBO-6Jpl6s^9$Qf~n*9 zp9MX@i}N$`njNA*#pAS`0hCwyDoy@#zkQkj+3&9jqjb8ukdz(CJAV?9}hcP~#L_C(s^gmf&fk z0npnvzdg;q5fNdR!GG`<3yk0&xlAY3er=6(%wDS@lt8eu5%u?Q$X>UZbJ%b|sdZjN z^m$}+AI|4#L5OhwwDY=iLX00FbVAJnXh0`w^%o((l|SG|dz-WbfM?Y`U=>dI+b;EP z@TCD$U%;~}ehH}iRMOj+1D#sOm>d*=3Mhg+j)wWP`c%t}!ort6IqLuK&H$ho6oSzi;LajQPJnqd!lU{7sZ8T-{0Z*=i;3~itdhk>SokT3 z;oxuTq~Z#_kAE*@3~G-rkDHefOWy>DqO$A_^UR)en3!p*c|+)X=~Cgs6LM?B9$>xS z_kbE9ucLMlSGEp3(hB>H8`r-c=zn-i|LFez(aA|-Bau-t1%%$;hB<=&Tmy5pXm%w*0wm~XT6o0$|+?V=b?L*ko)mpR>_Ixap#9sL`1b*+YEd@4Z10?I*QXyGQZ z4&75g&SPQVr~;U0{&Mle{);Vk=kUuQ4@btixru5mD`wSqTaC#O&^zb)=wx%8ep)T) zTez_!)2&L$Z^Wr^T^{abPqo&Ni&X}?2x%SIp_=^!$Y)V*^wxN_zQ85?f?t8wcJEv7 zJ-WZV&VlfW-YXnm2UOzhLf~GAe#A0jl#gPd+MRIJ?(C_q@BD&0LvpeIP@<%$F;+8^ z4ab*JsrYT|!;6mdvk5}>)6td334`|bnt40^J-8x(t9D3sU1;hKTD!h%Q=g^B|KX3? zqvQAv^oNP7)d*b9)Ipo)T6Aa!KJdGFAq1OmR+82QFJbT?i%|D>e-AUQOVC*D0HRyX+rt6bu?Fd>e2kh!rX@*{!;boKiH30t* zX0+M9+7A^33+CU&*Gg)Ei-hyBCm(>f;X{BBKRnErdVt3KnK-f^7;#m0a}P;J4F8gT zDAeon&x)Ge;6Iv(f1jKLL{5Ux_KXZ(Q$eq-aQP`JwZ=%t}Bq%81jkilm zkZhlj_K)0_|FhNRKl{{O6k0cdijzXw<&1c32RTil?2Z+8$*F--^6Vehfvof*wgYUB zknG~{E5bZj#}m~u^f^p-BuJrbl^_z_tpI#N9fQp6w=Q7B(VM0j|4}AX3QK z0EW3lmI(RbmZB`uhav_}ys-ZE(I}@SatY+M?59}meiq=xevUcgd`)(rK(hqF8K<@F9)|v9Nqls216zGb zd8aD`cQ{#jv_v}uup{N8l(ATx!t@;<3O9fjV#btIHRNS!@c1zY-CwFvtEI+!ZYEn5 zZ?mYh8wrRE6TXSAZ~+a5mjF(jAQ3-4mbKIHQp!t>aLLRMWkuQTYYF0IAxfN?g$+$J zW~{+|V_(aPz$N4P3>=Nn^dd&iFfilRzS=TQqTdZbNU@W{+KoFsh18%*G{;Am@X?Vo zj`LyE#7#~%d}0i<{-{ahA|ErWq^F|0_dU5ovS)d5c4MzWI1_4r98T8_$xqGmOf0MC z;fqFTet-k;%GV`b`_HJ#C;*DICIgj4_)u~R17{`ClK@j8j(LUx38{@$Xv6#biP4jG zCP+|GUQL4<#=cdW*cn;!L^!w?plH2O)~MpO+BhB_lBSrL{pOEdF}qbVN_+IsP zJK~WU=(MH*b98xoX%>P?|1hDBVfAv6PU7BPU|Jg4sF7=3Ur}N0++Y|V-#v@Lg}XPn zzZd#;WX!0jj6Qa$JdQ?-!A!-RDcp~-6q?KyQ|s;tQmmnidmXIKpo-zVckPpZCHW>_ zL;tx=T5qP$m);FJ=O>G4OCwg{0-Jl1Bz0$uSM%D*M3bl0oGt1Vyv1gKi=<3*c)VJ~ z6}d4}sdwp69L#-w$E7|NA=-tE^a!eX@o&aDvFRSajCE>@Q>V%*;RJ+QH&LUn?#yVL z^Gtj_m9ve}CYC2knB&3)G|#gp!QT0pUvLt520w=9x#&xNpD8he0G*T@umg9q3**A; zMHc#~w=azV1KvCvh@eZ%i$_U}R56KY#yj-uHGz4fE#g_ZIi=0Yis=WE<2Q$K?LzvX z6a&YJdTAnJpO%uWh7Oo(hJJoo|8B}pYru}v%wG@4#D9AVF0SD0^1YYVsVV(&GVTc2 z!?{@IPA<>QL|-4oO7s1ab?RG+rflh69GgljZn|n!P2qD*f0`H*i zm?7ri0bB;sYh;F3L-`Ca+sIlR3cXK0_bNB+)=zvaFaYGDlI(i9KlWl&MTdN$r|S<% z<8-zX=8h$3hqef3%$d|^%dPC$w9Iim^_;tIgC)Tr)z#SYA&LAfyL(nL=(%#Ne0_yQ zeQCy(-T}Fa+!MqHZXzq|TYi1grhwt9ibHWpZFUJ5{^W7T0!iq_6``BF)y_uzH3jT#VMRL}BDUGI{lQmj05+X6`jFZJVFSFLsX4CCH+-v@h$xCxsUaVG=RWW0D=s&UiZnW4c z^qKjw3_J95|0jl&U8a1>RY%vLQfYlXK=^AyRl|#sPa9ky{Y83DQH9{J>UH%6d0$2& zG`S=%K8>*tgm>n7?GV;)v5Q9K_b~Upi^{ig+*hVR^qQtn!f*#~(5V+>v)hdZljOSU zsAyZ9)u;H*Fly?kzE-VvHiWE)I21}i=PqxUVsv@f(tldbuA^x6WqH3Yg zg2^YSM3#BQVn=y>v@0lTnwa+JR5WTZq5WxLyZz|G58#gjHl8)&OS3ZtB#7Lac>*ij zr9Jc{BGWikrrGhaSl(@u3iSy!9+AEH-9@2U6K8H+oRvO8mRgCU9|=EJlhBkou&0|Z z=DsBWY6-YFVxQ8_O4nnNq|Ir2sg6%JaXFH#ja+3MQ@EZzLB8K=!pwzvaz#J|`ONed{vt!X4GxcO@Hh3MdFd{9TuMcuue2L{N^bI=Fdao3xEs;{$| z-s=9olNDhYJFBF%@eJ^?9y#&xkeiBr*Ehl)&-P6$;f|oQ=K`VDmD+4v*cFJWoJdN2 z^QzcNx+9AMy&z1*0hx7+40QKQ7?d8lH{Q#tWN`ODw2jw9V>T`jl;RW>YN@V3T zuUb3di;2Vj0`%{^Rz}~7N-Fti0LgeTq=Wht&k$(~4#@luCT6@J zjDpf-n3b>Sfz+M~Xg?H#_EHeu-?nRX@B^<=&93)<4J#Pi`?` zEK>YhD*JV0%VK(J12eQh$f}@O$EX=%X&yJVSy=3(pC1t!FLat!IEr~YwI;>(-3Y{{ zRZmZQtxVPy8{z18I~s0Y8NV|I5Xqgl(yzRAf-Nt{2TIxA+$?PZoAVjv4Lz0vc9i$K zrjSIHI7VVYKi^p!`DYHPLbZ=^(5YH-kG==c;tPF>wv#n_|nGkMZW#g?%a4F}rc{ zM#c%T!~hP7$=88bABS`#qT6$NRMZ>aYX)T72)k*TYo1oUwo7h%^BZCf1La|0O)C=59)9~HjC37s(4 zbVB#rs@lEvhL>cyL#V4;Uxo8IkBXRv>a%9bK=8^zK)R6)>#wR>8uBA_`L7iro5OEa z*8)^JMn982R;0sw;O_HXCvIe#u!ex1#~)wlJ3v77!CGf>ZY8EBHg=k?bWa4?P4rOC zBc1TXjnjUYfbqmQC&@s+65P%)MbBKu-P2Q?aiU@WwlYd+^C?@6y3XyCojx%9`WwKQ zM@~j1o4RVIdo_L@M>m!=2$1wmkNRG3KBA&`HC?TyYS>t0`^1G^z^jJO0kU zXIkdYloGG%G`NMG@RaFG)}+xxkGwY=!gUZNbjS7k9hwh?SjJ%4zI<|De zbIF_^$Pv|z1IDZ*y`Zk$h*TE;r3wv$mdzS-3=7Q0O#5M&P;2r!@rDeBP63hhKPE)$ zf2Eg`=3!MI_-HwOtl@OK=+U-wtqby#5we1ZCA235VCbdbzuaq^L$%S z$EK?)$EbCaJI3j;+*4tIeD%yH;*y%IP;(o*M#pl4pM=5-F0&Q3S|9Q(Z{Z|__Vk4I zZH8fwoR1OoX+)97MzT?9^~v0KxaLxRpuy)8c~0RsnJw0&p7R6><4GDK$>iP0!e{su zSzGP6*1uYk&d~FHKQ1)j&g=&pdN55T)OUaZgq{&wrgnu&)>DZ%{Dxx48{aT*Uw7AsV!I=-z;E#oXGDS;t9b~3X+ zDt`1DaVGRrtS63offHWy5)*<;x;MM=B@bE+T$rSaXk=R~!+cYEerxW&9`E-=tcsJ% zX3-SvxbVF+sX7>ZR7d@t@~K|VK`7z6o$9p#FOc{be){}aN8Ro4WVE@i49V!?~{aH0@G0CUsFxwdnqt7ksrC%grf*XE!kU5S8B>?;RB3ex6puerPJBi zQ>U0zA>>O8h>i|;EJhusU###G@V&UAz3a-b$MX=cGUX5RM23&CA*U8 zsRf%_b&QFNo)p-m@i&=huFAF3gj(c?0*X+?=Mmv-irL%WZM(t&r7~KXZ-xq_TqyM~ z+-QCJ|3-@P_Y7=_6~B(8>%6A}SFq9o+yIaO>U7-P&qXHw^^o$#0jTzB7244JfMNd4 zZf13rovuead~o|+wh-lONf#e*-$-5MtGW-ThgiWi2e!JhpZc)DzMbG(XdigE+U`sj zmtG-JCqipG$kNgubIflsH-Cm!Y$mGIH)fPak$t~KWU?H032B~ouQ+bLj+o7`Y^Fse z4X|IAit}u?tv6qvL3f^}(asfGu%DyK+}z5;i;*dFvdlSgn+R3-junh!%gC$My|-N0 zzL(=C+G>DD+g&53_3(PW=j3~LhtP)Zj+bX~KDT8c`S!!&1y2LF^C0Q`;K`#~@z_D| zJ>w0uySD*ip-0BpyewC($BAr$9Ly^TB?$=LJP2hu4Xyg9Y!Rfu?)y8d@0+_A@oWU4 z9czjQmcamno@e2jzx`a3&r)aj$mvXj3w_$aT%%VU2dU>{_=dToI(^(`RwC=!%L27u zB}7Gq;5Vd6s+!ak0T}C zK>8UoWywUSZv8_8td9%AgM+ik}}SKMDlZtuy(vO>YS-*ITY2a%hn7bePR4herkV|v(5EcIpa55Kdc z#f7R;17G>Ui1Iwjn%?nv1zW=OJ;y}VT{L2a-=FuBr9wAgp&EVM|ev; zYV01GRZdr}wF*}kyZGOmqBxQDtj~yIMe{d$0~j$hLxL%ZEFEyI^9XB|M73Q|(+4`2 zTB&}<3~eSg(!>ldx`2w;yrSkv2QF%nN8-w5aw8RTjoOSWY4V@fS*@pz`)tf!sUnsf znrt}_67+Hk$iPlO2oiRN+QD5$*pLff|L*gdZ> z8YDr`7|lGc6L{D_k2Ds2DB&-2N>yv6a54{^;IxVC`kz~=JE0pI_FCMCxWxDTyDuG2 z#n956;+f;mhdQ3ffeSE)43)s@?6PXfWS{iMBZlv0DKn^zK#>;|2@NIHg)vUx458*D ze?CnSqH`09fzUGfHjk$Cfd`~Vni|7CWu{ND*K9@EY?Sw*#yi+~?7uRWMSj{7j2|AG z4^VasroFrvITcb!vudQ0?e{WsTVvNc%s?cg7bLMoYl+<^CjVW$#p0R$*2(eBYfhOC zFj!*b+k08rp(WcIjcyYk`a^5nVMLvQb#$ff%J_cW)No<_v6cP_M%$1UeS&x7IpbNY{B2^DT;vV8Cbi z{)f0f$@o`YJV(2l+Y(F$`J{-5fi#Eb=dEwnzFi+UA$vDaHB*Igy5YG^Rgw4aMOV0P zevc%@Dm1GsNinDW6(<{|u3mu+=2H=pr0NQ%6BMtSvBYjoVomIjlhD$W>dON!1w6Nv z9g%-SeAJ`fwq72Q#2&xkFlqnmR))F-YuYXMJH@|iZNkW5gB&9y9bdd7A=$>1&-P^_ zA?G4)MKlE!l(dm&2VWzZBW0-Dt`XwTDGi>dhveF6 zNGqPsI1<^kFt606Wrd!dVX*_s7?o({L*{AbjqA@-T68UM-CS<^^ zmblM~Ni{z$wP9ZW2wvQo_5BJJ*F>o20mnrcpGm1gIW^tdxI zuiz_`nBi+0q2CCm9=tF)6-gFp&SRaF5Qu{Yhi=s0qp#Gq(5cbyGs~{8Uv9ms8x&~C z)Z@NNRv1>|dheK~P0xvu*nMlB_>YLq6l)kA(+9-uf&u6-W$qR&J5Xa8(}zp40XO%eUp*K}!PuHjTSmA?Y2-zJG6W`yGtG`b=% z-^N$>VpN-RY>a`u#zqt;>C9t$%y+gavBxwhGu3~QeBk=y?SIC+yr*(XF_RX7?gLkS zVgqw6HMfMtUe!!Ib#IfQhg&4!=w^|j>aJQ-`X ziz~4x_inmN08c~TX%$65V5(DC+U1xZ_qQ3?_~|sp)i&=wE^5Ej+_!2?A?=1s_JcA&+dF-dH+Nw&fLJSH zn|+uReM?i`+GpmBLj zXL-SZ&%U|eNupP!z)7AL@Y!5!Y@qSi3V#h4N&Pz&_dk5$;h%1FFnu&R)VFV0P)eN` zliQhB(s#p8{!@x{8*^uQw70$PQ0NvK(`5Vh=;ZQ|nt|xCw599i`s(D-_Pk?D9ZOmN z2;4s_34o`0Y42*mC%zXOHNg9U2h`Fu=sL~kb5oOw}X^scy>+C3N?6? zLEsZ51HcX3stcjyn2!=)2>I^QUv#r^X!DDB?Bw{S;@>5loN19S%Pr=?5ih93Ng{{p z;$nhi-0e(FnedM0NvOtlDH7X79<;B;#;(4yLLKX=V30j)8yUOFzu-Ble?sSp*Z106 zFjjkNBlaA*7-~%~jam<<7K2iJmGtk{Ezx_BGco?;WjE+FU`@!|!B4RG$o)tDXO+-X zq4Tq?5)9clY0eem;Y_|qhKz*d4m7Z$$Xh&$)$s=$m1Mf=ZBJ&uk;^eLqC8V-CH#iS6>@*ERFXdX9mEgNCnl;+Ojz50!gH(De^sk83$L^thT zk{=6@xob(tg4S2ba37U&(sG|>u#GmS9k@xJ_tW@wkX-uxSnuHOMq(x7X5{EH+dE0X z3xY;}fq_X#jmL5&Gwce_OklYPZ-=;RXs{J!3Xb-QUWT1shk^;&v3HG0pb7}@nDH~Z zjLH7Tk)iQf75CGSCa$|P28R7Yl^DREHaAh6KEETw?|V0>P;+ek-K@$%*V@R7%IK*= zivje{fB~~p3;6y5**cW2#5{3S%a>31^b=o{V0sW^U#t&YbgYK5-mTe)R-@=g^$;jD z`>uE7R6fTHcS|wZfUPt7&m@vctZ_H_zyQ(uIK98t6MkZ zh!JTTdzRCQFTF@J*$USwP|CL=V&i;FCC#Ff$oA-{$Fxu7&X+b}WkKE;;RA8}U<;ag zP0F?Bj#jEIJm{0gyica&{592vsW4P9F_qPs?d)Rvc{&Nl4BwU~-s|&r3?+~%WjwP^ z+6st;{QzbAGSV(ja20iK@lI|~?{};cMOm@cCV)3<)@4f=(2o;eBYi3;p_xbHI3BH{o+t6zLwT5{5KQ4y(xZ6t5ortfwol(isW4`>AlW?pI4Q z4Ms|GMk=$;e!ZcTfHdjMh{^cyt)W75u5M$7h3l;-1s7uF2OW`)YyRp~Eu*9>B26>g z9uN8@qxJNHxV^Yh5{1;Ih~6e@WRz^EkpRT^5+M3H8&(~*!43-<_y`oQBV;_Zz03S zR=kRMr)Gvy2%bp7tDb z1Z^AjVn1#BNeuh?sC~>ltdD08Bx;5$#Ih3m2ofckMOCt(W$&QHv%1U{2!iVo^8j~g z0;(aB1NM}U)<3DG`(+7^a_xAKqFm-1O|*Cg33F%j{$qOY?&r>c&T&tVI+BCB%%eGX zeaaftE7jFKPpULtU3|PCDUQ=8r{KwIyg+1PDXSlJXg0{Qlc&`L8-!9PccEond$Ln+Gk{Z4WSOPp%IEKvy;x1_$rzbOb=YmhR z_B0_>I$UHNNo}Yti5E>S$JpOR2(GHX1dNg1n3CGc6#chk;f9%CrE`#4eRl7mC`~uB zIgm(9BGbL(-rans-_z@_AAEMNSEE7`G(>_cFtS_etm@9O-plA(m5=d}Iv?bM^3 zhdwEy_8dJOI&SwD$uqbDeh%F}ka?_-51r;DL&}vvZf7V1NudIz zx3tzojv4`=GTo{^Gf`a0l%-Ccx2&Y{0^|>55WiG$#6DH%LkS?J;~^e?4z&0WXsQce zAYbC8fu8dk*fmfKj&{dLQF?qm0pJ_*>Jy-t3};(imAAi=jP;djKtSlp;DNY}2;dx4 zrM#W0W6YhVYRI^PHMF@_&`#2CHs1Hmc+`MfddbGvO{NR_t(L;vxhzU^G3*RN+lF~H z&brw#ys&U?7nn{5*QV$v7Qla`i^%XkjnTwJzBPP7a6*)%(^CfDvXjX)Ahe}sP%?$8 z5eyBp_aJag3{;^*N$+)P@@3W(4ABP#>|3n}IM%LgM#Hq)rAbryyhNf2)CWrKV>oyS zEUIzVE`zMN@mw*kk!|d``u##~BH@S3^ihnEq;`omsdfWDs{3wE-=0PAJ+0Gc!vUdJ zDswX|+q#t@q-D)2hr{{+l-=lg4(DBZY(FZ03kcK%b6ujmk$%WENudNY$yhHxs$KqT zn}gNxS;dMAcdzqRn_XMQUij95^R8{%$jog2Y=n*@4zXc06wWUL+pOJQXGHdVr!Z3E^HhD&M)%bozSiggMZB`*$Iw2MmDb!ND zWpBQ{L|$-8TOs6wS~{xa+lk%IeX&;9KD?>YQ?!% z@BxQH9$Dtd8}Z7Fv~w&hzGc_U+}wmrMP(CR!edX-1EjjPoB5S>?nv;;gu2u4hqfBq zUC4Mr+#@V{1*h?F{)YEg7L(M~sY&)G97S-Jp8Pd7Nykr*J9$cfjPrt&2d}MN70UW$DL4f=T&N^hs8FS0FTmF4XDo!Dv1Y)<6Fk{ znw&iB_*`L@hxjqvwlOugQixN~m1PzLYdM=0^D=H;o48!CM7&K-u-ct`A7=o>!`6P# zKEB|)@B;o}!OrzUL7|!t_WLJX6H^{%jZYWw!;}UMtz&F70EaM;R~-&wN^;JFZ7NZ@%^CiV~{l>+5rxituukqY<83>lDylwEC*6i^=ZNU*b`TyGFgZ5L>ms-rX{7ZJNC_PBrRTZ;dBD{LO?m-E`5&mi;Zq;skar2!4O+Qs@y zg|jSJ$lS!?h_8P{tHl$xgo*{lzPte!b?Kf#tQG;r#WOaCi~OlZn<75Z&W*@h>JEZG zV(p+!9}FDrPDfOeUm4KOpdpKHe}A4q2PqqUP{Ndk@glTJ8> zt{7O6#Zrjld!D;gzrzdMUy}UG)n@Fu=)y7Uw{zC}^~xA~NC2Xpgz)e_kv3;1bZQF+ zSDzB8*gx00U^RVKcpU=6Y(=LiW2^4f+NU1Sc$p|{tpgms&`9lSlw%-*+1Zzi(i z+t4yAvidSZh|<@M08h}#!zdIxJ{1<9y@HBK*~HQ#Ozu;YvwlW&ywPdcn04)hMm{z< zev{EsAhb%9IMx~PPHn7@M6F1gjoHRtB0(nn~r}&bZXKFC#$Ks z6iaOlvGP|=ChsGcHN5J+6>w)!a{(X5yUG=0!1A!9W6vO2c&r&R)$0R1B`ke9aB4u) zS9YS~*X0*XpsJ#}dwky%y`e?I*=`~0*8<3m**LC;!r=2yT94DXI z*oJ5HoEDmNLkh;a1D2vD4b+2sYUJIH7*E_jeK?%PT*y&l)%Ws!@JP2P#_Bt={sLDe z*0g4`FE``<4r0di7@sVG-9xZ?ux@UxxyfCdgE7_<$GZu2c# zb(ZTHXQ17#+yoz{Z7zH^gx1Z_*}PNRGqWN0}Pb({KwVL1sT6Q8DGs_JYTgAe2}?~**OeShIv?M6A_s2#gsV} zB}_l3XAF^XHlivt)vrsxgZ=^tvmfGB#`Cy5?WPw|Yu)I`))8`19y>%x0q5BCIQsK| zCqE%O{iT=vtM-?R9H(X%_NcvCs|`rMeVr==e%MkAglcik-l>qRY)P0&SY*n zm~ZQF|1~G@7=|b*q0!r(MiGDT5|Pej5W_cGxjleck0rzMjF4V8$tU-w-4AWB8IRw^ zI7mB}ui$EhaJgEhBt7@>Aw4weaphJASg#}H1i{pAL3+mk{U;|~5{24b_x52rT{6wx zEB4L$@CKIqyu`q#d=SKAcke1T*Bl`3B(0H=;fC6^1*V|oVsPF4_e6Rt7PK0BJb3J^Q*Ae{`=> z0iUh@l(vrN&6ThX^NEy=t=f`^oqgFGlB-w2zu(qhLNiwnsv};`N=foLnLm6;n`= z)qNtXIzbI(Y#RqQqHWhiXXpJ{fw(FlrL-JHMJbJVSxFAdFLqtgiLDI)F=Mt*-U$3bi z9?LD*1;wYbj~H$Kb@4f{dH*4}|_Q zm{ob0t-0#cmzaUBrX5KIvxu&!-y8~30uJF&E$;a!2C)7_8bxCFwZ%(3?0eo7hE;_f zdJF5nnwBG&nK}c8SIwY2`V2s1NY)WjSFSy-&y@)x9m;;ozF71`XFxy$hq1U%y5qPH zp`@<%UY6eRy|qV?5g$hH+MPhA^E-w46ZF_`2(aliD$A-}HVs`)X&O>=2S)Yfw32m* zp5O~sHdH6@4b0rpEj1aZmlTSR5uqhc#^lEMm4vVc$wZtNpKCNtv*vu@i;TPM7Z|(L z6|!Lh0?VPojk(gkX$;a87MwlEwzkuLjHVg_^#_+$Vk~xysIg>yKafSDx<$jntiQWJG_f!EbJTw88{A;5<*;4i{C!z z6bVs=GmLV`;vflzVpF_EJ+)t1-aJzlv65C&?96T40&wf<=7E5D7<2ji+eS5E>k4Np5$&TI(2XdWx2Ao+ z8z|dMm(AJh05@FhEEyJ?LEwEv59vDnZ1J-EvfB%!0EBhD=3 z{is#OJT3z_Mv8TVm(BDzUA>3{?RSMj*I&UToJDKNY|IZm!NVbx?}c-w_$Qv(`KGJ) zxb$Jg$4(WhZ6-ctwKY$t3$Zfs6@1P6YB`XR_r0kbxI>9@n@u(Wyi|Z~#t5%tSP|&1 z=~%RkL>!;p(s2a6!;}J_^JuoL`|`(HPG{nW1Qg5EFl8^{Nk@vcn8*N8&#c91X81+h z1*&7m+>PJYWbVhun$wyE%aTfXLUIaupiE#s z4~%D?8e5#|)$oj~ZhQ)UU`FJEErQ~DXA!kGWWY~2TSJe>p1k_(RLHw0MYOxnhKw<5 z;)mZ9k&1?aEwcIWI=D%yH!mh6ai{sL z9t%PCj=S(DXZ6T?gt;pBw(p#jZmDJ>0%W-Y2AiLbRk{C2V%M@_+0JGQI81xI2=6*C zma0@QIz`O(~xDk_cyGOH} z90IemJN33sHk4s)t&7nDu&B zfRHg*mLOH3eR|ZDCaT55~&KmHMEoO~bT@ zB#*v=ayr&A1CxC+cHD;jhrY=WC-zoOURAh+yewtwt@;8C(U2h;3!fkCyMp7lcqk&G zGN2zVX7b|L6vP(YoZi677;=GW;fwgjb@Cm>eDGzb+0cE;5xnX&(Ti9Ou!RZ@ z{x^jHa{p^8JfCuBI>T7t%tI)Xm(@f>|2^6N@WmXG2-hLc^R8-WsAGBLls95Arl!C$ zmt3xWMWO(Kb!BQWNZoLXy<*UkypABOAv@oF>(`n90rdyTej*SUcJUF|GWVln8mXOW!fhMBWL25EWRPUWvotbK-EPzHe>8VuK{T()}OLgLapr zsf*N^Mj8B^m`GfSRMkF}t8JQO2(CH!@gl4VF*(5MP)#|%iY_!1p-rQ*<>d7@MP8m4 zbL@=5`w)6g-nJg8mz#WRtr!Ta2Zb8lgj>hPCB+w+%nVXAUsPm64>4sAhd^d8GVv9d z`|gFen&loX2H(-BRI!};G-b73a}ydD&QLF~XycBoc5aKj9MT%hqiOn?@No#!hU?v< zJLO_(Z>*|)4dTC06b<%OJc)g>8uvu?BM7m4WX^?pvnemCbbAOmYjHqMZ+yp37Ls69 z>KS^x63Pf7tabg7!Qbell*B~4&$uSNKktc9m`?6&F(1a-9cr?0Pdhg1-n_L5V-dF; zf0+db{D$R-yu}cWU#@XxWx6@u9Ch(hT{=lQptNCob~+bLgrU zDk11u;Fwz0gUgxWJEsC~l5)V{gL}9pip=O6EQLv1Q=sCn7S#_EioeP9f;+@|21z?? z#^044PE|9fn9Fm5ioOt~@*9!$S;@xZLcy)i^Q_%Z${)hnUSP@Yh35JqKorGhf>DHP zBi6VxT)p{xLLSbqf0ypKn{Ut0&qpZ=O6RCVJQLt;Y^gsi_Q}ni$r1P)!FM3&(iBmb zr$m0ciq9UdQKGLlyP}Ai9PJlyb+DpJaJYcK#yL5A+PtIR;S7{!XAeu{w(8voSKY1V zLH&yyFN2Gnv`fv?SXm%tKQ9uTh8pYZ6|%juGtf+_JEU)}M3Oa6HsVYC1F4r5{tHs? z-0-r4H^dCA-HZr|QA|P8e}0h#6tomSvCjUD!X4g}oTyXpaZc%2Uin9|6jS;+IleHN z=t=042_+=B!O-)c9Zy;h7=z#xjf!`>LsUaES(4U3l4AZ1A~r6D*aJ~p8g!9 zyozqPU+oaPIw`)c@S5q1ojll0!ipsl{X)cgm%sYd_55NJ3(bGs8^99IUU{WF@Tb;Z zsP)wr#L0Yfp_J+$pl|+n8=!ef_X^{Rq2~@zDX3gs`dBG2C|`m|$g?c=VfXFX_-yn~ zg0s@V7ogSMeZ`t3{4jeWHnV#JvTbJPQkhAS;$Td|C?6#cCm#!aI2oH^$*9eCu2VJ$ z)qL_7bk@fkn;h2ZX68S=e&}RzeGM>H&DI=gR8AFZ_Kd|MZAz6G@Gvnh1+}Z>MXfbL z0-V|&_JSEDqO*wBw>21v=&_eZzfdAyLe*GF%jn69>Q|wmad!YC_GFJX67s%CnqV1jjOVUhc;s?m=EGSj1{;b}>R;19QuT=P$ve!Ua z(rOblk~uL|F_1FLGX4ZKf=dY;W$;qC+C5mQgQc<`gFt~z%ELCNR2R1^w0rFBs^y>* z^4Z1(RVB93sV-P~2SIaoHXJwP(!e5i$gVg@DgCTWsd8QIla70>a($fuRbVX6ZkK>- z+zDZTMuK@HJ28*jC|d+rQWeB+7tTC=1k1G}_RP`VLC5azw0QXp`&@nMrr_(ugxSx@ zlnU`U%<8qO>e7R?7a`e%8WXaK#8Rcbv}2La!X)p67*=h<{m8xsYW#4(O!wx|qRplb8DzCst;Egw z0kD}NEzunn7Daq_#nbn_3v$*?TDT$VGnp8Lq@`F7lqRSxo;rOieoDVO{{5?Me2?c5cDHAB;Z#3ZYjSP>^9{Qh+Rvi!!7y~?aIiNy-+7Cbi6+-TCCkS# z1|n-X+gZx{&D=*yIMggsK#?6gWHSbeA+;S64_2E(`rX1}{$30Eqk$@3zoHl96$ zTJOkl{C=0nK-1CCoHh@<+!Ec)!XO3NwaJlj`UIDeVC>CfP@3rT!i8_e6Qm8M!PS8z zI2dCgzT^f$kwWz+jt6@fjj?^s2Kg76K%S_-mOpTZDGM)h1=NHdw;b`Aut?h*A$Q+x zr?=YqEkT&)3r(w3eY%&V1iAqYcA-s5?75T2iQ^L$L^sdk1DBKfxP|+eFEiXBUPqNE zvn5@p$Rd_+N0{)aV)kiiNX0^V1Y%1Bj&dwST`}JP&{l>(;WV>ELL4+My zqR|(^j;WogM>FFoS-W=hIv&=t+~!v&l^OxpS~`t|$NTP3BAo7Xqch{JE@^+)Xm)Pq zhS&j3NDqDfcQGqR;a(HEX`}YxJkah-41Az8qL+wtAmzbAHVv6ULBU5Q_V0RH50*Ju z)wu|roB{!pvYMPM{EbqYK=Sw{<;@~kDkS{E16w9_Xrqq7y`=(DZkkUmqTz?Hzv99v z`s0784Wv35>gIC%{OAN@FZLbzR4b{{_987)kfQwa*n#x0p%qvn>%#xg05$E+Pny3% znj4ibM(9@fYm1tr4#X=4F-_fl_st&~Q2$MPru*cQh5;z9TsB3?Tw1V(@DX*GbA-Sd zBq?v|iqJmD?vnmPG+Ii2w;czcG z9DvZ@yfe~^xk%6JS@EdN@Bi}T(9C}tzA0|N@Dw-DM;zS6ABhkPMM%xsjO)1a;_qu7 zmg?pTpYX}Y_nq@Ru_B0Z@O<-h5HkTBauRZ?6y3h$K?$#?$;@Q(CE%IjKV9hho+Zxp z+i}{rK*-po3K^tBM&Ae7amsc`u%yUP?|2s&b+_a{mX5~Nv~kBaH=)3uI7%$|{1{qR z98(0weE0n4Ft%)n*n44c@q-XL(!OzMkdE5RLs^h8wAl1(i3l*uqD{CXf35I1N=x{$ zh_YKsuu753=Er__LE>QQwh(PTJ=D*9!jOfW(bh;c1`Vt5*qqOi1$Aoh?vw_7^HY&$ zP%$x^RoPOo#DVzQ6MUIhZgmQ48=WbaMoh+_wCmt?&7OO#9E3y%T@uf$0I(L@8 z{v>CI>BsZFJ}M$a*F86ZFFN%O-WnZ4D~$JEG#xnV(Su8g6exCTvEVqlyLnd?7F*Rb z8v8Wn?yhgTN3SBH`eruGR!lA#3d=jH)#fb{{k(UU>I`cSipW+#cgZx0zCj-rw9n|s zRbhdZd(DcvAX7D#+->&z$>!G16Xqy-1^BVK!OGkaSyt_XQ9H059@Q%`gM zP{|j1f=gTRD5aSqMW`gFp+4DGt7eEs^G-qgup}rG(qvw#JkzaC))@A>o-!SIrzcAqV#IGvGnRh@w&*X zC&&IU9Pg(%z7VP?DFM}R48f$h>KFm-IYvQ(oowMIEdNCt09dV-`q8g-_wcZMTOzbw@3^DOT#VM@jID}JwZOh zn*TIa83l<*y*~mJFS7I4CgD=J=54?rY;1Q>g+S9t+3EC1En$y(=)iYn|_Fh+5~fm4!$D9SfK{ACLB`d|!n@QPC_s$Rd#CeT`|b9=mr`&OJU* zvg9VXb}=&-aRY?^6g5t^M_gqM&@Wa2tuV6WNli-^8;V^Qq=gZ|wSJqJ26d~mHZWCx z+$kQHKU?emHyPxA?P7KKQ{WbABMz7tY9M&t@+Z1=heD{reiq-$t|DAA)2Zmx4u+f7 zKU+WU1=F>&^U{n@c@}aL!|8W5cXD+irpxd@)_(A`xLIc1&__cAW2+ROS1T=Mu;sjH zIc3Li$Ns8ohxsz>a{FuZMc`m_0StAlUVM&Wp7!Ikg00v*cUigndlMlm8?~s#fhIpc!z#D1U2j?Ptyy+nj6WMrtd5aF z;j^YYm*`~g8g??Db;)&~G}kOT?Yxz!fr{UUpXc?B$^!+)9Go67k`)7xea%imizG7n zuSq5Re=|+~4_~mk4?b6r+qqs}XnSz#3QK+c7g3rNZ1C~g!vyBzYdjB7b6dU~gD`@|zMJ~w? zI_wbnEm@<^xsu7o9}73kUcBKG^5#8!KjCSAarA|6_i9pZ*LF3+23a!+in8T@5|h+g z##LKM-z$gNb|ZBY<-AeD%PeYu9#jH);1{F!an*IYwKtjtD<(_=bW-!Y|6!XFpe_S| zx?HIP6pg!d3q?|Y^yM?oxH*;PIdjLzs(~$ruRb1s+wWch;9U9l;F0+RV4G8~=OKO< zj2o*3BxEU#DPLK5%KZkHhL(2n#(VSFE*euU{U%7gjyAMPZQo-+U|tcuP<=(78gttS zzY_~N;?31g>erv4{#WoT*&A^tOG+ld{k*&D^0}wvGtTQH&EMKw@)q=XakS15cG8lg z$x7N6E-%mRN5Pi@yyy3QI+tD3EiebT#q6nzt>5UpAE5J}uj%Ti{b)ZA94T%)T1xVA zG}Kb~Z8^f8ptHLV8VX&Gpmy9)K;zWSi@Wo0ga2Ra;q$+Xz2o}lNQmbCfbFI%9}x3@ z22B1DIr;zO0{sE$tkRFf|N6nn7nU_5q1?)h+eC_qcmxvAu2rZTuh!4`*TlGis zQg-^6xBm}t}l+d$vr_tnph{&$RQY!(mb0dI68zXLL7vJ3C1ya_h| z(TpE7pt=#)8_}E&yoSymdGV=!a^K1GU5wpZ{qcY_mE8%oXmBkgM7+KIr;E`6+D?ID zMy*9$clkNJb65R`LHX}l%|mqIw&ml3@~ouCZ1}-9v|K>O$yy~bg}Z@=6Xc^oJW95F zCxv5u%sfTG#E*b^wI{dG$-QhqJ) zSnONLsc&!1zO%-S7tiZF@#-dt>u34z$jiSNG8}Q>sS5si;(oM0iawXV{1*VAx6w?X zc)eQc)^r34nJ4*of&T$?CttU4H6!~9wg&pFY<68cpDCUswhwun|4KzVyJmJ#{yI4s zN!h2^kvlEyn7y(w-<4F%)>pK&7n&tO9YK#AfV#aoBI*-doY%~ak$9GNesfp5XJ;## ze^AKHwr9=Fq#jZ)zvU)|0Ewq;9;4m)x5Q*gb(g=*?{6!8t>Uivz(D-G=wEE#i9twB zhF=BO)olNU%ydN4v437``c22p?lmOB_hRmM+!zh5i~GL?zsznT;=pUYtG~ZrJ1PEm z^BNl3Iot34o4YNipTK|toZ@d-OuXYW8>I)d+E zBZ{zz*`&?JzRRjt%@dH`ugIxvZ&Bit)#(}*Dq#PzhW=U3`VZyTOs@xg3L6i>jmNsF zaMd9W{3p2k`*Hm-6gL7;KkP?aBV<{wsr}rRF-EX@Q94x(% zURmph{EbF`d#%3>+aDWoLL=TH&N z-hUBZes?|;y0BkEZ4C52v=8~+diDBr{>)#CWf97=1nUrpHB8%Gg)44G34^Oc*GOIa#@7lLxi43z< z6tXq&vM)U4JRJFYslUt0w`v}BfNeCHWDRSLrU9_~--6WsAD|C!Ywz-J598t*0JSvw zm(#-E_W2J?x)Hu*8C1^Xb@o`(R@}XTe|IXYK$a$jy3_3_VJj~+W5jY7^YK!vaD-%p zi>qs1alw`TK$ZROwtxrS$&71RWn=S|bLNEVLodkAgDvS&M$yrk$+OQajt+*q2A(%Z zjrPx=)2u6jh2ej?42kCYed)ZME{qg^02qlSCdJ1S;P84~{KND3X#5S>Zotl8zETrl z)ZRP#f_vJTb5a0$!k0pg+N&GEyFomI9+z>b35u(nKilaL_MefNek@WGZ9(giqa)z( zck?P~C@(KhJ^f$v_w}8-wOiUmMn=ZR$7j!mhtJN=hIani&z?Is@AE|UgNJ|{;pU$& z|NSi&QY9xS%>VxfG+U-E!^Zpg@#BLD0T44KJQM^h_88XvsE_~mX?m^Qe2DOc<-5z@ z|GTyR@2!V#7cY4Dy#C+w`q$g*yh9=D&ln!uvHQOBeC>yW?D4-YP3NnZ0gkd*-2B!o z|K~yfzZd=cKKAC@)ch!@uaAeA_aZeZ$tiG3{J*F1b^rf`%5`rLReBgjyO!0wd=rT5SJl)K|z~tcR0z5Zh zD0^ho@t{;WFfn)rbaBo9|6hMB`2chS8z?O?GdQdgx4B#@`~~DJPgg&ebxsLQ0N7oV AK>z>% literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_before_pgp.svg b/artifacts/ui_eval/current_tui2_before_pgp.svg new file mode 100644 index 00000000..c347b362 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_before_pgp.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #0  My PGP key│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│┌────────────────────────────┐││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││Jump to entry id (Enter)││ +│││││└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│└────────────────────────────┘│││ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────┐┃ +┃││││┃ +┃│Entry #0  My PGP key││Notes & Tags #0│┃ +┃│----------------------------││----------------------------│┃ +┃│││Tags: pgp, key│┃ +┃││││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└────────────────────────────────────────┘┃ +┃│Index Num*: 20 | Entry Num: 0│┌────────────────────────────────────────┐┃ +┃│Fingerprint: ABCD1234│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────┘└────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_chrome.png b/artifacts/ui_eval/current_tui2_chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..73df7557bfa71c32b447319b24eb158b9aca3acf GIT binary patch literal 46179 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

=`;yYU#V$)|}>E#P1W?vzUtaOS5iVwWu}JdDVY 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 literal 0 HcmV?d00001 diff --git a/docs/README.md b/docs/README.md index 1741b575..b6ada48b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -31,7 +31,8 @@ This directory contains SeedPass project documentation. - `SPEC.md` - `entry_types.md` - `entry_graph.md` -- `tui_v2_plan.md` +- `tui_v3_plan.md` (active roadmap for scratch rebuild) +- `tui_v2_plan.md` (legacy logic reference) - `tui_v2_parity_checklist.md` - `tui_v2_parity_backlog.md` - `tui_v2_legacy_parity_matrix.md` diff --git a/docs/tui_v2_plan.md b/docs/tui_v2_plan.md index b95e0c5d..af140f4a 100644 --- a/docs/tui_v2_plan.md +++ b/docs/tui_v2_plan.md @@ -1,6 +1,10 @@ -# TUI v2 Plan (Textual) +# TUI v2 Plan (Legacy Reference) -Status: Implemented on `beta`; retained as architecture/reference plan. +> **NOTICE:** This document is now for logic reference only. +> TUI v2 development has been paused in favor of the **TUI v3 Scratch Rebuild** to solve monolithic file issues and layout crowding. +> Please see **[TUI v3 Plan](tui_v3_plan.md)** for the current roadmap. + +Status: Retained as logic/architecture reference. Goal: Introduce a modern, modular TUI (`seedpass tui2`) without rewriting core logic or breaking existing CLI/API behavior. diff --git a/docs/tui_v3_plan.md b/docs/tui_v3_plan.md new file mode 100644 index 00000000..50b825f2 --- /dev/null +++ b/docs/tui_v3_plan.md @@ -0,0 +1,127 @@ +# TUI v3 Modular Architecture & Parity Plan + +Last updated: 2026-03-03 +Branch target: `beta` +Status: Active (Parity execution in progress) + +## 1. Context & Rationale +SeedPass has transitioned from TUI v2 to **TUI v3 (Scratch Rebuild)**. + +### Why we moved on from v2: +* **The Monolith Problem:** `tui_v2/app.py` exceeded 6,500 lines, making it impossible to maintain or refactor without significant regression risk. +* **Crowded Layout:** v2 attempted to fit all views (Settings, Detailed Inspection, Grid) into a single frame, violating the professional application feel of the mockups. +* **Brittle Interaction:** Action Strip click detection and manual string-painting led to a "ghost button" feel. +* **V3 Solution:** Modular files (`widgets/`, `screens/`), proper Textual `push_screen` transitions, and a reactive "Board Architecture." + +*Note: The v2 plan (`docs/tui_v2_plan.md`) remains active as a logic reference, but UI/UX development is now focused here.* + +--- + +## 2. Current Progress (The Foundation) +We have successfully scaffolded the core v3 shell: + +- [x] **Modular Architecture:** Established `src/seedpass/tui_v3/` with sub-directories. +- [x] **Factory Injection:** Reused all existing service hooks (Entry, Vault, Profile). +- [x] **App Shell:** Working `MainScreen` with Sidebar, Header, Grid, and Inspector. +- [x] **Full-Screen Transitions:** Working `SettingsScreen` and `MaximizedInspectorScreen`. +- [x] **Board Architecture:** Implemented specialized ASCII cards for: + - [x] Passwords + - [x] Notes / Documents + - [x] TOTP (with live ticking timer) + - [x] BIP-39 Seeds + - [x] SSH / PGP / Nostr / Key-Value +- [x] **Core Interaction:** + - [x] Command Palette (Ctrl+P) with command routing. + - [x] Reveal (v) and QR (g) logic with double-press confirmation. + - [x] Reactive Search and Selection. + +--- + +## 3. Remaining Roadmap + +### Phase A: Action Parity +- [~] **Clipboard Integration:** `c` is now wired through v3 action + palette path, but per-kind field targeting and confirm-gated high-risk copy parity are still incomplete. +- [~] **Archive/Restore:** `a` is wired and refreshes grid state; needs broader regression coverage across kinds and locked-session edge paths. +- [~] **Managed Account Loading:** profile-tree child node routing now opens `managed:`/`agent:` entries correctly; full managed session load/exit parity is still pending. +- [ ] **Edit Workflows:** Implement a dedicated `EditScreen` or integrate the v2 editor. + +### Phase B: High-Fidelity Refinement +- [ ] **Mockup 1:1 Polish:** Final pass on spacing/density for all 9 PNG mockups. +- [ ] **Action Bar Hardening:** Ensure all clickable segments in the bottom bar route to the new v3 actions. +- [ ] **Notifications:** Unified snackbar/toast system for service feedback. + +### Phase C: Advanced Features +- [ ] **Semantic Search Integration:** Connect the "Search Mode" chips to the `SemanticIndexService`. +- [ ] **Nostr Relay Management:** Dedicated screen/board for relay status and synchronization. + +--- + +## 4. Functional Parity Protocol +To finalize v3, we must verify 100% functional parity with the **Legacy TUI**. + +### Test Checklist: +1. **Vault Setup:** Initialize profile, Change Password, Lock/Unlock. +2. **Entry Lifecycle:** Create (all types), Edit, Search, Archive, Restore, Delete. +3. **Secure Data:** Reveal (v), QR (g), Copy (c) across all high-risk types. +4. **Sub-profiles:** Load managed account, exit managed account, nested hierarchies. +5. **Data I/O:** DB Export/Import, Document Export, TOTP Export. +6. **Nostr Sync:** Fresh namespace, Relay management, Sync-now. + +### Automation: +`scripts/interactive_agent_tui_test.py` now supports v3 execution and currently validates baseline flows (selection, reveal confirmation, screen transitions, archive/copy trigger path). +Additional strict parity assertions are still required before cutover. + +--- + +## 5. Progress Log (2026-03-03) + +### Completed in this session +- Added v3 lock-state action parity surface: + - palette commands: `session-status`, `unlock `, `lock`. + - app actions: `action_session_status`, `action_lock`, `action_unlock`. +- Fixed v3 default startup lock blocker: + - `session_locked` now defaults to `False` for preflighted/injected service runtime. +- Fixed v3 QR rendering runtime defect: + - added local `render_qr_ascii(...)` helper in `tui_v3/app.py`. +- Fixed profile-tree child selection semantics: + - `managed:` / `agent:` now open entries instead of incorrectly switching active fingerprint. +- Fixed v3 screen query scope bug: + - replaced app-root widget lookups with `self.screen.query_one(...)` for screen-mounted widgets. + - this unblocked reveal/inspector synchronization and removed silent no-op behavior masked by broad exception handlers. +- Added grid focus refresh behavior: + - `EntryDataTable.on_focus()` now refreshes runtime rows. +- Added new v3 smoke tests: + - `src/tests/test_tui_v3_smoke.py` with coverage for lock/unlock/session-status, child-node entry opening, and grid focus refresh. + +### Validation evidence +- `pytest -q src/tests/test_tui_v3_smoke.py` -> `3 passed`. +- `python scripts/interactive_agent_tui_test.py --version v3`: + - seed confirmation prompt appears on first `v`. + - seed reveal succeeds on second `v`. + +--- + +## 6. Remaining Work (Ordered) + +1. Complete secure-data parity for all high-risk kinds +- finish `_resolve_sensitive_payload` support for SSH/PGP/Nostr and related reveal/copy semantics. +- align per-kind copy behavior with board/action hints. + +2. Implement managed session parity commands +- `managed-load` / `managed-exit` equivalent behavior in v3 command surface. +- ensure nested managed-account lifecycle mirrors legacy/v2 expectations. + +3. Implement edit + export workflows +- document edit screen/path. +- field export and document export command parity. + +4. Bring search/filter parity to v3 +- filter presets, archive scope controls, and search-mode wiring. +- semantic mode chips connected to actual semantic service behavior. + +5. Hardening and UX fidelity +- action bar truthfulness (only show actions that are actually wired). +- notification consistency and failure-state recovery messaging. + +6. Expand automated parity coverage +- grow v3 tests to cover reveal/QR/copy across all major kinds, managed lifecycle, and archive/filter edge paths. diff --git a/memory-update.md b/memory-update.md index 4f3d78c9..ee23d301 100644 --- a/memory-update.md +++ b/memory-update.md @@ -1,230 +1,47 @@ -# Memory Update (2026-03-02) +# Memory Update (2026-03-03) -## TUI v2 mockup parity audit refreshed -- Added a dedicated audit doc: `docs/tui_v2_mockup_gap_audit_2026-03-02.md`. -- Linked the audit from `docs/tui_v2_ui_refresh_plan.md` so future sessions use it as the active parity reference. +## Architectural Pivot: TUI v3 Scratch Rebuild +- **Decision:** Shifted development from TUI v2 to TUI v3. +- **Rationale:** v2 became a monolithic "God Object" (>6,500 lines). v3 uses a modular architecture with separate files for `widgets/` and `screens/`. +- **Layout Solution:** Moved from "all-in-one-frame" to a **Screen-based transition** model. + - `SettingsScreen`: Full-screen configuration. + - `MaximizedInspectorScreen`: Full-screen focused detail (bound to `z`). +- **Board Architecture:** Implemented specialized ASCII boards (e.g., `TotpBoard`, `SshBoard`) that reactively swap in the inspector based on the selected entry kind. -## High-impact findings (user-visible) -- Inspector panel currently pre-populates because first entry is auto-selected; this diverges from context-aware mockup behavior. -- Left nav is not yet a true hierarchical tree of fingerprint -> managed-account nodes. -- Layout density and panel proportions still differ from mockup geometry, especially on large displays. -- Reveal/QR pathways exist in code but user runtime still reports non-working `v`/QR behavior in some installs; treat as high-priority runtime validation gap. +## Technical Insights & Fixes +- **Action Strip Hardening:** Discovered that Textual widget borders and padding offset click coordinates. Fix: subtract border/padding widths from `event.x/y` before parsing segments. +- **Reactive Selection:** Used `on_data_table_row_highlighted` in v3 to trigger real-time inspector updates. This provides a much smoother feel than requiring a manual "open" command. +- **Confirmation Logic:** Hardened the "double-press" mechanism for high-risk actions (Seeds/Reveal). Replaced subtle status messages with bold "CONFIRMATION REQUIRED" inspector cards. +- **Regression Fix:** Re-synchronized `test_tui_v2_parity_scenarios.py` tests. They previously assumed auto-selection of filtered results, which is no longer the default behavior. -## Evidence artifacts to reuse -- Primary runtime evidence: `artifacts/ui_eval/audit_20260302/state_dump.txt`. -- Mockup baseline set: `UI_mockups/PNG/*.png` (all 1854x1080). +## Infrastructure +- **Test Centralization:** Created `docs/TEST_INVENTORY.md`. +- **Interactive Harness:** Created `scripts/interactive_agent_tui_test.py` which now supports both v2 and v3. It uses dependency injection to mock services, allowing for safe, password-free exploratory testing. +- **CLI Selector:** Updated root command to support `--tui [legacy|v2|v3]` and a direct `tui3` command. -## Recommended next implementation slice -1. Remove initial auto-selection and use a neutral inspector state. -2. Implement true left-side hierarchy model. -3. Rework dense header/footer strips to mockup rhythm. -4. Tune spacing/label verbosity for higher effective density before adding new feature surface. +## Next Steps for Future Sessions +- Implement the `EditScreen` in v3. +- Port the remaining Nostr Relay management logic to a dedicated v3 board. +- Complete the 1:1 pixel/character parity check against the 9 remaining mockups using the new `Board` classes. -## Plan consolidation (2026-03-02) -- Created `docs/tui_v2_integration_execution_plan_2026-03-02.md` as the consolidated implementation roadmap. -- Captured user-priority requirements: context-aware inspector lifecycle, true fingerprint/managed/agent tree, collapsible sidebar, filter menu replacing always-visible kind toggles, and unified lexical+tag+semantic search. -- Reordered near-term execution toward structure and reliability first (Phases A-C, D, G, H), then semantic integration and final board-fidelity polish. +## Audit Addendum (2026-03-03) +- Ran a v3 parity-focused static/runtime audit against v2 behavior contracts. +- Found a critical lock-state issue in v3: `session_locked` defaults to `True`, but v3 currently exposes `lock` only (no `unlock` action/command), which blocks reveal/archive/copy flows by default. +- Found a critical QR defect in v3: `action_show_qr` references `render_qr_ascii` without a local import/definition in `tui_v3/app.py`. +- Found parity gaps where inspector/action hints advertise workflows (`edit`, `export`, `sync`, `load session`, etc.) that are not currently wired in v3 keybindings/commands. +- Found v3 sensitive payload resolution is incomplete for high-risk kinds (SSH/PGP/Nostr), so copy/reveal behavior is not parity-complete. +- Confirmed the existing interactive harness can run v3, but secure reveal flow assertions currently fail in the script run output, reinforcing parity-blocker status. -## Session Update (2026-03-02, evening) - -### TUI v2 parity slices completed -- Added per-profile sidebar collapse persistence in `src/seedpass/tui_v2/app.py` (state now restores on `profile-switch` and `profile-tree-open`). -- Added search mode chips to grid heading and keyboard cycling (`m`) for `keyword -> hybrid -> semantic`. -- Improved reveal UX for confirm-required secrets (`seed`, `managed_account`, `ssh`, `pgp`): pressing `v` now arms confirm and pressing `v` again (within 8s) confirms reveal. -- Fixed profile tree label rendering glitch (`fp-aSeed:...`) by normalizing to `| Seed: ...` format. - -### Regression coverage added -- Sidebar state restore per profile. -- Search-mode chip rendering + `m` hotkey cycle behavior. -- Managed-account reveal double-confirm keyboard flow. -- Profile-tree seed label formatting check. - -### Verification status -- Focused TUI v2 gate is green at `45 passed` for: - - `src/tests/test_tui_v2_textual_interactions.py` - - `src/tests/test_tui_v2_action_matrix.py` -- New UI artifacts captured: - - `artifacts/ui_eval/audit_20260302_phaseB2/` - - `artifacts/ui_eval/audit_20260302_phaseE3/` - - `artifacts/ui_eval/audit_20260302_phaseG2/` - - `artifacts/ui_eval/audit_20260302_phaseB3/` - -### Incremental parity progress (2026-03-02 late) -- Left profile tree now supports child-node traversal and open actions for managed/agent rows via `↑/↓/Ctrl+O`. -- Inspector behavior is more context-aware: non-sensitive kinds keep secret panel hidden by default and report clean unsupported-action status for `v`/`g`. -- Tree rendering now includes explicit group headers (`Managed Users`, `Agents`) to match mockup hierarchy clarity. -- Focused TUI gate remains stable at `46 passed` after these slices. -- Added CLI regression tests for legacy launch compatibility (`seedpass legacy`, `seedpass --legacy-tui`) in `src/tests/test_typer_cli.py` to guard installer/runtime fallback behavior. -- Added responsive high-resolution density mode for large viewports (notably 2256x1504 class), reducing chrome heights for brand/ribbon/status/action bars and heading rows to fit more working content. -- Tightened default vertical whitespace by removing extra top margin on status and TOTP board panels. -- Focused TUI gate after density updates: 47 passing tests. -- Added regression check for unsupported QR behavior on non-sensitive kinds (`document`) so `g` returns an explicit status message instead of ambiguous UI behavior. -- Added a unified right-pane mode switch path so document editor and 2FA board transitions remain mutually exclusive and state flags stay synchronized. -- Added regression test covering 2FA board -> document editor -> view transitions. -- Focused TUI gate now at 48 passing tests. -- Added context guard so opening an entry auto-closes 2FA board and blocks entry switching while document editor is active (prevents unsaved context drift). -- Added transition regression test for: 2FA board -> open entry (board closes) -> edit doc -> open other entry (blocked). -- Focused TUI gate now at 49 passing tests. -- Added dense high-res action strip mode with abbreviated global commands to reduce clipping and keep bottom controls readable on large viewports. -- Added regression assertions for dense action-strip activation/deactivation tied to responsive layout thresholds. -- Inspector heading is now context-aware and tracks right-pane mode: selected entry view, document editor, and 2FA board states. -- Added regression coverage for heading transitions across view/edit/2FA modes. -- Focused TUI gate now at 50 passing tests. -- Refined inspector board typography for password/document/TOTP kinds by grouping fields and operations into clearer compact sections (`Login Fields`, `Document Fields`, `2FA Fields`) to reduce visual clutter. -- Captured visual/state evidence in `artifacts/ui_eval/audit_20260302_phaseF6/`. -- Bottom action strip shortcuts are now functional and test-covered via new shift-shortcut actions mapped to palette command prefixes plus reveal action. -- Added focused artifact: `artifacts/ui_eval/audit_20260302_phaseH6/` for bottom action-strip validation. -- Added clickable action-strip routing: clicking top-row shortcut segments now triggers the same actions as keyboard shortcuts. -- Added regression test for action-strip click routing and captured artifact `artifacts/ui_eval/audit_20260302_phaseH7/`. -- Focused TUI gate now at 53 passing tests. -- Refined dense-mode top-left sidebar hierarchy: compact FP/profile/session scope lines plus reduced label noise while preserving tree navigation and status cues. -- Added artifact `artifacts/ui_eval/audit_20260302_phaseH8/` documenting the updated hierarchy. -- Continued board-rhythm parity pass: aligned TOTP field labels (`Period :`, `Digits :`) to match password/document row style and improve scan consistency. -- Added artifacts `audit_20260302_phaseF7` and `audit_20260302_phaseF8` for board layout comparison against mockups. -- Extended dense-mode action verbosity reduction across additional boards (seed/managed, ssh, pgp, nostr) for consistent low-noise inspector language. -- Improved profile-tree depth readability with active-branch counts (`M:x A:y`) and clearer child group connectors/labels. -- Added verification artifact `artifacts/ui_eval/audit_20260302_phaseB6/` for tree hierarchy scan quality. - -## Session Update (2026-03-03) - -### TUI v2 managed-session + action-strip reliability fixes -- Added managed-session breadcrumb tracking in `src/seedpass/tui_v2/app.py` so left header now shows nested path context: - - `Path: > > ...` -- Managed session state now tracks nested loads (`managed-load`) with stack semantics and restores the previous layer on each `managed-exit`. -- `managed-load` now normalizes kind tokens (`managed-account`, `managed account`, `managed_account`) to reduce false negatives. -- Action strip row-2 is now clickable (context actions), including: - - `v` reveal - - `g` QR - - `e` edit - - `a` archive - - `6` 2FA board - - `managed-load` / `managed-exit` when managed account is selected -- Added robust kind normalization for context rendering so action hints stay aligned with selected entry kind. - -### Regression tests added/updated -- `test_tui2_textual_action_strip_click_routes_to_shortcuts` now validates row-2 click reveal. -- Added `test_tui2_textual_action_strip_context_updates_for_selected_kind` to ensure bottom context row updates by selection. -- Extended `test_tui2_textual_managed_account_session_palette_commands` with nested managed-load + breadcrumb assertions. - -### Verification -- Focused and gate suite green: - - `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py` - - Result: `56 passed`. - -## Session Update (2026-03-03, Slice 2) - -### UI-board density and hierarchy polish -- Dense high-resolution mode now keeps `#grid-heading` at 4 rows instead of 3 to avoid header/divider clipping in large viewports. -- Refined dense top-left header hierarchy to reduce line noise: - - retained explicit `Fingerprint` and `Path` - - consolidated session/profile/managed state into one line - - kept scope line focused on active filters only - -### Regression updates -- Updated `test_tui2_textual_hires_density_compacts_vertical_chrome` to assert the new dense grid-heading height (`4`). - -### Verification -- Focused TUI v2 gate remains green: - - `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py` - - Result: `56 passed`. - -## Session Update (2026-03-03, Slice 3) - -### Board geometry parity pass -- Added reusable ASCII card renderer for inspector sections (`_board_card`). -- Password and stored-password boards now render framed `Credentials` and `Quick Actions` blocks. -- Note/document boards now render framed `Content` and `Quick Actions` blocks. -- Increased note/document preview length (120 -> 180 chars) for better mockup-like content emphasis. - -### Regression coverage -- Extended note metadata board test to assert card framing. -- Added password board card-section test. - -### Verification -- Focused TUI v2 gate: - - `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py` - - Result: `57 passed`. - -## Session Update (2026-03-03, Slice 4) - -### UI-board density rebalancing -- Added dynamic dense/high-res vertical split: - - idle: `top-work=9fr`, `right=3fr` - - active inspect/edit/2FA: `top-work=8fr`, `right=4fr` -- Added `_refresh_layout_balance()` and invoked it during key state transitions so layout rebalance is state-driven, not resize-driven. - -### Regression coverage -- Added `test_tui2_textual_hires_density_rebalances_idle_vs_selected`. - -### Verification -- Focused TUI v2 gate: - - `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py` - - Result: `58 passed`. - -## Session Update (2026-03-03, Slice 5) - -### Action-strip microcopy polish -- Standardized context action wording to verb-first with key hints across entry kinds. -- Preserved managed account session actions while aligning adjacent wording style. -- Expanded row-2 click parser to recognize verb-led labels so copy changes do not break mouse interactions. - -### Regression coverage -- Updated action-strip context tests to match polished copy. - -### Verification -- Focused TUI v2 gate: - - `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py` - - Result: `58 passed`. - -## Session Update (2026-03-03, Slice 6) - -### Universal card framing -- Extended `_board_card` to TOTP (Parameters), SSH/PGP/Nostr (Keys), and Seed/Managed (Seed Info) boards. -- All 9 board types now use consistent card-section visual language. -- Updated regression tests for SSH/PGP/Nostr, Seed/Managed, and TOTP boards. - -### Verification -- Focused TUI v2 gate: `58 passed`. - -### Next -- Capture fresh state dump/screenshots for updated boards. -- Update strict closeout scoreboard (Password/Stored Password/Note now at card parity; remaining Minor Gap items are density/rhythm only). - -## Session Update (2026-03-03, Slice 7) - -### Board density tightening -- Removed redundant section headers above card frames (saves 2-3 lines per board). -- Removed "Compact: Notes/Tags shown inline." noise from compact mode. -- Capped note preview at 100 chars (was 180) to prevent oversized Content cards. -- Password board now 17 lines (was ~21). All boards similarly tighter. - -### Verification -- Focused TUI v2 gate: `58 passed`. - -## Session Update (2026-03-03, Slice 8) - -### Action strip + hint line tightening -- Normal-mode global row now uses verb-first labels matching context row style. -- Seed/TOTP Actions hints shortened from raw palette commands to user-facing verbs. -- All action hint lines now consistently use human-readable language. - -### Verification -- Focused TUI v2 gate: `58 passed`. - -## Session Update (2026-03-03, Slice 9) - -### Final micro-polish -- `_board_card` now has max_width=72 cap with ellipsis truncation for long rows. -- Nostr action hint capitalized: `QR Private (confirm)`. -- Compact mode global strip verb-first: `Settings (S) Add (A) ...`. -- All three modes (compact/dense/normal) now share consistent verb-first label style. - -### Verification -- Focused TUI v2 gate: `58 passed`. - -## Session Update (2026-03-03, Slice 10) - -### UX bug fixes from interactive walkthrough -- Fixed `open ` rendering broken empty board (now shows "not found" and clears selection). -- Fixed tree nav commands (`profile-tree-next/prev/open`) silently ignoring when focus is on wrong pane (now shows guidance). -- Added 2 regression tests. Gate: `60 passed`. +## Applied Fixes (2026-03-03) +- v3 now includes a local `render_qr_ascii` helper in `tui_v3/app.py`, removing the unresolved symbol failure for QR rendering. +- v3 command processor now supports `session-status` and `unlock `, and lock handling routes through dedicated app actions. +- Added `action_session_status`, `action_lock`, and `action_unlock` in v3 app with graceful service-capability checks. +- Set v3 default `session_locked` state to `False` so primary actions are not blocked at startup in injected-service and preflighted runtime flows. +- Fixed sidebar node selection handling so `managed:` / `agent:` opens the referenced entry instead of incorrectly mutating `active_fingerprint`. +- Fixed v3 widget lookup scope bugs by switching selection/refresh/palette/board updates from app-root `query_one(...)` to `self.screen.query_one(...)` for screen-mounted widgets. +- Added focus-refresh behavior for `EntryDataTable` so runtime-added entries appear immediately when the grid gains focus. +- Added `src/tests/test_tui_v3_smoke.py` covering: + - palette lock/unlock/session-status command path + - profile-tree child node selection semantics (`managed:`, `agent:`) + - grid focus refresh behavior for runtime-added entries +- Re-ran interactive harness after fixes; seed reveal confirmation now works end-to-end in v3 walkthrough output. diff --git a/scripts/interactive_agent_tui_test.py b/scripts/interactive_agent_tui_test.py index 7389f33b..10191ad8 100644 --- a/scripts/interactive_agent_tui_test.py +++ b/scripts/interactive_agent_tui_test.py @@ -1,30 +1,21 @@ #!/usr/bin/env python3 """ -SeedPass TUI v2 Interactive Agent Test Suite -============================================ +SeedPass TUI Interactive Agent Test Suite (v2 and v3 Support) +============================================================= This script provides a "Human-in-the-loop" style automated test for the -SeedPass TUI v2. It bypasses real encryption and filesystem requirements +SeedPass TUI. It bypasses real encryption and filesystem requirements by injecting a MockService layer. Usage: - python scripts/interactive_agent_tui_test.py - -Features Tested: - - Entry Creation (Password, TOTP, Doc, etc.) - - Searching and Filtering - - Document Editing - - Archiving and Restoring - - Entry Linking (Graph) - - Sensitive Data Reveal & QR Codes - - Sub-profile (Managed Account) Sessions - - Nostr Sync & Namespace Management - - Settings & Stats + python scripts/interactive_agent_tui_test.py --version v3 + python scripts/interactive_agent_tui_test.py --version v2 """ import asyncio import sys import os +import argparse from pathlib import Path from types import SimpleNamespace @@ -32,6 +23,7 @@ from types import SimpleNamespace sys.path.insert(0, str(Path(__file__).parent.parent / "src")) from seedpass.tui_v2.app import launch_tui2 +from seedpass.tui_v3 import launch_tui3 class AgentMockService: """ @@ -46,6 +38,7 @@ class AgentMockService: self.is_managed = False self.nostr_index = 0 self.offline = False + self._manager = SimpleNamespace(parent_seed="MOCK_PARENT_SEED") # --- EntryService Interface --- def search_entries(self, query="", kinds=None, include_archived=False, archived_only=False): @@ -118,6 +111,9 @@ class AgentMockService: def stats(self): return {"total_entries": len(self.entries), "archived": len(self.archived)} + def list_profiles(self): + return ["EFBE51E70ED1B53A"] + def sync(self): return SimpleNamespace(manifest_id="agent-mock-manifest") def start_fresh_namespace(self): self.nostr_index += 1 @@ -129,201 +125,120 @@ class AgentMockService: # --- Secret Data --- def get_totp_code(self, entry_id): return "888999" def get_totp_secret(self, entry_id): return "AGENT_MOCK_SECRET" + def get_seed_phrase(self, eid, parent): return "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about" + def get_managed_account_seed(self, eid, parent): return self.get_seed_phrase(eid, parent) def get_clipboard_clear_delay(self): return 10 def copy_to_clipboard(self, val): return True def generate_password(self, length, entry_id): return "MOCK_PASSWORD" -async def run_full_walkthrough(): +async def run_full_walkthrough(v="v3"): service = AgentMockService() holder = {} def _hook(app): holder["app"] = app - app._session_locked = False # Bypass lock + app.session_locked = False # Bypass lock - # Launch app with injected mock services - launch_tui2( + launch_fn = launch_tui3 if v == "v3" else launch_tui2 + + launch_fn( entry_service_factory=lambda: service, vault_service_factory=lambda: service, profile_service_factory=lambda: service, sync_service_factory=lambda: service, nostr_service_factory=lambda: service, + config_service_factory=lambda: service, app_hook=_hook ) app = holder["app"] async with app.run_test() as pilot: - from textual.widgets import Static, Input, ListView + from textual.widgets import Static, Input, ListView, DataTable - print("--- PHASE 1: Entry Management ---") - # Add various types - app._run_palette_command('add-password "Gmail" 20') - app._run_palette_command('add-totp "Bank"') - app._run_palette_command('add-document "Readme" md "Hello World"') - # Add managed/agent for hierarchy + print(f"--- TESTING TUI {v.upper()} ---") + + # 1. Entry Management + print("PHASE 1: Entry Creation & Grid") + service.add_entry("Gmail", 20) + service.add_totp("Bank") service.add_entry("SubUser", 10, kind="managed_account") - service.add_entry("MyAgent", 10, kind="nostr") + service.add_entry("MySeed", 24, kind="seed") await pilot.pause() print(f" [OK] Created {len(service.entries)} entries.") - # Search - app._load_entries(query="bank") - await pilot.pause() - results = app.query_one("#entry-list", ListView).children - print(f" [OK] Search 'bank' found {len(results)} results.") - - # Archive - app._show_entry(1) # Gmail - await pilot.pause() - app.action_toggle_archive() - await pilot.pause() - print(f" [OK] Archive status: {app.query_one('#status').render()}") - - print("\n--- PHASE 2: Advanced Interaction ---") - # Linking - app._run_palette_command("link-add 2 requires 'Auth'") - await pilot.pause() - print(f" [OK] Linked #1 to #2.") - - # Reveal & QR - app._show_entry(2) # Bank TOTP - await pilot.pause() - app.action_reveal_selected() - await pilot.pause() - reveal_text = str(app.query_one("#secret-detail", Static).render()) - print(f" [OK] Secret Reveal: {'REVEALED' in reveal_text}") - - app.action_show_qr() - await pilot.pause() - qr_text = str(app.query_one("#secret-detail", Static).render()) - # The QR code uses '##' for dark cells in the ASCII renderer - print(f" [OK] QR Code Active: {'##' in qr_text}") - if '##' not in qr_text: - print(f" [DEBUG] QR Panel Content:\n{qr_text}") - - print("\n--- PHASE 3: System Operations ---") - # Tree Hierarchy - print(" Testing tree hierarchy...") - # Initial state: current profile expanded (auto-expand logic) - nodes_before = app._profile_tree_visible_nodes() - has_child = any(n.get("kind") in {"managed", "agent"} for n in nodes_before) - print(f" [OK] Child nodes visible initially: {has_child}") - - # Collapse via palette - app._run_palette_command("profile-tree-toggle") - await pilot.pause() - nodes_after = app._profile_tree_visible_nodes() - has_child_after = any(n.get("kind") in {"managed", "agent"} for n in nodes_after) - print(f" [OK] Child nodes hidden after collapse: {not has_child_after}") - - # Expand via palette - app._run_palette_command("profile-tree-toggle") - await pilot.pause() - nodes_final = app._profile_tree_visible_nodes() - has_child_final = any(n.get("kind") in {"managed", "agent"} for n in nodes_final) - print(f" [OK] Child nodes restored after expand: {has_child_final}") - - # Managed Account / Seed Session Loading - print(" Testing sub-profile loading (managed_account and seed)...") - # Load managed_account (#4) - app._run_palette_command("managed-load 4") - await pilot.pause() - print(f" [OK] Sub-profile load (managed_account): {'Loaded managed' in str(app.query_one('#status').render())}") - app._run_palette_command("managed-exit") - await pilot.pause() - - # Load seed (#3 is a document, #5 is an agent. Let's add a real seed) - service.add_entry("ExternalSeed", 24, kind="seed") - app._load_entries("") - await pilot.pause() - # Seed should be #6 - app._run_palette_command("managed-load 6") - await pilot.pause() - print(f" [OK] Sub-profile load (seed): {'Loaded managed' in str(app.query_one('#status').render())}") - app._run_palette_command("managed-exit") - await pilot.pause() - - # Nostr & Sync - app._run_palette_command("nostr-fresh-namespace") - await pilot.pause() - app._run_palette_command("sync-now") - await pilot.pause() - print(f" [OK] Sync status: {app.query_one('#status').render()}") - - print("\n--- PHASE 4: Real User Interaction ---") - # 1. Test Command Palette Input (Instead of direct _run_palette_command) - print(" Testing palette input via ctrl+p...") - # Try both variants just in case of driver differences - await pilot.press('ctrl+p') + # Selection + if v == "v3": + # Real selection via DataTable + table = app.screen.query_one("#entry-data-table", DataTable) + table.focus() + await pilot.press("down") # Select first row + await pilot.press("enter") + else: + app._show_entry(1) await pilot.pause(0.5) - print(f" [OK] Palette open (ctrl+p): {app.palette_open}") - - if not app.palette_open: - print(" Attempting manual action_open_palette()...") - app.action_open_palette() + print(f" [OK] Selected Entry #1 (ID: {app.selected_entry_id}).") + + # 2. Secure Data (Reveal/Confirm) + print("PHASE 2: Secure Data (v/g)") + if v == "v3": + # Jump to MySeed (#4) + app.selected_entry_id = 4 await pilot.pause(0.5) - print(f" [OK] Palette open (manual): {app.palette_open}") - - # Simulate typing - if app.palette_open: - await pilot.press(*list('stats')) - await pilot.press('enter') + # First press + await pilot.press('v') await pilot.pause(0.5) - print(f" [OK] Palette 'stats' processed: {'Inspector' in str(app.query_one('#inspector-heading').render())}") + board_text = str(app.screen.query_one("#board-container").children[0].render()) + print(f" [DEBUG] Board text after first 'v': {board_text[:100]}...") + print(f" [OK] Seed Confirmation shown: {'CONFIRMATION' in board_text}") + # Second press + await pilot.press('v') + await pilot.pause(0.5) + board_text_revealed = str(app.screen.query_one("#board-container").children[0].render()) + print(f" [DEBUG] Board text after second 'v': {board_text_revealed[:100]}...") + print(f" [OK] Seed Revealed: {'abandon' in board_text_revealed}") + else: + # v2 legacy test path + print(" (Skipping v2 confirmation test in this run)") - # 2. Test Action Strip Clicks - print(" Testing action strip clicks via direct event trigger...") - # Focus something else - app.query_one("#entry-list", ListView).focus() - app.help_open = False - app._set_palette_visible(False) - await pilot.pause() - - # Trigger on_click directly to test our logic - # Mock an event-like object with widget.id and coordinates - class MockEvent: - def __init__(self, widget_id, x, y): - self.widget = SimpleNamespace(id=widget_id) - self.x = x - self.y = y - - # Click 'Settings (S)' at x=5, y=1 - app.on_click(MockEvent("action-strip", 5, 1)) - await pilot.pause(1.0) - - # Check if SettingsScreen was pushed - print(f" [OK] SettingsScreen pushed via click: {app.screen.__class__.__name__.endswith('SettingsScreen')}") - # Return to main - await pilot.press('escape') - await pilot.pause(1.0) + # 3. Full-screen UX (V3 only) + if v == "v3": + print("PHASE 3: Full-screen screens") + await pilot.press('shift+s') + await pilot.pause(0.5) + print(f" [OK] Settings Screen: {app.screen.__class__.__name__.endswith('SettingsScreen')}") + await pilot.press('escape') + await pilot.pause(0.5) + + app.selected_entry_id = 1 + await pilot.pause(0.5) + await pilot.press('z') + await pilot.pause(0.5) + print(f" [DEBUG] Screen after 'z': {app.screen.__class__.__name__}") + print(f" [OK] Maximize Screen: {app.screen.__class__.__name__.endswith('MaximizedInspectorScreen')}") + await pilot.press('escape') + await pilot.pause(0.5) - print("\n--- PHASE 5: Full-screen UX ---") - # 1. Settings Screen - print(" Testing full-screen settings via shift+s...") - await pilot.press('shift+s') - await pilot.pause(1.0) - print(f" [OK] SettingsScreen pushed: {app.screen.__class__.__name__.endswith('SettingsScreen')}") - await pilot.press('escape') - await pilot.pause(1.0) - # Main app class name check - print(f" [DEBUG] Current screen class: {app.screen.__class__.__name__}") - print(f" [OK] Returned to main vault: {app.screen.__class__.__name__.endswith('SeedPassTuiV2') or 'Screen' in app.screen.__class__.__name__}") + # 4. Action Logic (Archive/Copy) + print("PHASE 4: Action Logic") + if v == "v3": + app.selected_entry_id = 1 + await pilot.pause(0.5) + await pilot.press('a') + await pilot.pause(0.5) + print(f" [DEBUG] Entry 1 archived in service: {1 in service.archived}") + print(f" [OK] Archive: {1 in service.archived}") + await pilot.press('c') + await pilot.pause(0.5) + print(f" [OK] Copy action triggered.") - # 2. Maximize Inspector - print(" Testing maximized inspector via z...") - app._show_entry(1) - await pilot.pause() - await pilot.press('z') - await pilot.pause(1.0) - print(f" [OK] InspectorScreen pushed: {app.screen.__class__.__name__.endswith('InspectorScreen')}") - await pilot.press('escape') - await pilot.pause(1.0) - print(f" [OK] Returned to main vault: {app.screen.__class__.__name__.endswith('SeedPassTuiV2') or 'Screen' in app.screen.__class__.__name__}") - - print("\n--- WALKTHROUGH COMPLETE ---") + print(f"\n--- TUI {v.upper()} WALKTHROUGH COMPLETE ---") return 0 if __name__ == "__main__": - asyncio.run(run_full_walkthrough()) + parser = argparse.ArgumentParser() + parser.add_argument("--version", choices=["v2", "v3"], default="v3") + args = parser.parse_args() + + asyncio.run(run_full_walkthrough(v=args.version)) diff --git a/src/seedpass/tui_v3/app.py b/src/seedpass/tui_v3/app.py index 2c698f34..1d8d031a 100644 --- a/src/seedpass/tui_v3/app.py +++ b/src/seedpass/tui_v3/app.py @@ -18,6 +18,21 @@ from .widgets.action_bar import ActionBar from .screens.settings import SettingsScreen from .screens.inspector import MaximizedInspectorScreen + +def render_qr_ascii(data: str) -> str: + """Render ``data`` as an ASCII QR code.""" + import qrcode + + qr = qrcode.QRCode(border=1) + qr.add_data(data) + qr.make(fit=True) + matrix = qr.get_matrix() + lines: list[str] = [] + for row in matrix: + lines.append("".join("##" if cell else " " for cell in row)) + return "\n".join(lines) + + class CommandProcessor: """Handles logic for palette commands in TUI v3.""" def __init__(self, app: SeedPassTuiV3): @@ -36,18 +51,24 @@ class CommandProcessor: args = parts[1:] if cmd == "help": - self.app.notify("v3 commands: stats, lock, refresh, settings, maximize") + self.app.notify( + "v3 commands: help, stats, session-status, lock, unlock , refresh, search , open , settings, maximize, copy, archive, restore" + ) elif cmd == "stats": self.app.notify("Calculating stats...") # We reuse the existing stats logic if "vault" in self.app.services: stats = self.app.services["vault"].stats() self.app.notify(f"Total entries: {stats.get('total_entries', 0)}") + elif cmd == "session-status": + self.app.action_session_status() elif cmd == "lock": - if "vault" in self.app.services: - self.app.services["vault"].lock() - self.app.session_locked = True - self.app.notify("Vault locked") + self.app.action_lock() + elif cmd == "unlock": + if len(args) != 1: + self.app.notify("Usage: unlock ", severity="warning") + return + self.app.action_unlock(args[0]) elif cmd == "refresh": self.app.action_refresh() elif cmd == "search": @@ -139,7 +160,7 @@ class SeedPassTuiV3(App[None]): # Shared Reactive State active_fingerprint = reactive("") selected_entry_id = reactive[int | None](None) - session_locked = reactive(True) + session_locked = reactive(False) # Internal state for sensitive actions _pending_sensitive_confirm: tuple[str, int, float] | None = None @@ -194,10 +215,18 @@ class SeedPassTuiV3(App[None]): def action_refresh_ui_quiet(self) -> None: """Background refresh for dynamic elements (2FA).""" try: - # We only refresh the inspector if it's currently showing a 2FA board - board = self.query_one("#board-container") + board = self.screen.query_one("#board-container") if board and hasattr(board, "children") and board.children: current_board = board.children[0] + # Ensure selection/inspector stay synchronized if a selection is set + # but the board is still idle after screen transitions. + if ( + self.selected_entry_id is not None + and current_board.__class__.__name__ == "IdleBoard" + ): + board.update_entry(self.selected_entry_id) + return + # Refresh dynamic TOTP countdown only for the active TOTP board. if current_board.__class__.__name__ == "TotpBoard": current_board.refresh() except Exception: @@ -209,28 +238,28 @@ class SeedPassTuiV3(App[None]): return # Notify sidebar and grid to refresh try: - self.query_one("#profile-tree")._refresh_tree() - self.query_one("#entry-data-table")._refresh_data() + self.screen.query_one("#profile-tree")._refresh_tree() + self.screen.query_one("#entry-data-table")._refresh_data() except Exception: pass def watch_selected_entry_id(self, old_id: int | None, new_id: int | None) -> None: """Update inspectors when an entry is selected.""" try: - self.query_one("#board-container").update_entry(new_id) + self.screen.query_one("#board-container").update_entry(new_id) except Exception: pass def action_refresh(self) -> None: """Force a global UI refresh.""" - self.query_one("#profile-tree")._refresh_tree() - self.query_one("#entry-data-table")._refresh_data() + self.screen.query_one("#profile-tree")._refresh_tree() + self.screen.query_one("#entry-data-table")._refresh_data() self.notify("UI Refreshed") def action_search(self, query: str) -> None: """Search entries and update grid.""" try: - self.query_one("#entry-data-table")._refresh_data(query) + self.screen.query_one("#entry-data-table")._refresh_data(query) self.notify(f"Search results for: {query}") except Exception: pass @@ -238,7 +267,7 @@ class SeedPassTuiV3(App[None]): def action_open_palette(self) -> None: """Toggle the command palette.""" try: - self.query_one("#palette").toggle() + self.screen.query_one("#palette").toggle() except Exception: pass @@ -253,6 +282,50 @@ class SeedPassTuiV3(App[None]): return self.push_screen(MaximizedInspectorScreen()) + def action_session_status(self) -> None: + """Display vault lock status.""" + state = "locked" if self.session_locked else "unlocked" + self.notify(f"Session status: {state}") + + def action_lock(self) -> None: + """Lock the vault if service support is available.""" + vault = self.services.get("vault") + if vault is None: + self.notify("Vault service unavailable", severity="error") + return + locker = getattr(vault, "lock", None) + if not callable(locker): + self.notify("Vault service does not support lock", severity="error") + return + try: + locker() + self.session_locked = True + self.notify("Vault locked") + except Exception as e: + self.notify(f"Lock failed: {e}", severity="error") + + def action_unlock(self, password: str) -> None: + """Unlock the vault with a password.""" + vault = self.services.get("vault") + if vault is None: + self.notify("Vault service unavailable", severity="error") + return + unlocker = getattr(vault, "unlock", None) + if not callable(unlocker): + self.notify("Vault service does not support unlock", severity="error") + return + try: + try: + from seedpass.core.api import UnlockRequest + + unlocker(UnlockRequest(password=password)) + except Exception: + unlocker(password) + self.session_locked = False + self.notify("Vault unlocked") + except Exception as e: + self.notify(f"Unlock failed: {e}", severity="error") + def action_reveal_selected(self, confirm: bool = False) -> None: """Handle reveal shortcut (v).""" if self.session_locked: @@ -410,7 +483,7 @@ class SeedPassTuiV3(App[None]): # 2. Update standard inspector board try: - board_cont = self.query_one("#board-container") + board_cont = self.screen.query_one("#board-container") if board_cont.children: board = board_cont.children[0] if hasattr(board, "reveal_data"): diff --git a/src/seedpass/tui_v3/widgets/grid.py b/src/seedpass/tui_v3/widgets/grid.py index f5e9ac86..11f2d506 100644 --- a/src/seedpass/tui_v3/widgets/grid.py +++ b/src/seedpass/tui_v3/widgets/grid.py @@ -39,6 +39,13 @@ class EntryDataTable(DataTable): ) self._refresh_data() + def on_focus(self) -> None: + """Refresh table when focused so newly added entries appear immediately.""" + try: + self._refresh_data() + except Exception: + pass + def _refresh_data(self, query: str = "") -> None: self.clear() app = self.app diff --git a/src/seedpass/tui_v3/widgets/sidebar.py b/src/seedpass/tui_v3/widgets/sidebar.py index bd380f65..778c1b45 100644 --- a/src/seedpass/tui_v3/widgets/sidebar.py +++ b/src/seedpass/tui_v3/widgets/sidebar.py @@ -54,10 +54,23 @@ class ProfileTree(Tree): def on_tree_node_selected(self, event: Tree.NodeSelected) -> None: """Handle profile selection.""" - fp = event.node.data - if fp and isinstance(fp, str): - self.app.active_fingerprint = fp - self.app.notify(f"Switched to profile: {fp[:8]}") + value = event.node.data + if not value or not isinstance(value, str): + return + + if value.startswith("managed:") or value.startswith("agent:"): + _, raw_id = value.split(":", 1) + try: + entry_id = int(raw_id) + except ValueError: + self.app.notify("Invalid tree entry target", severity="error") + return + self.app.selected_entry_id = entry_id + self.app.notify(f"Opened Entry #{entry_id} from profile tree") + return + + self.app.active_fingerprint = value + self.app.notify(f"Switched to profile: {value[:8]}") class SidebarContainer(Static): """Container for the sidebar tree and toggle.""" diff --git a/src/tests/test_tui_v3_smoke.py b/src/tests/test_tui_v3_smoke.py new file mode 100644 index 00000000..826762fa --- /dev/null +++ b/src/tests/test_tui_v3_smoke.py @@ -0,0 +1,167 @@ +from __future__ import annotations + +from types import SimpleNamespace + +import pytest + +pytest.importorskip("textual") +from textual.widgets import DataTable + +from seedpass.tui_v3 import launch_tui3 + + +class V3EntryService: + def __init__(self) -> None: + self._entries: dict[int, dict] = { + 1: {"id": 1, "kind": "password", "label": "Email", "length": 16}, + 2: {"id": 2, "kind": "managed_account", "label": "Managed Ops"}, + 3: {"id": 3, "kind": "nostr", "label": "Agent Nostr"}, + } + self.copied: list[str] = [] + + def search_entries( + self, + query: str, + kinds: list[str] | None = None, + *, + include_archived: bool = False, + archived_only: bool = False, + ): + _ = (include_archived, archived_only) + q = (query or "").strip().lower() + rows = [] + for entry_id in sorted(self._entries.keys()): + entry = self._entries[entry_id] + kind = str(entry.get("kind", "password")) + if kinds and kind not in kinds: + continue + label = str(entry.get("label", "")) + if q and q not in label.lower(): + continue + rows.append( + ( + entry_id, + label, + entry.get("username"), + entry.get("url"), + bool(entry.get("archived", False)), + SimpleNamespace(value=kind), + ) + ) + return rows + + def retrieve_entry(self, entry_id: int): + return dict(self._entries.get(int(entry_id), {})) + + def generate_password(self, length: int, entry_id: int) -> str: + return f"pw-{entry_id}-{length}" + + def archive_entry(self, entry_id: int) -> None: + self._entries[int(entry_id)]["archived"] = True + + def restore_entry(self, entry_id: int) -> None: + self._entries[int(entry_id)]["archived"] = False + + def copy_to_clipboard(self, value: str) -> bool: + self.copied.append(value) + return True + + +class V3ProfileService: + def list_profiles(self) -> list[str]: + return ["EFBE51E70ED1B53A"] + + +class V3VaultService: + def __init__(self) -> None: + self.locked = False + self.last_unlock_password: str | None = None + self._manager = SimpleNamespace(parent_seed="PARENT_SEED") + + def lock(self) -> None: + self.locked = True + + def unlock(self, request) -> SimpleNamespace: + if hasattr(request, "password"): + self.last_unlock_password = str(request.password) + else: + self.last_unlock_password = str(request) + self.locked = False + return SimpleNamespace(status="ok", duration=0.01) + + def stats(self) -> dict[str, int]: + return {"total_entries": 3} + + +def _build_app() -> tuple[object, V3EntryService, V3VaultService]: + holder: dict[str, object] = {} + entry = V3EntryService() + vault = V3VaultService() + profile = V3ProfileService() + + def _hook(app): + holder["app"] = app + + launched = launch_tui3( + fingerprint="EFBE51E70ED1B53A", + entry_service_factory=lambda: entry, + profile_service_factory=lambda: profile, + vault_service_factory=lambda: vault, + app_hook=_hook, + ) + assert launched is True + app = holder.get("app") + assert app is not None + return app, entry, vault + + +@pytest.mark.anyio +async def test_tui3_palette_lock_unlock_and_session_status() -> None: + app, _entry, vault = _build_app() + async with app.run_test() as pilot: + await pilot.pause() + assert app.session_locked is False + app.processor.execute("session-status") + app.processor.execute("lock") + await pilot.pause() + assert app.session_locked is True + assert vault.locked is True + app.processor.execute("unlock hunter2") + await pilot.pause() + assert app.session_locked is False + assert vault.locked is False + assert vault.last_unlock_password == "hunter2" + + +@pytest.mark.anyio +async def test_tui3_sidebar_child_nodes_open_entries() -> None: + app, _entry, _vault = _build_app() + async with app.run_test() as pilot: + await pilot.pause() + tree = app.screen.query_one("#profile-tree") + tree.on_tree_node_selected(SimpleNamespace(node=SimpleNamespace(data="managed:2"))) + await pilot.pause() + assert app.selected_entry_id == 2 + assert app.active_fingerprint == "EFBE51E70ED1B53A" + tree.on_tree_node_selected(SimpleNamespace(node=SimpleNamespace(data="agent:3"))) + await pilot.pause() + assert app.selected_entry_id == 3 + + +@pytest.mark.anyio +async def test_tui3_grid_focus_refresh_enables_selection_after_runtime_add() -> None: + app, entry, _vault = _build_app() + async with app.run_test() as pilot: + await pilot.pause() + entry._entries[4] = { + "id": 4, + "kind": "password", + "label": "Runtime Added", + "length": 18, + } + table = app.screen.query_one("#entry-data-table", DataTable) + table.focus() + await pilot.pause() + table._refresh_data() + await pilot.pause() + assert table.row_count >= 4

Eb|3_+IQ3i<7X%9%g<5bJ1YbhG3$7yRap0cUs{lTv#yf{64i7 zcg6IO3IT6cXrW{4%|sa`e+@s{i-oVY`ZAKh zI7s2HSH@RG&AuF#9}kX?#T2T~-ai+%JXh*fILyuDQT*OPx2n~w*C9QoCSJ65H}_#z z<_bn2zZzd#K3`jn&ozP!BH;oO%OiaL3y zyRx_`Q#v==NDqoik!3U+q0Tsos;{OTp6JRhd+OwIArzQE+BvEQh&vWOQ@~^j@@|4} z9BuFmA!_0Kn&~Eg-w(?7^aYG+^@5XbI#wKOQZo^F2A44Dqm)r zs-CL#_MQbgyLFD*yqXB1;w0RU%tBSDy3~445d?ST=D4pzIe32@N`xmxAD-f~m+5@v ziz%$-v6+c=iPWju{B4t8L^7>)e=1n0wx6jqb*V`rU6$-OsL|79vwV@^5VqCm5XUeh zK;Ib`ONAJc{1_NR>b>Rto!3i?C(*KMrs*sNshP#CvwIvAS%@G#s`orxC~!BnfkUR6 z3sXJR$>jZwE3(nFfZT?~hskQ^qr>yu9t&B0Xgsc4SHzch$O_+%?DO0fm}F$gjVLf_ z3k(BQfxBG{F2jXNUt$Y$5Wqy=I!26jinO^DxOZX&AJ>P=>D9dEfdzGaBOnD~0{tStKc{DOqhznvWZX(p zF(ltze$Mx~m>4&DscCBeV#X)q^RVk8wTeO#$l0-Xf(u=JeGujbK%CmTGa6+kWBMcD~byvk8-~|Jr_xe35Tm zSU38bE@0%o5ZRoeJ`ET%6f!}rBhNmSv-+>5g8`!V7(zc6ClfQ$7jtX6yx+KD=;rPyY(?q0jjOSJxWbB2n_`#%ZMitt)#bQjrLi!LVBnTPiCg^-TA=)Al zt4)H1L2mEqF_R*RJc`HMUP*K)_2wGZb9Y*3WuU1NDs$g%poGq9Q%JCn`!8zqR^PZompJcXw z*yVRmvgF0TSvdchfVN2YlfFPck!!}-bNgI;6EE>mn8^l{KhIO60v%w)mz<^WZH@Pbp_zfRG$; z>q<7$pW-unqRITj+f-zzDp0s_tX(*ju(2Lcwsp9DjhY<#Plp1Bu)i(pNZKJ+52nUk z_#i?Ql=#2eTW?UQ=A`AGsu|fyO&kh%!N{80N?!k+`UGZqyTtzn+|lp|A5b@4@QEzK zNc9D`^8%z=IfYTej}3Go^o*fJW~R3vbdiM~lcF1bxupI=dMWi88~ZkEX8JA1+oRN5 zLSupfLo|qjTwtQ~ZclF-H?uRQP))-k-f>1a+@@c&E>VHpa|ah#{MUoQEGuxZ7*AjI z!7|1jRHd4^lu#cq4FoOn=^Rq(l7mk0r&=sE5|9B@u~jb=vp627(cbFqfcv3tPdD(7 zw}&*Rjg1+6ff@3|`W=3#%$fO{RN}z7`21Kqedb}@je**+E+@_?I>$$V2s7|Kss7tt z8+|Nrm(|PUm{EmeSaFzIg)O5#`d1`aoY!rIriy{`IPkVeaDZ$#-D_U2-9l#@*NRid z$lzF9*ZQoRjn)`ed9N&+t5l-ZS@;TjXyEoL?O$(Bek1s(NWIs6;#V^85m>Z!VB_QQ zyT7%@5~Em^f%{l^xOcUra+O|2ic36Ejpf_X=`ty2JfXN{wE1fs^&{FimjX{(A-S7X z-C7gtGT{{YATIuwL<*=}r&HxjbEIcZR>_dIeHL7n-&F92E_kaz`G5`ZJZ^cwhuBN! z>Y}#zpJ3ZVcsaBkEEV~KjxfyB|HdY;EXim|+1!@>6i@$;UB{yIArMdgWnndohUZC{ za6t*WySQCP9$a&C6(t{}=>s{_a9;Nef*aH1Ljs)TZ9W39#*ytXcmQVa)+s%4drI(i zN2@ibdhGGO5(Q(9jqf5RatmEt#6TgK9KiCNgs1Vif0YjcFvu~%gGn?556(zHc}K7G zTA$MV-ql;K_LW|td9@xd8L>Y)!v#`aS#ooaC8o0YP1!sO= z60lt8h#uVttH4@ww6cuU#&DE>h=={Gm7~r-+&{i8CO>QkU@r$mhSFu5Rn>6Vu+!HVd#*d8w4bW8fs{fPU(j4_Nm{u_xrwk|F!)K z59S!|y6$V8Yprvgfrv0#vqyouHfma(LJa|K&7GF!FX;4O9XdQ>@i6p*h~G2Xevcz# zx}ome=l7>g1xXR)yPTOuopVw7AG>GLrihhJTxsLXj@wrk&(+$`)X>~d>-3-h6HtiM zw#}|$xrbV=Okw9JteBay<7>vWa>qY3NI`4@?ZLjX6*I;HLA^?P({D9QrAD(|5*V#& zv49bDVw*Re+W1W=U?oVVnP#_*h$2HW9>WQY1L&8x7DZcb+ZV99#YZ&FC&J6+7tNs;;S++LE)8awb{kq5o z%||>Ej4~Dp&Yl-rREEXw&va$Tnfoc$@TZWO69IoDyWRTsIx!XsW`f-PJykR~l^p2I zF#W!C98_=7C9haTsL+>toLVE zJRdi9immVjvS&U2_%N4NBbOtdsFEm4c87Iyo$3TnyAT^!m)G&dQ$pl#dirqqqQ(AW zvXqlzF2850IQYYW8Sv*B@t$>-Jos*-p_|ZiinP=DKC-oR^BdLu8Y($0^-$~#X5;rD zF7-7@xJ=H=KjnONueD)?<~f;@_x=ph=wFXURXEbuz3M*&*Ktp7?}J?ZxV*z}V+_ia zBR9zJA@{Y)ojQs zQm~-i3)r%%QoIU)sc&SyB}0~OlD`F(xfHFQI+{S9P2d;!@=x{G zmiyTx`IM43Kjt$-!C0o;*I%~49}9pK1e1!wP+=J&;Y~IMh1|w)%RD&OpKU{4SXjR|S!*C6JN&pSji!|y>iYjhK%%n$iGQ4A`FCFPYdQ^*F%7z(4@b0qPsHvB zw_mhQadbVeDqb!)csfIM-}9}Tg+)O$z0?q&sRH4dtNr0DrZu&v(<`IL(?_oqG_piQ z5wkQnZ=hV$Ed%ggXBm%X^fJbO?)zy6MIzOU!OBe|v2(-337e9! zrPM!&nZt)QkB~g43TNuUoke5u>)Hqz(w;=@W@YnS0j8Jyz`w>{eOF;IM=U44!7w^0 z|6CjTCr+GKhE2*&tYA7B7M)qY%3k1Mx|qgG_s>hfz_bWB17W2>A?ZX;%Efadn4TZt zO11gzO6BSr;74XN?yuGC_EHK_{VnJ(eX3~m zJ?g%3dz4@^QxS*xLRe8zS8TTG0Bn6v#8Q|_G5eM?D=-H9ZQL+(>tp=jORJacd8q>{ zU)o*Fj64};BHpSw{%U#U)&a8RDftksf^zgr&iGgToK7e*;kW$uj;;7>)4O_WT7MM= zy^$v&y$a(F74hgh_#KnAJ^fyuThFYl9KE4%1Y$wwmKh6Z!0<7MS%Q&u?f!~^nI7Fg z!aiwa8R&hFPOz2K*~^01mVF6V7AB2>ZPpx-YNOBUQmK00#+Ns4tl9f)Y@~7U zW5u~hWdAO_S3o;Fd?T(e>N|I`+EpQS*t^32Y$Ma8>fXCZC%$#StPxl{yEpwA!jZh| zdQSJy_XS{gpiZn)i{ivH9z4yOeFJIH-W*gt#XK|HRTP!ep7i6OB64FM+lD44cJf@nF z@z`i+(It9Tia*|ya)axU1Jr2qzUkr@g~aetKFuPz;~t?)zj`=D7h2%7a2F?1FvyYE zw!I%bxZzN1A+Hi~{wDOFM!I*^>b`1TyyTIJQV3y~1>mdt@Tm>xo@-%C2m<1-S0(ag z)=b8z_weY%_K^=4cDpTnobo+%6*`S{geEQ{pP82Y0s^D4UwoIbE({dmJelvF4V#XX znA|>VpFWtd=1+Vg_wIGGW*#%@GgJnZw}uZ`fxflAnt1#SCd=d0nwfl${%NLF!tWO8 zWYN@=%UPrx&&C}*kZ*-%;0qIkuVmp%=^S8EqOnV!=)|QVi!Bk*<*YAT2eIG~s_6mNYO>?mvq6jqTrYDr~$~ zKbOarFRnXhuiFKp*w311OjAm%j>J>g;cemA-kb{D`$F<%^v)+diwE+2LvJ3-#|M1CBm9=QKS7q* zE!t2Wp4)HcCRjM>qG_+RN2BJ7WsoglsXw{=a{X3|mYqE&{^aM`{${@a%O;P_f)gWG z*Tek*asRDW>1gW9Uu{G*ZV^h;yiPnCQ$;I>`>&-D0`-A06b0+qrI&b*M9i8o<^K#- z;;JT^gHiYH-VV_x$UdgO@57wToFMz!p2xf~o1Ql)>$$M))VTpJ&P}&wQ`x^(bPK_Q zhy_NUa@Uap_1;5tw?pC3X9Qwfsr)(s5B#@9(QX;tx?0+N#e!zy788}Hr*8)v97nsI zNk0cn8=<>858EdvVWP`x|CoWFx&7O<)lS&@m*kD}Vd8hY@t^-5fd1he zag6?L{d%?eZ)$lc)xTqV%KkNS{6GKFerQE%`^kYS3?@wuy>5G1}>@p-K7{2 zDB=Ex3jj{>&&z^(*xreS>GAI&m7k|TdIF3IMT+~o?v;Ah*{C*QIV>=st6vT)7K?x1 zNE|UOnrBa7hYMqF*w4AgH|AXX{BmciFW%LWK$T`ESgiWLOxe_D76j`(00yWD3WgVq zz7!(&GLH^&+ZfQV%3@%h($@TYH)@gImaKe2F!Q>QJywQ48M5L8D~|W88Lxr4!J+BB z>sP;4e?dpPV~c?1kiQpkXfe?kY}TC(<09EjNf2yS)0oU|R&O?-+ccU-iA>M*S3AcH zZf{>2Yy4f5J}`DSj8K}ZoPL%|AtUAF%bam1BbiCa@vS9zl|G`bUzxH%w);$IZ}Tvd}*xb@1JXlrpmLzPMWdP zVFMLZF0eXfsM_aSGzY0`Pz(%>))CrtJ*(OXp=CgaU8t5_9Dg4F`^?|B=-vU3ny}=5 zD&Yk=Hx#XE8asR)=V?=AxgTiB!Lorh0#{CXG3ckv7ozJ%_ zP-VALFT|30TCD1q@H==#`l>v%=1`UGPHA}6(M5*oIT(O`Ef;smo{99CeIl2ora9`$ z?jkbNulbH88PRle-t3Vzsv)+fL0pU~TH_I`hM4}#V;3JO?7?ok1X7vyd1R^9uFD$m z^Ic0*wlogZ;uPd@Si8r|rprU+?sDs#Sk5t72K}s9&c;H>GSKc3zvW|wR^99H%3qXK z-D6-mbprn9gY>z{JJHX{uGih1{~eRq$;62yT9U*=px`~@R>Ei+SMV%r+s9xx|4E7& zE5FOp)3`_%<)hnUr@WE_C{f{zvC;IcFq4roIT@I11i;#QpZb^ibh8xo0!< zPhgd*BFw^DG2T_*TAph8F?z8luz%ASpq%W0SUQ9F$q8?_#cZ*QE3-ThWF->wK5)78YEQ&5I|$De2Y2<8(2NoS7GU;vsz zw0qpd$`?9VPYy`3dss6*5FU{vk zs(WE{I?0LQ6H&It-tmGw6x#+F=Sf6v7s}(-0!^;_ugbJ;z!oeas-JMfd(esxk7M_R z1Km%I{`J{`{zoGB%)cbk2F@_N^`GKJvNXdX_+Ux*K`SEN0ar@_^X@0Wt~erk4U=IEsGsy>NZaFggJ)IZBI33BLFrXx_?mdW(@!mbHd&nBW@KeE#j zl#xPIA)~f};f5BNrwLgK+rgxDIa_m(jlOr#W&hZvxeLu+7Y5Nd<)!M z?QgVQb-d5H%JUtGE$mnai`8K!#6>8WM<@h{;vvN^nM2|AQMUuj^OGb7Hjjo!oyy?s z;A5%ON&6}go&Mja=OE4Ccd^^a*>tjiEjKTZzB<4t4rGWoTO}VJhC3>0P+$Gn-FfWq zeHL-5{2{s>zW4Tg^Pp7m`mkdSOV`=iIsVdr`NOYZ(-i^Xq@s(+?!-S&DKuzpQ8u8u ztLR|QJetPW>EeIJ3CD%3{|sN5zVUzA0sB#{t342j*hh~(M1yIcUuim&>KSPg{?%;W zE@KpXla2Tmy?Q^X{_jt&t-XgtFyPQc?!Lb$pVw<_M^XO85{AZ=y}gm$q5Nrg4ZF~* z8H0mU6KB#`bC}39H&PBi@O#ni!jU*;a<^qzl`f^1eDimlS4|tRyH9&Uc(iBy_AZa- zR3j!b3|YOJs?KMQ=WNMhX6wl{PbL#*#?YE~NDozPt&dta#a+KQdpRlgjlLeTHStb}t}AAK z%;Y+=^G3nMuO}mpswa=ChmP0c?5nMV;(LB~@hrCi8|gNxoAXkOx%g%Pu{$b(dAuMf zeluiP`jx`6Rmy15LUNlOf+8>9=D9vI=;%jFy@!H@`|(xT`SQ}JoNawc^pU&Pk+c%v zVbW2QSsI?q+X-s+Y^bQ!RNeB+HN3ST)6tVtLcLkd?g#n<=a)KwVYa#0RfK4$yB>LOu*?g+hQKu*^>60{7tbu(;3Dv zd#mi!Rs*(esK^nI|5W!Og-+?rx@MfMbF3?|^ICkSHADzYI+YgVUCZ91C8GbR_bI$4 zYrZ~ebVrBHTg~!wpS@io@@V$;T-r>5DFRgwDVnvZRjg!5IO`n!hl zu|>1)o5`ZGW6GM6Zr*L-c(~pcb*B;nX`90IK!Q%gt=1PGKDh=Vxyc zu^$&G3jVp@#*j3=V`tE3-in zvy7TJbFC&pSoHhUtYWJLBe&XGoHsK?H)WtKPSFyX>i3Q~C;ge%dX~*ND33&Zrw%)A z#kp`WJW}l?Dq*ek9Vb|=8^5(XoD~tH2 zXF0^1{AiiQbppaG6Ei_KU_He`AZ>2O@rAI(XAyd^qLq!qtnHLb_0E_BIkAj*NyQru zvJ%z?X4c86vz5iY(y;6kFaewQkpyBQ4OiHdo}_!10SN5*4W(PW84G39NXrKJ5y;!= zwqb9i?(zo2$J>F`hb!%yOVMJBeT@!Jl8W09mXAc77H5ie#P(DC!dr^(7P%p~p$lyR zONI57sshNUV5RsUQ*BMYM@5+=7WFVW$cAv7t%|y3*kzjX@i!MGvnSu;vv1Pa2^~J*hQsr1IfLz}&_ZnE>O{LTt<(Q-Os2_ORfj6K@ zV+p)iu2j7iC@H^0p{Ik8@A}|gb#?fo58BUrQN$C0F^TA96{@LPA03iJksH^rjV{9n zH-|QZjGl&-0^QUlz;eOyxXyaqP_FG|XkE{f#wXUW8e1R1<#HQ+v|0pP2 z9q>5FgF?NCG0V4ipcAtf`&IKz#6NlW`v%Tvcx#%BiWUBk?*hdX6u)ZDB0CJTw01h(-Urf!%EIqlc# zXxTQaf1?KiGT1_aV2oc)@+fJkG(OY2Glu&uY9##HC1yzNhi6r$aC2P`{>lf-s+P~= z1O#J?9KMAe88moo6K}hX@YL8 z$mRLXf^Vb9*CQr;2urQu2Y;-#C}%C|@AC`0=spbYf#!s!U`lo$8_|SPC+K7Eej9X7 z9oOb`Q!~Qm04^ZEjA#Oo2oZ{(FFC(bm#pIX2pKKr>mqpA(XZbO5dLg z2(iOtt*=(Uj;2)k`n8oj=fJsNzmQ>(g;Z|TV@s6Za9C|b@{yaWavx-;$NOTcDsr`NgJ!#BK#%ZC*uQGKuY_ePz-F#Ti!ZS`_kUFkvbyWYic0Q*;g`(&cs z!DD-sUW02OR17=uFbcD!I2j<1>WY|X!T8OMqn04upH1y!qt1quv6Em;=MY@Su;=lk zs!d6;zK)=zlKnd6IcHyn3~u_|ty_Ncw;>$JPyGg7^mmK&2Kvhdx{N=i{8WGM1VSrbtY0KI_FGl(K394YbLU}*7wkotm%#`{HYv$RLaD0E#rzYqW zyXbc8HhJV5u_a+YF+sGcoUfW1#YXN`h23x&`2JRP_|RUUd(fR@bpj2DJAwZ zdNQ&~hhsz_oOZ{hSP$d4Ro&I5$@&i$U`KkDH@d3Edf4n!`sOD`)s$!@JlR*`*)YAJ zW*%v*(hbupB5gXa-i4XFjYD06kjgAlf;&Ps0wS1VAs0L}7^U2AzfIbargUx~&Nc!) ztuTY$;XUZH0&(BeU&v%jtnf)rBOKwE+nrFFj5wB)Sx`-;;4k3jiwKZTX(`q#;EShJ`vX+u1Y z&;7A@=}Gfkf8VoGPK5z#VKK3$)8VfYBrF8)pvwrKXsYdjP!Tj`#Q? zcGc!J|GVm{V?HhKj2092I~ozE)_>`y=2KQzcXqmx(R?(IkdF2{`GKbu@i%_|FRan8 zt5fxrU$1t53MKwdes>ULqljR9gz^8whb;kHnD{;+@a~72yE;>`z%M^cz_W3}f!-fB z5o>_tp^S78Nx<>p%WCv$_+Rm|<)g3fh`+XHm9PGX?NX-)zQL!$ggvbn83+9>T+EYH zJh|nN$m~_3+LNo|rMzcrJ+k2vtRTn45;Lk=qS}R231+FS5?-zJrsIs?7G|%m)s|(o zv$rob<-G1@0h@Z)fA&#{!OUVeM2?%jeYh2hYgt=BG^35}#cA+|6x7wj#y<`X_5T7Q%uK2BywPn= zBf>^Ze{Oj6GEndSPj-HlnG$n`!a3_h$%iqdJrq-5;~fi!=5i%=*wE6mJC!bs`4he7 z0s&Ljn<-E>DQ(3vt&uIaa>1}+$vH=1shc>{#t@doG4SP_&pvDZ@bcoZ^8W&te>c$o z1(%Cjw)u&`>9&gGqW8h-Un_OHOb?rkJ2@8i(EUTN2P$*6O!4TXCujSh`v}8pu})uj z47Z8-AOVUYCcn=PvQU9Vz}@wdiKrYhQIVwzyxug0P_2AlWr{r54;hIe$@#_p!v~#2hCU zgzJoK5y*>c7UihWJ{1)YRN+0`Dj2p-_A;F09^^kS26sl#Itgn|Omg&IUN#X%tgI=o z!IJ#NzhZwhh-BM7XJGu-{^ z<+^TDfl+blUPzj{_k2OJQ6qe`|LU`c6vd$tq)Li*lHAM7(YV}(D}#VE*R(K&!gF-1 zI*O2pFnZEggTLKyJFB8fvv(tN)KUP1c&3J(ezA(;Q_P3wj}!`vKB-JWA3b~EP1gOw z;W}vSm5xl`;(RZmCO6<3o|@dSDUxY1$;;X@>+af)N+fmlqUu_eEw znkp#$LU4Ea+nb7sH4h)De868bR2^SJum1ffhE@HgrIVRCh)w_@cDpNRzKDR*6|u}G2D2J_x?JZwCkwzu?|7#>Hug z^rqe-c+d!w%p2AX~N zy7P>PS%pXKXb6%dq~*g^-|?hu#W2n2#|iO%mEvHL@R!d_D54l?hX>a+%e&1yJiXRHIgd@^f*HdN zRQZQxuvGW^r;xY%yY}#tD@yLmgSk6sZ@3FN?RBh=shjap-Va`u^Y$on%!!M|P}h=C zOb_ny4yjvUe;gtq$~FlLS#72iRv%-g+y!J$3W>ZfFVh&?$bZf}tUv2Que5gz9a%H* z;p5>Lyax22p~Qjf{pceMnep8gTZqrz@pl@3PT!X%q8i0ys(^MAeQBTxRmvN6+WVEq z-!Lw3KHxMI!`n@dJ6<8xmBc*~0P38A%Ybzi7qj5@m8rtzq2VSK#vmmQ^7pzMJ){|N zHtJ#UwYR7&7HBFPz<4*HL^PIdh{N$Wk7mcs1TqFpArwK-2@!8}aLvL)1p%S5A8RoC zroujsAMz9*03^L0>F;Uy$IcrAcfzCFrLL-kFGEy`ca&em4h6(VV^CK;W|GA(dqqxZZGB9hau zI`WzCP8wD?+-=b*L|`_G}&r3j@Y3$*-a{$k3wFjd0dw+FRSwqiT173g7ow zFWT&*Hw&C(kXg+sIULOiFBX%N27+@}BKu9zZ&@u&-Rz8gs5IRB{WT{LNGQW{Ge zYkdvco_S1ysCihKV!KImwC#Y^!Xh9V93P<-aPmlHfJO*JZNh1Ws~TY=!d%N3h{DC;`i*RA z$`>srm#o0#m3Spa*_b#yNymQs&Yj$*BI&zjKZvv>^<|N{Ylf?!DrX>ZEs?1C@mlq0y8Q3OyDgY`NNlborLCd5!w1-!@~XBl4Uf#S~*GM z45ce_(e?o|J5f%RPK~s#h}#PQQ6lHL)wcG@WIO?C>uNw!cnawjSx;($Gbi#C^ts{t z&^NqziZ*d&u3$XIm8K*@9e(>BJpD8&-DI)%)(j2x;ZrQ|VEu{N%T3t%Eya_V$9c(! zg4OrYjnd+F5FXn++KOHPt^*q!0#Um2Gk(=+WShrDtF+2A?Dq8mFBq(`0wK?BT(h=B zZxPsgZ8OCJ8?Ra1?3croqbx&%$Z3;Itx&BgPqPgRxTHKOuXYGQzIyRU`Or)YKOWT? zvyovY@8)47Bwr`R=G_qKD9Fm4WAeLq+j4+%KCF=9bhTtB;&xy!!FJv7yTwz2Mm<&= zAC*v}VK?`Ab!C8#4YZev!|3;4l6bX!_cKU@1SzwZ-b@#@+NwSu^KEdz$7wlFJlXA} zX+Bv9Hy=nxi=AN<#YO$EE(%P?#yOW`^*v8QI-38D+qrZQVjQfouA#Lgr-sAR!*b=+(Lm*7>_`9Es((=@e z%JO+8XuYyjugqM#Z|2XIjGYepTW{G?b*CkuUv0QVqQFABHhb9^Oc|e_=TBxWoQ4^b zW9U`+2S5Yo6k?cs)XU+>^_OgN+|PISy-@vop@y0_8h;)Ja3uem7(H!>O5lj^J*_BV z9$Jk?=;iL`2s<0SRxpFWoH$^rOD&asuS+o$Gvk`0qjJ9PbcIcs^c8S@nuErUxkQ_I zfYv&5F%4J|KFXWh`tDZPDy^W-r$$LBT4g`~Gbg*CUfYxX3Dp)QA(N!xZ;li?Jqub@ z^uzD6V$tUyxyZV#Ld~W%vxT=j>~RU3T^!y9NeC@`CzZIdP&Pz~sUY)$e0)=EdH{CQG#5 z2~P9d3<-}{6IJPBnt5%0GE^0yIt+{S;%3mCF+*Uhmt0KC_1^Xj-+1$7@eE}~&!l^7 zig-8oBG**<<~wxyQ}T|;$k@!cEqKoh*B}g!52D?g&i4Jr1)-x(>ox~78&#t%R#&G$ zS8&Cgv!uVruUt+#|8yBC26pYKqNT&Zb-t7|rOyR6cEkrkZqIPs!4?E^;>q1>r9PI- z-Kxrj)7StDi2*lUP0@4U&f|<{cD(pduP_!qHD&6kutSg%Qmj-&am@Uu2G1O%aJ~A~ zmK|tM)%#p&^SrROF)*;)E+D78Oq-^~)444-;E_Q2n+{eb`E!M9&V9-kd}v_g4o$7}nlSgiA1ls6yI z9dCvO@K#*(of3Z1<_4v<-YRWwmOP7af4kX7Cz#QT90j0c#hu?!^0(&H&{8hHJK(_O zQe7pxH2v&*`Q4i(rcnRjKqXi2a@C#)LOdG7$CG)maN@rEOrX2bi;J35WOG(Dn}>R$ zckkow6gb`@R#Rg{gAr~Bh>LTME_yNQr6#vS2wQov!lZPs*HX$3OF5A@A9cNaz>M$& zMZ=hq@Gm3rv3s+{@8}V@O!_^h6|LCWmyLC?s_|Ikwu3thej}1GxHt~7zZW}2=1xsh z>KMP2)57eI=BEz3B-!->Hs4RJc|z#8{{FojdxfYh|ITp;icXdHl zFPWsR6U-H9nB2deD69q5v*;LUr|I0jQ#{uH`WitMd_s7~ciikIVS{_7HDRhULt^d3 zMHY6w&1HCSacHT}7OZ^NcZwko4=4eF&9a5+2*UP2UL;;sa&F(~RPuVX?j4^fbNIf~ zH6lVZi?BVwD0?6`^0S(w_8!~$^7F4nrch0^;CWoDCGNP34@2_U!1<3trQFLrgcwtF zjrKBDovCd_;Wo98+Nx#_>soR=MAl*+@t6Uj{<$xEfQWF#+vmuL_H{=WloOaOXe7!4 z3{`f{`n?7qW2nO|_%`8rV9d`DXgVwGzQ4yrw4t~cKqE|Z*22~6TY}n|An zK8Dr+Pa5ZcVYn$hC3;ROLKP)%9z`ndd_+f9C_Ko0mDaX z=~3R_RI+ZKsTS)O12nMds`hB{tCJ2g{g>WHHb+AlerIc^`zspk#x)vivD6Tc95&hU4&v(hUj55r*TK&Lip(D=z#e3MI|1MsMkRok@%p|-!Y#5 zg9omhmYs>)?^GG`_TJl~2t@^j$KmYv=S9Lkxp?h4HB6K|-5R||cu_xsx<~Vutlx4O z_ap=Qz_9F>1bOpID%swC?Fs<@C=``&9MOKy4Xdn#EzSM$VeUyZ5>`3dZd7kpp~3m& z9Y^KnH@v^X^Bt}u9<$QEdC%7H`B5QjZ*_I{Ki-576Pi^WtJ2`HaBY9jJ$cbW89@dn zXNozoQ#ZPdcm|vnQ1*JVjsS9YZ%AE$WzNrkoAWS&WrhJ#fI467wqx+E)*}^j1AIiw zJR&Jnz||5{IOYL-Z{LpG=lri{++H{DT9y@AP4Y8gQ1q-&)I@g`CA(J#3VKowbtzoT z&I{V9!oOJ-ip#HCL_AEcT|aSHDOVdSC>ER~F;u=3xn-Xb`ed)3$^X=>Ja%*iq)-4Z z(_%NZ^Y*^8HI~s#d{r^-EV=gmP01PB-5=Z4R36QE78`@bTL7z9XkY)~h-fY~g^XJ5 zB7_!kjuT@Gz#7}>HadK>gH9=m={CB2T@S{&@GI8@*Z(vhXg9mv!D*4+5W9^)CG^lE zpM5^CSr1<6u*#{rM4RpQyyUN__r5+^(g=}MtjizVqPbY>72j(9;iEMco-((s&MRmi zjQ@<5sl3C81IWVpFXb*{HvG*_66%aGv!JprLr(7$jN3X7oM57@he4t1KxbyyRBbzc57f3GKuL&`Z z0N3VGYt01c^qDJb&FN;F66qo7d23Ux+|S*f{ox*&wc_MuAONNY)mtr=%h->gw!KAi za_}`ppHOd8MdsL>4qEp@DR29He;Cz`^FiZNfb}^%rk4>i?_gX3nJWv;7m-oO@9Pm+wT+^r#xy&Sa%RsD&s=CUl6Hpeq$P@YkzJtk`7>YNx zQXBOvqLlZh=18)xK{JhwRie7@Wz?#w@w?Zw8m_JsFe2hqzeNl++po>zBI1&;$h{-= zS?g^|!iKe$>?u=YuhTJ_->7+j?w(RbqxM*?yVabZ{^RR=U}=5Dj7)&6O|e{YSoy{F zB($y*Fexnd&-&S~)o7T={5B~*;(zFIl!vh)NbTjdi7APP(7qpIqOz43IJ_};G#Vh! z5&$xfy>&+On$+W7g^O6RP-Cm~1Hi|TjG}ZU5Eox>NPy~jz7(e;bgG0rH@1Mx!)MeH z=4a-;y;^n8667{yr0{hL=d9fNdQ~sahTWx2T9=f?Z0Xe;-&F-~nOS>yereuLdU<|% z*h8lA#z)dN@uR|&4B0))GMD-LAhcQZtHY*u2XbYqeK`bWFue4Yq((RI*bvtI^=);( zNd>XmQ+kTaxec04KJ@;;5u9D~0zNTW97@CJ=DpITAYWCSP0PW#MR~tr?J)}J^gIRX zMl-M}NU@ci)0OpAnHj8Yyb71(O|5@=>|$+0MR1tqp(~?#ak5&eb-7PNV-(Fn;*>vf za4Q_OTHH@Lu12T97DmQUWvoQDaCb)C+@q;iUr7m4S63fXMd(g$_UlYGKQu!H&$lcQ z-7vNKZaDJjfqxV9#&+!BQ%$YsDWm88o3F)01bIxV1sgoLzJ}zaaGGGc(K5H>#?{yqFFx{*0C|r;)wm%kDIMANgp&jyRh48L5%c?U8maH0EqjHW(d}zX zZn`vEI~AMbehfDiO3Un7P+4RJ$VFDEbpEd&wM0@>H`j;=H3zce0!Axy`~_V?(74jD zC6f|mg+`Rcs*8Kmra~;nXwc`iKchNoD=b@6z~aT%tLsZrdr0;U<(Vf^ z+#>vYxv_uNc2YWWtfPDOU3n(#+RUttV*w{-vZU4&OK^LAz3w*M9Ds{ItPotS@}j** z1T$e|jop`_rhbnW_s2$*Oxl^HwUtKqjf)LhS1%53ZC!Q~Cu-fxm*CIEyBv$rEF$|@ zJ|iu!A+YW_`t&G;N`HVPoFXL=6cEc2E`g>xg6FVGi$CMTR2}s## zcd2az)C=0SGv4xxkB9p@vW-W`iRl;jUI7!`%ECtk3uSWWtX-va-|!YmJzdh|@^Y1` zjUqGSmybcdL#ta$p|=F!lKPPxuO{?d%HAY5X?qWnBsRn)OEjT06ORZP$-c}fE45HP z*23l0?p-`6vDFnTpjVL*{<@hwx0}h-q`nmYyhK7sN9{Jwyw@?u6Ov}6D|SOu?@3qA z5((<5B!vg&h)Am{emwBU(AAJj#Ng{@&@~iyAnKz6L*LEe!q&XE;0}g~UK3S7`_M9Q zE!vOgJxE=x+RU}{pkAMn>>bGAG4HmB4`;MzAcGy+a3dzS8UtmB-~o3G0My=5B(@HH z^InDo--}DcN?ywXoCF&g_dIbok@78l?jtF>>Ws zl(bo-x)h!(zoYe zVG`RT2MkH6Za3bkU}ObF-6aBHS+GRJE|{SRbvFDsaigFF{zz+dfcH^F%v#r(IwPVGVW~a(Vp7ScaC|Mj@egOd zq};38hVS*Uh1ybn|(3r7~==Dt3jmC_NJhX*qS~5Mti6<@0N$H$aAq$bt;V0nhX7r$v3`X^^ zh9fP!06Y?8>rj?6_&70U$wy1WyNXGHOH~S=^?L-%KU_fSeu7!%PB`1^Xt?$-%w2ah z_E(nl(9#Xfi}pn1NtMq#mD7mjX!4=YHx~GSnEi6%TW-x|ycP_RE{qy4mJ6oxM~3{2 zhreEKb?)aCZecYIUIY!%V(^t>EhPyk_p^YAH9I`4g)bd%O_QpZh6(zuWi0E*f$~6` zdAQrVx8dSb?tx3u-2pUu5z<_>%(9e&JAo}!QK^8sUI}|jfQK7{J$3f8a<=bo!cu_$ zs2`uZE)e&%*n8YcrE|aZu@IeOnlK$H6}bK_q-cT)OIEM^N^KLRR88J=!quf$rVV5ER}DoFVv*M8U#O?V_(Wr z;&}FGDD^Fv1QQ<_@q7*3)iRNG(t zwRDPbbOZ7rEr#Ub%^=#Y#*_NirHsZIV;;OcZ-%c^-ufw6AF)JcTVj?45t~x1#Q^tL zbgH&fg?FRaQD{*fAnBvNUS@Nhf89ynp+(&xvR@%~SDSz`Rz4-pBrp7^e#;t-g4h4H(Z-Y}HT1PLbu0zLV z(rly``KD%r<*6>Je%bbBz2S&2SdDXvB5ePeCaJjy<`s7PcuOu{ryFl8fGTItQ?x>h zE-^!)#+q0(ZkV|EE5Gv%dz%Xe<7ziM!;h$QsfQX0Z&H=8mnBZS@14$Nwh_tn?d7)@ z43b7wV|Z`MQVvL#ZSqYE3(9-tw00dLcl!9C$y=Dbz6;H$?lMxSd^7u1OuR`|gA%JM zBxiWTCSGl*Tv!q{ReWT?^QJxJ>eW2_ zGU0@YTrj&%iCqnUZ0T3ChMMYw!=!=LIu6TN&{tde{@eqLSsC}?oRzF-WCgk%ufrpHJI2Nr4>xvMx1n5Rj>8=3WCDNKJq@3GnKs zSHdlv+Dt!IjvbZDhbzk0XGtfXx5=#o0kLy%fxORTPwbhjc*#wMu@xp3O`dI*BHs*# zO%@_`DROza!Zd7IJekr@`o#5Cks!@`!1lA3hb+VR>jI{bg0aiH`OjNmkRMp)d@R ze)-13wj+UJ@nEC_icG0e$mq7>-v!Yh^q(~<(rT<_ooexYY=>D#O}1-x*ns^p7PX}s zs`DaEsR~F2EQL^dsHB?Yre3UInw=9W1sUn0%*|vCzb`=ViJNlD=%_E%okya|Yw75X z@(wM$ox@7PtBJ5yRE!~}W36(oCTr6NnzW{;eeuDF@5Tl8RbFkqImD>kWv9`RY}UGy z{Au3sLmOZ1r=crA^kOd(**Y||bZW|1l#s&79bjD8k%vPlYvgakKL>&PFc<>u*=3wn(oK}xFdLQ%^j`N zh$_oG4308c#P@8Yp(Y$q2mlo1{(QF`i&(CZfECBrPu(%tY+jY23$x6(k!-9{Dn-Ff z*1BU-eDXSZo>itZm^6)Ebph+-md#_v$7t4WxuzsVW(9X4`Pbj7X$DFcl4kGsOh8({4>;3CFm0tB01R&r+Adwor7_KQ6vz19S}!n!Qx z{KBc;>R!7!?NH?QV4O;=Q7b?Zx?Dte8?1EbG$mDns!}-;dWGdF$Ft0S#O42t+yjd~ zhGTXmVJ1~cqwV&|YpqvjP$)bC66B(_C$+YyzyXW>_`~Iakt5q0VR%YVq&!matAt}- zcP>LA*4&L}+E_0>!VFbMtgw5{c_%h5TgUQKCTdN;s_Qm z5hP%|@jJZWhjTZn|Rv%&D^D;Bk$ARmUb3{tl=4H4N>fO=(5yjO`f;$wr2T8nHi zc9zAK_?IWE4WuW`K}9w~{J?2;CJMgvyMRJC4` zV5m!H>;DLkT<)sR<1ZI{OSbQ-bZ>?8n-vYEo3J9zFFlXI?*Tf@WX>=zJ|4hsXal@| zj`7B%s&^>f|{ zOkHMy$8e}y3)lL89XDbbjh6iXsC)0Qrq(rW+^u`dwql`36Swq^^p2wRCPjLa-g~bq z0@8&LkS>HCij>d^A_SyEAVBCHLW^`l%Wr|Y&z?DFzBAvMZ+_Rz`iJWZVX@X*p7$yD zeLu6HM*h=-qiONe0dc%D^F-fYSWCFfzmk?JTbh17$a7R^^&>Vrc#&OKHRblz1jx>D zhO}JT-J~A6gvInSAQjuwMg4c$H_LNRH_Zw?{~nGRLVSff2|(e6)rzlaV;P8F>`3^P z14yuty*tC;?u>;{(545M1M!7va!SxyrFHsJjbS-5z%|oL(`KQNU3)!ne<)h?cVBIe zgpOh!$K1QOm(dbpWICc!4==vjk2K-hxW=nCHBo)f&2q@K>-RIhYqi7gQsQ}>)?|ac z$$=Rs_d|Z!3ht&U(qJ3r&n=3%I7|*BjJiw@dT{BpPunB1{kINoHwiCyI9!vMimcR_ zvZcN+bDx48xX(s3KLMoi^bpFE3j*5CdX_$sXf}L9nmhNF7U2=mZ`m4I$<*KhM~NQP zvdloh0-|2GMF>g9V6Da_V)~9Hdgf@loAjSgT7m!Zbb2($$IWS3n1uTc@RmmYCYXiI z%}g}H%99eF!XYUjSmS(s;3vIW$!2xcCiHE^?>M!E8M!xh}OFB zM?f{^C9p$kbY;8KGzkE>1YyXdwPGfUh4uAJv7`6H;v-f```*F#{{lbd9=`SMHh@vh z(7B$p*Yp{5f%WM*M5Du4DDSm_yCM^E#g!d$D;Q3*G7Ayx?~jQ1Lpad>JzFRMh8nA||K-B;jh3L7-{GLkLM6Vs z9Y5>BMY4BcMq;COa(p3Bh~#nmc#spVoZHrwWzaTX-nPrLbA^Y z=vuaflxB-tv_Tz8I2kS4Aw-{C13(JsVxHtqBuBN;I__nK>=&vC7K(95y5NmBCBBVid;`&OS#3Pm8pe%~fSz zl<5i|H7qj$#JCr7=!#<5G*L>gFxq~j8`W$X++`IKe9-+=^nDT_kF5k(;JAN%Ed#T7 z4eeUC^d5j%eq?Kf4)aRIWrq2#5}WmjjAKdpnS=Bk zMo5&eTnoj}d3`P(_FtBXJS(ZH!srLsec``cwX4jC4Nz&V>U?ry1K?L=#slk%kd=}L#hCBFR6=T>ECg`EbbO9*OCaO+UI)2$0b3+{brL?(Ju9zEXL2Z zHIV4IV)=|ehM269CJf|MyZzOg|cV0m2Cj?eylKce22FMVaCXJM|Odhqr^(;D_Q=kFIc zk7U;{vy}kmz8F9hP2arc=hL^!;5X*(lTnxx4j#>++~AdZWP9PZw|OH2Q`($&CVPc# zOI5`zjA3x zd@97R&AGYaE6+lPxK&*u6VbK)Ji`9pUcYnkrxCh;ecd>_q9&F620`GAWo79IZ}tFY zRn@pn1ynn$U0Fz$#C08{5~#9CD`=I))4o2oG@wmTY()@MF(P@mvF618$@`>T#1R4! zkEW0Qs?+iOX$fAgoEJ0a_BTB0_QdqWm6RC(kLqj%JJGo^rT(2$_F11~B(T!YsrTm2 zjya#lWE!)%FLVmNCcGq*?U+Lv~s3hM=rvl4GiLLHHd@~Oec|D281 z)}aCMg2N2;$)71oaVO=_-MIbgCMzAey!tsAO?;G;M{@l7mqh3#hY?ADhenA>@H3?6uF~uOy;V@(3~e+Ss&q@+E=`2mtyNYooL8N$Gsy!X(8R2)2$0 zqE(X9;O{^b>6e>xZ6U%IR%=d4fyu*kNC{f)ADRzNyyztA%4B zUt8K>MC(m_B_I9T;6Bsm@$8dY7sn<3NJIHW*7PWb&p^r zR*J_58YMOwEU3sgBA6yCH$n=~=Y#vPpnUc3@Y&6xjCG5Mh*Lwi5<`(sb&)x$OyDYb z{f0B-YtT|WkSDAqY??d0vKI;ui1%{5BYdtd=>QLfvR3VS->nL*3 zWIo=5=MoM)Tal_od6Jhd-b{{+5)I{&@aVIpWm!00v{xA?gAwjEOB8)jw#j+N`SkYY zJ`z@vlCp_C8d(kl z14}3pAe00ex&6o$aEE)&9jdZXeKii*3--zX4w(Dfrdi$(V6Mg*0oBC|M(m+L5Vjf4 z0r%WnL$5)AAZ%cJskcPO+|Tdic(J2dT;$Ym)@$Q z`A+(A!)DtQ0e&<66qlfe3H}T5t%p?fFTA&^GiTnBBR}!bUY~jc3$q<{1EPcn!FLD; z+XA!*>vP4^W%%g=_73_P+IrIt+Y(A=Uu+^)R#ukM15QT+qwk9z&V*1~0#MxZ>+h72 zJ|8XVrZ!(fcwnRnfp7Re09>~V7pNceWT%{y(*m_);sJn2n%otuUqVrv?d?_%OZ&cD zD5lwi4uBHo5boWUB?gXC71{Cn2S(r7bsOnc?>-q3-C|4Da+lZ#0J%=aW|BI~k`adV zLqi&^COKII_NgN!8bcbS!eSAS2Je0dlB<*5_a~gTm*<&Qg&$bUz25eSxfaPG3qV6` zNh>f^0iM+^JX_gy(!6C>-Q`l1q;lV1>han{r;+*)GTXZ7L;Pg|L;kL@r1Ho8XCcV%ruo<9(4w5}4!1`7O&sS%de* zmMH!t_!FR7QT$>%cxr6S3jOQn@Bga0wc(l+F^yr-i!vQX=P$Zl@HlldoAUQN-7l-G zaL!!dp80|oQxjMrYQC4C-Py&;cRU`G%2{3%gWpvnrc8v$ertrC=}suDpHUcr;LB^g z+(=z9!NzRD3QJv!j*P5u)qPeRj|!Zbne>uAcv8Z~;(V`f>C=k= z0IYO&O|t>jjFse~hLWrY*TDeSPB(!8f17|LzKo~2ex|6B1Hj&yH4@@|Qt zMqIp{mr9cQvr^F&x6wxq46LPoFgO=KtrhNIQ{OdCK4DRsT8SQK+#buDf2PII zXi#islMJiBuajzC&V5xC+#UIby|-$^CIJjfVPwlPm2L@--1{68sYfr!bR%`6C&BP^ zE=q=2((_;mz_2C(7*<|=bRMZ%8QY!yp}qm2NNx61P`4xvaN(^G#8A6ETROi=q}NyP z4EB{L+rf6Fg>)7L$*>gnnrhZl$A1fzwI&Zf1VU-}@fNf>gA~X)1*Fu^r|x-$94?oN z`%RR+vHUz>t#ltqIceOw47xB{9<1_2O0x$q#|2ipJlkI*b?c)YAXRX7*}v7sQg_)GSmy*5I4bO!dU5FCS+~J<0^}_Cc_)5>V=rzq-Gs4n7xZs^eGW zY_>^A-JywosN{7@lA6Fm(kTScNIUOukk02x=CZPcntZi4Gkx&6!{gxh&FGqkTm6JIdGYE9izOS zB0p21PqV}uDn2@rcXsecoB8=z2DK{)fjgEnL}|av!e97Y=RBno(NSQ({BQ&0rWivE z%(eWJWxL;Rg=YCXI?rP!vfyQP7x;x?=%itq~*Lm@zUbM6eG&!rN#8+*w`-OvX|JrM?0C7 z2`3rJY;i1JRcH@d$aD7PGSeP4Qe(9JaF06F%@C95&j`i%{$a%%UAvbex_wEr{)=9Y zR)s0ctt(c`IzuUec~b3`&wCTD%31Q;zYp(7vZqCuXWUC-<-10cs`2K*C@TrsPto;9 zj#F<`c-bCy4SMN5gJ~%fXP?<#$wn+^$FFvx(2<6w@zM|cmXu$?&W|+nmk<+-szJ?L z0Dt^@E}*=&+dsfjY_Ln-5CQ8JTSTZ`WQ7pK2VBkm`sUFbIO*AFG~le+N-3okQCU1pj7_THF}uY zV^C+aLT4qGF(xh)2SqvC(U3Rtgqi!44+u1X^TMQb*-5RFXPYOioTZys?Ri7=6N*ymPsTVj&Yfs-Z33n4E8Gnn}28l>0LF2RDCO@eTmM zog+2$-CRSLqoo55F}X{<>4vbb!^1;dH#j7~^Z2M`DoyN~fgFFuR$aise(lzp^bsb! z^w*Ra0O4oeDl~4R{Wd9F{yTS)`nWCNaLG^!aKqH@TcxL-?qV9@0){&W2M0+@y_B~m zKdp_&3w$`=F0XtTHXr*PhwOg#Iou9)Rr{L`moFKM0kL6Wak2j?ZmC4{V7VVc4M+;i zQJ4_zCuT0m3wC4n?NonAch^7dl8Y9WkR@J)sp?$oT6{9q@TAx8`-Yru{awmQ`Yqh% z=2+m2(Q=>84?HjSUK8WSyFRMj(L3M2_)QGZASf=RrDghq&Df0h4-$*_YSUC&+WIkf zprJu~ilyqtrF028?xBI-l^m-*?to~GO4p1RY&RExKTS)E%5E_(??{JJh9ewAJa}JK z3Hy05M;bwxOb`Q(lZ56~LTtQpUIo4uot`FTpvk;AB_RN{OMZEp$^$=h=b$w^`Se_gM%M0!MHQ zragSxt9qoEm&9im^TuZZh}ixlKz3<)d->K|x;v5I58+snzpbRCRLrd7H3uQQFYBEvv z=yvw+Ha41jA9DZ3DEP}0pNFbvOZk70GVnhhTNb4Aow)%uz>+^G6%rE^RHP-*x%b(v z#oz5uR)&eyAM$K<-+t~*@qt?}n;0MH@Rb_<>h$u5mN1F;?YV?AM#iQm+T+4Be~Uk? ztg?1w^CjgvD*Qe;UfX@<=V1_#^T(IWb!bc3oY|OWKlq1c=6^sM`TtKi`5zC@Kbgo> zAcp`3zon(ik}NEwZR+`YD*Y@FX>EYA+Jb>-CF`DqX7AB7T=cCvrh zw5*v2G%d-avn5l`PC{k63soCC3;8_$H6w7rDEAe_xhef~{iOmbmn0DvTXQYKIYNqe z&MoEtX@$K%|Hk9-f2c^k{W7q>W##F@fU;)WfKM(*8`9c%A#6!0J+9hVvfns&Zj(4W zbFD*iO0_mti!55XL~C>Yg+6RvSMDxLDAdrYV!i`tX7LipxiHIel;~{3P@aS=iPrTz zx{*-AA?@E;jJc8SEXt_41Z>=Te&xZp_zX^Hs^4LE`Zne3=zNH4tI6&nV(7)B=28$Rn zQ8!($+?Eg5+*05TyJf_?`MNor@XR^EpH7`_?l0~8pWuRy>q0aa9^|&QArBA1*$lZX zHkwk5ZH;iffKRnrn9c+s#TIlf%B!VYxHC%J=zF_ZERK{#RFtfwP#>n>kWG#?q*IGb zP%@CSDGzExih^Xmrk~FA=Pr4a;OCW<+gMmM{S#ADWNd7%#ivEx)hyN$x}rQh4@Sr- zD`$gQt{JAK6c@8;d9Q~lHz&+O&6`x2z2L-Z=dY)}6_m}K7;QAETDgtWP&gMgR%s{A zn@{}W`GSkOsXp6wiJQfsKGv|L_4(m@F+EQ2!)o{w|$%_UZq4_40pd6aH&D>z$V&p)EUx7pTL{_N=46>lRPzCz}#>65IleV(Z+p z_?aqgg=RGAI5a`~dz&ev`vcFMF&EzaCwAZWY4~?!`|ltA)sv|SGU5Ra6mhKp!L)I* z^r$wLP%uk+ee8RsHqAIiYGqb+X1Y7bg92jZ1SMAWr1u)FNX$cdco9#GOhnt~yP zq;3(xB4~gTP*VwgA?Uq|{L*rDh&m+=HNmCJMcr4QO{u^>{9P_hoiAJ1hDRMd} zOQgQw+fuGLeq$3$!s2&Zh7b(BT2dm#>@}%+c8G{r0H+5XaC)3er(ZljRCaoP+G60- z-+ml5X;pF2(-+5Z*>&pe_!)fZ<}Q9)JP2w0AJ;C<#^TjTO_9+~LKEI?4!?&#gnnNT z7cO91vG`$pTQgp5Lk&an&seknk^^KBYQ*DPeY!o6tK7ShQW*17``j~RXh`WeS2+-q znm$Y&jQkQW!@WS-*64G5u({L2VZ*@iBf`H>&&|MKvohC~u7o}IJ(h^ik}OwA@;Z;{ z04(@mUK`UO#aUqDbdl^_F8or8WOMZMIPqL2PGqC zmHY+a)qaP^2hV=I^ed0W`2(C;UFV!(ye#d1wM&TaXF!WgLrhz_OT_WeIYmp6wpj0R zTto@8j<#ZiVOo?!{j{#U<{jwVW+w}NLyO#S`%MW;k1*T$e z1m)2^79H_<^DQf3I~|!E(Sf8hyr^w^KR_yNVIW|8>R8y$Z!yL&!2b{Y#!LrsulUKX zmiH%rGfX?CWAsH3ax*+(l~9wE#Sf>d(@^$pei#HJun7kn)XgSvd_je58E5A*05Cx4 zURaen&Do9vi!6m<&Cl8sXansDmcoAaYbbj!2WQpG{9)@GpPie3F=@Kqn%NIO-5}EV z{P|(%X3dfK@qjXim^#pFotudDfu%MEWOsyNRQBedEAW8< zN!Mk7TW`qja@?tSw_W?cn&uJ%vNKwK2Nn|+43=`(T{zh3n0;m}a-T!h+fScWg+hHxfeh@c?TKa9 zo~8Lv4s_bc0p{v4Ff+!?IIuG_F4J@7M-Pr;z^I;0sb&Y@zRwDr&0ETu`)Vey?riKP zDWvOawhP*|asIqN+k6?qvKnx3Jasa2JXs>%_ Y5r{w1PQ6)0wHnKI=3UL!3nVZH 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 literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after3.svg b/artifacts/ui_eval/current_tui2_after3.svg new file mode 100644 index 00000000..90225ea1 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after3.svg @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┌────────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  GitHub│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact│││ +│Session: unlocked││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││Jump to entry id (Enter)││ +│Results: 5 | Page: 1/1││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│Profiles││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││1        1      GitHub                    password       -                    NO  ││ +│┌────────────────────────────┐│││2        2      AnyType                   seed           -                    NO  ││ +││││││3        3      To-Do                     note           -                    NO  ││ +││Activity Log││││4        4      School Login              stored_passwor -                    NO  ││ +││││││5        5      Amazon                    password       -                    NO  ││ +││1. Selected entry 1││││││ +││││││││ +││││││││ +││││││││ +││││││││ +││││││││ +││││││││ +│└────────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│GitHub│┃ +┃│Kind: password | Entry: #1 | Modified: (unknown) | Archived: No│┃ +┃│----------------------------------------------------------------│┃ +┃││┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_nostr.png b/artifacts/ui_eval/current_tui2_after30_nostr.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_nostr.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_nostr.svg b/artifacts/ui_eval/current_tui2_after30_nostr.svg new file mode 100644 index 00000000..15a4d361 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_nostr.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-nostr + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_note.png b/artifacts/ui_eval/current_tui2_after30_note.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_note.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_note.svg b/artifacts/ui_eval/current_tui2_after30_note.svg new file mode 100644 index 00000000..2e01e189 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_note.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-note + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_password.png b/artifacts/ui_eval/current_tui2_after30_password.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_password.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_password.svg b/artifacts/ui_eval/current_tui2_after30_password.svg new file mode 100644 index 00000000..3864c1f8 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_password.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-password + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_pgp.png b/artifacts/ui_eval/current_tui2_after30_pgp.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_pgp.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_pgp.svg b/artifacts/ui_eval/current_tui2_after30_pgp.svg new file mode 100644 index 00000000..df72e957 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_pgp.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-pgp + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_ssh.png b/artifacts/ui_eval/current_tui2_after30_ssh.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_ssh.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_ssh.svg b/artifacts/ui_eval/current_tui2_after30_ssh.svg new file mode 100644 index 00000000..9d3757f2 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_ssh.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-ssh + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_totp.png b/artifacts/ui_eval/current_tui2_after30_totp.png new file mode 100644 index 00000000..21cd1cfa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_totp.png @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after30_totp.svg b/artifacts/ui_eval/current_tui2_after30_totp.svg new file mode 100644 index 00000000..515997bd --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after30_totp.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after30-totp + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────┐│ +││││Entry Grid  |  Pg 1/1  Rows 6/6││ +│┌────────────────────────────┐││└─────────────────────────────────────┘│ +││││││ +│││││┌─────────────────────────────────────┐│ +└────────────────────────────────┘└─────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_nostr.png b/artifacts/ui_eval/current_tui2_after31_nostr.png new file mode 100644 index 00000000..67662b6d --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_nostr.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #7  Nostr Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Nostr Identity││Notes & Tags #7│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│││┃ +┃│▣ QR Public  ▣ QR Private│└────────────────────────────┘┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_nostr.svg b/artifacts/ui_eval/current_tui2_after31_nostr.svg new file mode 100644 index 00000000..72e72000 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_nostr.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #7  Nostr Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Nostr Identity││Notes & Tags #7│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│││┃ +┃│▣ QR Public  ▣ QR Private│└────────────────────────────┘┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_note.png b/artifacts/ui_eval/current_tui2_after31_note.png new file mode 100644 index 00000000..302fc691 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_note.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  Ops Note│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #3  Ops Note││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│Note Board│││┃ +┃│Kind: document | File Type: txt│└────────────────────────────┘┃ +┃│Content Length: 59 chars│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_note.svg b/artifacts/ui_eval/current_tui2_after31_note.svg new file mode 100644 index 00000000..19e2baea --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_note.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-note + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  Ops Note│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #3  Ops Note││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│Note Board│││┃ +┃│Kind: document | File Type: txt│└────────────────────────────┘┃ +┃│Content Length: 59 chars│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_password.png b/artifacts/ui_eval/current_tui2_after31_password.png new file mode 100644 index 00000000..0bab25dc --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_password.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Primary Login│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│Password Board│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_password.svg b/artifacts/ui_eval/current_tui2_after31_password.svg new file mode 100644 index 00000000..bd921277 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_password.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Primary Login│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│Password Board│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_pgp.png b/artifacts/ui_eval/current_tui2_after31_pgp.png new file mode 100644 index 00000000..240e45fc --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_pgp.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #6  PGP Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #6  PGP Identity││Notes & Tags #6│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy Public  ▣ Export Public│││┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│└────────────────────────────┘┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_pgp.svg b/artifacts/ui_eval/current_tui2_after31_pgp.svg new file mode 100644 index 00000000..9a90a647 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_pgp.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #6  PGP Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #6  PGP Identity││Notes & Tags #6│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy Public  ▣ Export Public│││┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│└────────────────────────────┘┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_ssh.png b/artifacts/ui_eval/current_tui2_after31_ssh.png new file mode 100644 index 00000000..643cf19b --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_ssh.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #5  Server SSH│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #5  Server SSH││Notes & Tags #5│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy Public  ▣ Export Public│││┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│└────────────────────────────┘┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_ssh.svg b/artifacts/ui_eval/current_tui2_after31_ssh.svg new file mode 100644 index 00000000..64026ad8 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_ssh.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #5  Server SSH│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #5  Server SSH││Notes & Tags #5│┃ +┃│----------------------------││--------------------------│┃ +┃│▣ Copy Public  ▣ Export Public│││┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│└────────────────────────────┘┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_stored_password.png b/artifacts/ui_eval/current_tui2_after31_stored_password.png new file mode 100644 index 00000000..04c6bfc2 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_stored_password.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Stored Login│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Stored Login││Notes & Tags #2│┃ +┃│------------------------││--------------------------│┃ +┃│Stored Password Board│││┃ +┃│Kind: stored_password | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 2│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_stored_password.svg b/artifacts/ui_eval/current_tui2_after31_stored_password.svg new file mode 100644 index 00000000..298ec61a --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_stored_password.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-stored_password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Stored Login│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Stored Login││Notes & Tags #2│┃ +┃│------------------------││--------------------------│┃ +┃│Stored Password Board│││┃ +┃│Kind: stored_password | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 2│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_totp.png b/artifacts/ui_eval/current_tui2_after31_totp.png new file mode 100644 index 00000000..11edc6d1 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_totp.png @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #4  MFA App│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #4  MFA App││Notes & Tags #4│┃ +┃│----------------------------││--------------------------│┃ +┃│2FA Board│││┃ +┃│Period: 30s | Digits: 6│└────────────────────────────┘┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after31_totp.svg b/artifacts/ui_eval/current_tui2_after31_totp.svg new file mode 100644 index 00000000..f9434631 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after31_totp.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after31-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 7/7  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #4  MFA App│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 7 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Stored Login                | stored_passwor | -                        | NO ││ +││││││  3      | 3      | Ops Note                    | document       | -                        | NO ▅▅││ +││││││  4      | 4      | MFA App                     | totp           | -                        | NO ││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #4  MFA App││Notes & Tags #4│┃ +┃│----------------------------││--------------------------│┃ +┃│2FA Board│││┃ +┃│Period: 30s | Digits: 6│└────────────────────────────┘┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_nostr.png b/artifacts/ui_eval/current_tui2_after32_nostr.png new file mode 100644 index 00000000..bb781254 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_nostr.png @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  Nostr Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #3  Nostr Identity││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│Nostr Board│││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 3│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_nostr.svg b/artifacts/ui_eval/current_tui2_after32_nostr.svg new file mode 100644 index 00000000..400cd331 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_nostr.svg @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after32-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  Nostr Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #3  Nostr Identity││Notes & Tags #3│┃ +┃│----------------------------││--------------------------│┃ +┃│Nostr Board│││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 3│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_pgp.png b/artifacts/ui_eval/current_tui2_after32_pgp.png new file mode 100644 index 00000000..fb7fc137 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_pgp.png @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  PGP Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  PGP Identity││Notes & Tags #2│┃ +┃│----------------------------││--------------------------│┃ +┃│PGP Board│││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 2│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_pgp.svg b/artifacts/ui_eval/current_tui2_after32_pgp.svg new file mode 100644 index 00000000..3042d5cf --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_pgp.svg @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after32-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  PGP Identity│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  PGP Identity││Notes & Tags #2│┃ +┃│----------------------------││--------------------------│┃ +┃│PGP Board│││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 2│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_ssh.png b/artifacts/ui_eval/current_tui2_after32_ssh.png new file mode 100644 index 00000000..5d2ed979 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_ssh.png @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Server SSH│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Server SSH││Notes & Tags #1│┃ +┃│----------------------------││--------------------------│┃ +┃│SSH Board│││┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after32_ssh.svg b/artifacts/ui_eval/current_tui2_after32_ssh.svg new file mode 100644 index 00000000..62d511dd --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after32_ssh.svg @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after32-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 3/3  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Server SSH│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 3 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Server SSH                  | ssh            | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | PGP Identity                | pgp            | -                        | NO ││ +││││││  3      | 3      | Nostr Identity              | nostr          | -                        | NO ││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Server SSH││Notes & Tags #1│┃ +┃│----------------------------││--------------------------│┃ +┃│SSH Board│││┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│└────────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after33_managed_seed.png b/artifacts/ui_eval/current_tui2_after33_managed_seed.png new file mode 100644 index 00000000..62f8b4ce --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after33_managed_seed.png @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Managed Account│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 2 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Travel Seed                 | seed           | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Managed Account             | managed_accoun | -                        | NO ││ +││││││││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Managed Account││Notes & Tags #2│┃ +┃│-------------------------││--------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 2 | Edit: e│└────────────────────────────┘┃ +┃│Managed Account Seed Board│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after33_managed_seed.svg b/artifacts/ui_eval/current_tui2_after33_managed_seed.svg new file mode 100644 index 00000000..19769814 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after33_managed_seed.svg @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after33-managed_seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Managed Account│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 2 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Travel Seed                 | seed           | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Managed Account             | managed_accoun | -                        | NO ││ +││││││││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Managed Account││Notes & Tags #2│┃ +┃│-------------------------││--------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 2 | Edit: e│└────────────────────────────┘┃ +┃│Managed Account Seed Board│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after33_seed.png b/artifacts/ui_eval/current_tui2_after33_seed.png new file mode 100644 index 00000000..3a11b978 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after33_seed.png @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Travel Seed│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 2 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Travel Seed                 | seed           | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Managed Account             | managed_accoun | -                        | NO ││ +││││││││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Travel Seed││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 1 | Edit: e│└────────────────────────────┘┃ +┃│BIP-39 Seed Board│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after33_seed.svg b/artifacts/ui_eval/current_tui2_after33_seed.svg new file mode 100644 index 00000000..f71902c4 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after33_seed.svg @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after33-seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 2/2  Density compact││ +│││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Travel Seed│││ +│Filter : all││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 2 | Page: 1/1│││ +│││┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Travel Seed                 | seed           | -                        | NO ││ +│┌────────────────────────────┐│││  2      | 2      | Managed Account             | managed_accoun | -                        | NO ││ +││││││││ +││││││││ +│└────────────────────────────┘││└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└────────────────────────────────┘└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌────────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Travel Seed││Notes & Tags #1│┃ +┃│------------------------││--------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 1 | Edit: e│└────────────────────────────┘┃ +┃│BIP-39 Seed Board│┌────────────────────────────┐┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_managed_seed.png b/artifacts/ui_eval/current_tui2_after34_managed_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_managed_seed.svg b/artifacts/ui_eval/current_tui2_after34_managed_seed.svg new file mode 100644 index 00000000..7f6c5fa7 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_managed_seed.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-managed_seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #8  Managed│││ +│Account││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)│││ +│Results: 8 | Page: 1/1││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #8  Managed Account││Notes & Tags #8│┃ +┃│-------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 8 | Edit: e│└──────────────────────────┘┃ +┃│Managed Account Seed Board│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_managed_seed.svgsrc b/artifacts/ui_eval/current_tui2_after34_managed_seed.svgsrc new file mode 100644 index 00000000..6d8e5db3 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_managed_seed.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #8  Managed│││ +│Account││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Filter : all│││Search entries (Enter to apply)││ +│Archive: active││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Links  : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Density: compact│││Jump to entry id (Enter)││ +│Session: unlocked││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Managed: (none)│││ +│Results: 8 | Page: 1/1││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #8  Managed Account││Notes & Tags #8│┃ +┃│-------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 8 | Edit: e│└──────────────────────────┘┃ +┃│Managed Account Seed Board│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_nostr.png b/artifacts/ui_eval/current_tui2_after34_nostr.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_nostr.svg b/artifacts/ui_eval/current_tui2_after34_nostr.svg new file mode 100644 index 00000000..eedc6b12 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_nostr.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #6  Nostr Identity│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  Nostr Identity││Notes & Tags #6│┃ +┃│----------------------------││------------------------│┃ +┃│Nostr Board│││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 6│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_nostr.svgsrc b/artifacts/ui_eval/current_tui2_after34_nostr.svgsrc new file mode 100644 index 00000000..a23f4542 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_nostr.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #6  Nostr Identity│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  Nostr Identity││Notes & Tags #6│┃ +┃│----------------------------││------------------------│┃ +┃│Nostr Board│││┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 6│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_note.png b/artifacts/ui_eval/current_tui2_after34_note.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_note.svg b/artifacts/ui_eval/current_tui2_after34_note.svg new file mode 100644 index 00000000..5adc08f4 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_note.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-note + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Ops Note│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Ops Note││Notes & Tags #2│┃ +┃│----------------------------││------------------------│┃ +┃│Note Board│││┃ +┃│Kind: document | File Type: txt│└──────────────────────────┘┃ +┃│Content Length: 59 chars│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_note.svgsrc b/artifacts/ui_eval/current_tui2_after34_note.svgsrc new file mode 100644 index 00000000..15fe6cd5 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_note.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #2  Ops Note│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Ops Note││Notes & Tags #2│┃ +┃│----------------------------││------------------------│┃ +┃│Note Board│││┃ +┃│Kind: document | File Type: txt│└──────────────────────────┘┃ +┃│Content Length: 59 chars│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_password.png b/artifacts/ui_eval/current_tui2_after34_password.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 zcmeHw2~<<();68=wu;<)`zciv+AEM+CY4FXlv;-{)&Y<)S{Y;vGKB<4Y^_qOLQMo@ zOcf9zKrjpe0*Ok2MkWCXLMD)q2q6R#l8}TXe^7ecD}HNz|NZ`N{k`Ai-D~BX6*%vE z&VHZ0_p|qT&&idqJdbF9u;T+QEiG-((Jzl{Y5mDmOY7a6f8L<^M)KC+X3gf~vqz76 zXlcQXwX`mLr==y=e0AZ4mR8bUEv=c;T3YtEw6t{N3R{jjYW}d{Yquj`s$aJEPf6*T z|I`9~>2fkplg*y%zsF(3&iObm=aY%Hi{e8)#^59oas+3C}e z?(q8qHT$3c#Tr>7OX$V8!LReIYet$%N4^c-1UEa{5;Vlmj~y}Gj{0P~aEhCI(n1uv z>28}ne>ehX>l>lb<(IO3l$N?lY(!1*H|!qW~Qr#o@uBW4;Li z$M1UkwNd}WMYek?>n0F&)8HiHE13%jZClVf%I+=Y4FzH5*b$5I72Z>0Ou(l(@PiYY&#)Vh>`_8BT-8~ z&l#5*llA`VBlh;v;+Z+3Mt9@c{bzFDC#IR#?j7ni%?}=_ZxxN^1<}sFj*hfVZg@kt$lx4=sOYt^wGbb@yY02_EEhs_%gpPU7cl-_x^r=8)Gc?YUHE<6c}XbuS5z_0o5oepsy^XzkZJeMfS2q=HX8 zwUFt!XuJDzqZ{?b2(e=a!1#nGf;+h<)eu0kTh2wEJ6<>Ur19X4f&8mM!OzM62vs{$F#V11rHf_T=>kwfX2Chn9^QkkS4fIL|5v2@4~i>NEk?IrhZCKo_g5O zFa2~@7#1VrOADIhKi~ea9Dro9$=pKttPmspuHZ7^qvYtp2+#7r6tx&l7Q6VL!X- zc`KDZouKu|!A2==OpGQS^nys+NRK070C0ej&rx5JK>;?|bgjuovR5w2~S-00#xCK`5G! z^W%Dz=@`WzM}_SuGGNFi&-ykT!|sdipY;<@vZ-~Qo3W9Y)*)nP$!NiP?Pg zNp;L*j2^v+osW<{h2*e%e>mIC0Zcn4@XCxplJv^n}t>0Cnw@E&22<9|!{ z)kQ2ZXJB998sNd`ov;^>&otBR3N~}Pn}{{^0_0&z15noJ7M-Ua3}2LSgg;@r43wMb zkvmPv@?tKQcp&o%6DO|JsZwGzxVlteN-u8|%w&`!LX|aQJ;Pm4z7=*73D{MhBv0)! zj45wOC-BE8!v$d2vbQZ&ax*QUpPG7iqK*JiNS@&)f0{%M`ns{qi*7A8Hw*02w;4?e z<+4)Xx3y0COwgxIGtplD}~_fSiC{IhG`IuIq7O?}I< zPdWdbouweRwb##t418aiIegIPK`XMNE*1`GM>KN_LM_oj#?pYgM1>(GAA|yP+WT=3 z#kp>S?7)J}6skpTx;&{LZ%EJ=Jwm;iNHhg0Y<$dmbrc7V|^Bl&217i#D7GtQKW(-dVULZGDg^h* zh`sU4c6x?aYff2355PdvSR+U_skmNtE_?S_y+^WRNV)AsQjyiz-2uvViPwhZkh;kY z^dISMQ!jV|d(%9ax~DBX_#_Rwz-U(0^7NZj;?jvHmyzJc zh4=LspQP7t>*c&-;6U=}*=4tF^ny}91o3Yir9yyf70gIc@@(yvVN5|@faxYvQ%_Yf79OaykbvtVFtBuIWyjX*@n?mH zhf9M1PQ^X>K;E~0dVnO)iiFUjI#iJ7vubq>M%CJJTXudwtevtOkZYLBKvJS|8$D)< zk8>Zlgc}{~vtRDdh`CiSYwG<=%$TvFs9v3;z@Z!!OiOY~M-hI|0L3_*X<)N} z4;gshI|jSaA_KN@xZ;-`6p!6%Uig$4WsatqewruimC~jzAe>x*N9EDO5!EOg%3PN^ z^vh5|$N%GgxKp}^HdmahP-JN@GSabm|0{dE9tSuvD$jg5nnLd=lD0+ z))AklkY@Ox7{b_)oN6|$l1GLoL$X7%)e5+i&P;<(e-tXl zIEF}RBpU7-OKh!ZZv=@ahjqMxIjzU6BXU7m0BEaC zAk!_!_Rph=9QaQ^nWoou*A?lw-t{U%^ekqeh#Q!8p^HtSS21c%zp??@YR_%BP5E|2 z*D5Fuj2c`7p%y&4!qZSFU$;z)X2a3cg7i8sRA7F0g5TiWMM-}>?c)`U_O#yPTwDyO zx5D^m7X(97b79`n)L0iIx3=UbHBSM?FXi5ryNn+y=b8wsQX zzS9F`fE@jTXgRt!b64C!Jf#j8Tu<=_@sg|6bol4^QZcI1$O9!sDw)etf~WpDxO!3w zzTqh98S(;(z$UR|Xd_aQNuU{m@;R**!Qn0!70PBv)RK+Z=72Ss``05y(=Eof!#|cMN6H#=on}@*12f4=PA( zw#uuen2-^nXZC+B9^zbIg7vnzARSM4D}6xrz0-+q<*}5e@?cdQ{Rz9OaDiqCB(O9- zRTUboE*-I;K5OwsZ6il7gj^j$CHoQrN*Hb{(X+-@JllW0t#;I>*WZwzC3tdA$>r!N z7H&BWTX zhNG9K1XzopEeaol`|3!KOt<*aO3QArKSIRG_72Yh-aM&JQwJ2ZX5S1<_T!j!@n5mg z3j%UkxwkeL?uug1^;Ft1!-);l=>!*HkEIuQevus_NvO*za+_r_@Std#IhF%5|^%;oqt8&}v@&oow^Kn|$qkcLCLpNgBi$R8te?vNDe%lH@n)kZpd)!{J5E zNgSi?xk7gj`?8_$JsGI>PJQM=IL%m-=&)5@Ojlv7e+WgWCiQ^NBBqv;yMx^obiIpM zogR%Xvlk8R;`kSNyA}fnA&)NuBzpO!bNHl<#(oYJx$uhI(uwc;B9@L0?kP%zx*nG( z@O_~GfDTE~AEoa|3R5_3d4^5wpQhxTZIml=x{M;~X0Jc?B0ohE5Hl8_9R@=Ot_zN~ zgf}=d(1Ae7m}G>UPlpb)1<+|{JNUj<{V|f+E&aWo64ulM)yCNyHyQqtxX~gIra)0V z6n<=f!_?C>71t214(nyWf%Bsjkat#PrZ)p!j)BRi%Wd89Fq8>OxQn;hoaMA#`n0>f zOB-jWZa9YPgT)|Fa&>B^PNVAdqm4nRP>1EL4Z2ih{loHaE+<7Q{8m$qc}z)t4sSHhk4`|%Mcs{cgS`?%no5|j$W3)@nyv*#f92Y#m7=Ek5kfj!6SRPmWhYF1gn=E!*;)D;u2PxYGK#{J6e z1wAs^tT$)2(ES-Z8%)O6a#FJLoML$c4tD%eO9WI7L;-`KkKq9IzU{(+e&>(kkKvV7 zyS6-2g@elNijE}CIoo zR7UT(+IUKw<5@L|n}$huNA^@(TI5NotyekML4D0rv*gS`)N+LML!jgI&5-BdVC4Dd zTR@XgJt(AgXZr`3-T}^}&5`tNDDfw>KWwWD9$f61+K$<_TWnSfFfg$4j5lnh5vhG7f zydX?K-HD7`LT3O+t!2YYm=W1jJ-Z3G(^B~ii}KCNi=%xfj-?JcQH`!iS8@)nF&xpwlW=?>fT z9Qv^G4P0OF{RKO1bGP{8TYCIW5X_lwTlnpV4Im1IFe|!m@Z+m!eL?*xH`%FtxcP_? zjnUZd)u>mn62QLIw)OB29D7dLmTMH_9E-LAjRmqe-`jvt+9)sJpUHmCM>(qWIZ^_| z&0Nh7RV?$rVNd=ef&r17Ls!WEas5%2LRfJ5xH`TP=-l*eS*4pU^NP z`v`|7KD{w(H46--mLTu12&(kCwK>bMV@_8U_!kx4(zy@xX_cXD_REob?B7`fEa zw>_SD7|C#;{1|<+4Jhp#?_bFUfSJmap2hpQhL-j{O{s@N2WyX%xalQ(spRrsEc<12 zHHM6!M3pY1USLIldPtrZOzx=NR?2Z&Ne@JpyWav?jB zYKO>#OK^i14@7;{e+JaTE;Za>ZIavyt^ecBy!tYUXd&rQCmDqqojcRH0BN1;<#Q(U^xPiasx! z6xm>iDZ%}0M&FQsn}bCJGA*N?e7++c+&O0*M%?Fy#xhBG{xBw}JV;23-Y|)9r2SCJj5ZSMoOBt2;laP+1=l#}@SH?@b-H za{!39R6&ooC7{cQri{dC2_*pu=UfT5a7E4La@ESD9Wg^M*oPH>i{S=iFMh;Ae21s3a;6u`uxL=?(8SaeH&zg1 zQS63RnRXxe_zhG*PTQve3!+9M;p;$3FX(bwyS6cbgs)0Ku`g@|#-MEdm3O0u4UM+n z7-dnmu42WXdYbM!W#ZwHpB%Zrl(NCPE4&wz^swrEN{=FZ&PjA9grl^yw4{h&=KaH7 zvE625k~KwA0zGhAQH~CZWyI74jkwJ?2SQxi!qGK4NyIwdVNlVDnZ6nY(U5|W;qrAZ zldYb26oBOvUyP_kX`!QFW*cC%W1@y2BT=*NDE9e2)L?Zesy!xX6Q&mgXMgZ5Sr*Mkj3di`LSCPY-- zcwCS58=3DsJhVe)DQmxoq$_`}Lm3z4Z;psRyuXBUjTnB?7~0sHUf^JU)EH<3W3y2q zB{Dt2Xi9&`#cDaf`5}2}d>OVvAm}A1>rScuF!3zD?|Bk1IJ_&Qm$f(=)4LJX39v@A zE?ly{{as^3Zt^aaiVF$6KkygI`6C7i&+m5`duvE1&OTHo@I8rn&okJ0vMeB&>FAeA zPD%zVsHOeM=_AvrF2XZ)I$%ZISEy1D>Y8G@JN#M{rU#gyLWq!RfmE;@k_%3%@XTzQ z(dF*kXA!}ylI`i;Xk@@rE-V;;vjgLwAJPpJhV7rj=WZk|6UGobR^hT-u3&E1#*|Gz zI-whsop@BaX+{~_0fs!*-=wa8AvEm8AF)wx;9~4WmuHGl5;E=?mYpd$%{&{fs)mo_ zbqQ$~wOc$b{N%?`pz0Hi3qN3N8F!KRMVTSQaC&i9;3~tvmsI2>pc997Qy?`Ck!>vV zdv*vh$CsHre4TO-HqXeIQwc@oiAC{qH?vTN1?j4#Z|`q1*W`G@heQEJt^$E19>QbC z2gxCyQ#vW{@rnp4S^4n0e{~j(D#Ru{D31w%Mug2`=y5{ zS3t>1mb5|sK;Od`XbFR}pE)wfoD}6_c@WR`=vdHjjR#Q|U4;qh#;NIGMHe<9STEl+ zCEaD{J!!h?(e`{pJ4?#SOxs@_QKm4y>3;M<_{dIR!u)g;=6uZl^qIwr<-nWlVXrI* zFfPLqdTwD#VZB-~$=}ILJc`zK){g2qDkO+3VvLgGpWs>nXb2yh|Beog%Ia@T*x3*M&j^oTwSxm*b=SPxI z?4h2{TW!T-vF_fe0O1I-0Zh0~?4Oem+4oMUd9o6)yM{CZ%hFB@`y>$7LUKU}+bkUD zAp9l76F2$}ceeF!bAMU|5Q#K6ra#_&jTuhO;-oDzf&_hDVb%qfvVcP1Odb(yqu_9n zd>((X2ZANJ{OLJzR`j%D(>5ej6visI3EInbXw`q!)mJ=YC!71S(i7-cERO5^gd9E< z>^ldG#K-XXmt#^74>r{E%z|uP?dzxGPGrQOwFR`5$cc7A(veq{J{5M5SCP{eCL*B0 z@C0-S-K(p}t|t9BEOjb0+t#S;NN({dcr>0@O@uVk;2>G%)WvS7*AAPArbF$Xluz1` z@TJ>9sD#UfgaNSBvoA$7yQx3zvsawkAW)_7V9sB^fp&|OD0+f<0?Q;p7us4bj=kS` z1w_M+i6a$X>}Qu?()Y6Ols=SeZ;6@Le)K`N+pA1o`Fw#Ss20bw#OPJ0KrueDy!6PU z*vm(KBx|=XMlq$R_PH+?Vfp#X=Zk=h^T#jdIaCNo7HGSjv8U|ID^|WBb^wq#*H*JNg>n}z%*HUxNDK@Fukv?E5->9 z*r@z^p1Kitv#K?`V4sOjz#Bx^V;Fnvy! zj7Uyjg~*b5_J~9a%%LLt(&8i+DgA>sCP>|p)N~HI4)cpzn(9Srq1j){3mo1f^K0~L zo^`k-ZPf1S!Oj%2@sMN$#U;z2cK)Z*7T$xiJJL6ba&|5)L3Fox4)PtEK6*9AeB1o! z#zu<+FIvU@WMi2);~>jXSY0~TEdeRL{}) zpGtiJsl|n zb2}B~nE440%1yA@j;5tD$UcF&rTXSKlHEr@kiQJgquDVY8Yfj_%p836}?A0 z%qM)D@a!IK(Kpw*h+VFO!H-`w)Qy2hU$o9uw{92CTW<;m#V;&Ea}l*~OE$g&B}p3G zoVF~&%@*t=cL*}=Vvpi`OZhgVVb!I)(3fS@il&-7h>jE1JPmzHnCL-J*lx_FbHYz3 zPRJ(Sk3^{ZUEF@9rsPI$QWvR{Qm1!aMN4(b1a2z9r~q@n<7cx;T-en9151$K=qr#))t+~Qou(Qp!U4*=u?NVk zyCC9Qd`yIt7t(oU$hY|X=PO4_Td=S}HR-zXBG|~U1T3gJ{~W4T!UbhgNt!^;UN++D zCoyY7ayy8-+ITWhN5fXJNwND~XRFY*J-g8k0nCMkB85?rIWNtX+m>_b-OD52ePT0P zJFr3NbyT1D{DwTs8B>UOj3Htg4M)H3@$rov1^V&4qLj(i=Ru-&|7dy|rZjqJP*TP- zwB+`;#8JNsne94zH>=ICS^8~i4Jq6Q<&ls|1#JsGwoSvg33uqDn)H9}0B{evzV(D( z#!G%SD)=F!?7T@f&dM65;1E7z+M74u?n_dz;@t7zu6N9zA-@>3@)$~d4}t7L><{a_ zbrmhvi+KW9?z8UdniW4y_A>Jj9uKDM03#3uS+t$ZyL`N^LG=Td)tb`j_dcx%=Dct@ zqGJ#LD!%`Uv@oUr3TW!V<8QKAoOhPHL5wc9Ia53PW>PRNipalFMH+O)*&bM=2^3=h zk#9g82tQJ|km}K5?$;VB&KwRm&43wvN;Y;v@oeoXgJfNl$Pa0xQ}~^a-o`--sO2q5 z_>s19^0CnaeywMx9>T;lLBXY@87{LFt~|qSn9XK)NQ|bUEHcs+?iH13=6klM4t`SC zX;eWr9EID>Zd!H6ziz-TvU|c~QzfYC42V-2Zvqq%qq8V5W!{4;W`MFhbzk{!J2C6m!TyqWi)rC(WW}@%1*%4fTE?LS9vxEa27=a6L(KIF5g3xql zlwGR4E7qwY2JH`>eiX0`n15|FPjuI)3PZSTBc!icVd&FL4uij1jP>n%UG4*YZ5GN~p)2J*W9C?*M@M0Hnvk z+X+=6=#hsed&P&KMtsH}h;tMBwty&ye53b68Vn(sOexxM*jECqR2>7=Fvi951XSyQ zoP>`BwRoy~2cf80r$+vxyCBLpS?bsc3_8$i^4l`a0*U@g6V;yAmS{ZiJ#oCPXW(L{ ze&XU!?BWjvb_>NHqBSsk$7CZ_lJc6yw7}rC6Z`IK|5SVDea(WSe{7ckwg32qmezk1 zKX`pn#8)YAzmBBOC;kwf&9^m-54@LUo}#g^-D@r-4dNl#+t$9gg@rKqW;Im&{c?Yr z|F5m)@H)L}`+q<3Q^!9>XDjPW{(e%cJ4?{ZTXxwezIcK=|L7uYua5EdAK%*k@fyu6 zYthd?+6B;j_=3UIx~g!${?h*Mop;Nx{dvuL7KD~@W8t&-ue)(1((-fR)ou&VmMsGN zR^EJReIw-c6F7b74J%^)xH|mbcxEQJ)%#n&n;TWp?SmN_WGqG%&Y#xrxd_@2^7)39 z1&IIHfLhSPxUTo1h4aHBxnfhEAJuZ&^3Dn})*6e!g)3$N4KjpSoCUdQ1sUj?cA^Fu zj(e*4djHt3me#3(wLQFP@znpu30b#@-_YF)N!G(@4Q|GXSec<%;)zooYf`3oM zKEOJ8`%UlvaxUfH*KGbEIr%?70dLOQet6k5$^5v+@HJK+;{GOEh8^j5fHMa)w(N() z2Zy$yRsz8bhcDjXB2K0CJU_e5K%{XIS)UnrJAW3jue_shTLNlujP!aixUkh@O%Ln* z{dex+UyN}4^Wa?1V1JwS|F;(K=5W8~Ws}YDa_8z3%gY>$N-XV5))qLIwN7d%V1PJw z#q#^{#i35<|J3q7Y1(5ubr(l!4LM1w|T( z`Ar?`rGnpd@!x{Ro5MZoWy6sW)1Gcn|CST`?KOtK=H|--ozKOwE9sx)w<_&_O7y=i zh(8f4pXqixoPF)H?b-Ey)xD81K5nj2sfgcSie`U3-2Yx7|6h>)e_IlmS3he$sApTZ z_u3;CF!{aFx9(!IH}8D@*PQpZ?A>(b=9ahboSg8yw)t@Pw(@Udc7JfqN|>{E%SV3B zaQ)@rX`=Sd-(PUkJGt#sadv@ZFyDtb92Ybk?pEp=VX+CN_FZGTzsN~6&W>$+OO*uNzhsD#(wE1@-R-HkWx zj#sLtrZp15ffaLMYwgQHW6xW1+r^6E*oFXpn50X29{C?@?(oh%jPOioL68b_Me)U> z(YCbSWX=Rt`r48Ntyb$b-eBEYS1_ry?%7tfunvY5E&Lb307>V)ZeLo#b*37l9ua_x zgEbPSvFPF>YYH&yVfv+(*8}3J8vZQ<;@U{J&W={_unvY5Ev!@J6)miT;iVSV!SF8+ zhE{R)udfYxc`Yj+DZQHX2OmgA!r&UoUrB%T*Q6)oTUN54sW>GCVi|BA%*4C|#P z*3<13HLQbS9Skouunva5t6|+U{I|gHW}-FuvOye|95Gx`k5uN&dQ(*jNLDS&MLbQZ z`KA14T+3meN5etLq#!aFGr|?aIE*YPkg2?-AzZI7L(pR8uXz;h$F&cvvDZF{23vE> z^z*e(wXJvc(rn(KE2f;fW-eMe3oo0kep+$A2*y#QVczh>9sL^&7>Q8I#B$}#OX*QH z0q3&TOvi&=OJe>A0nDml;re+Zxua;Vi)bJ~^f=PxYs#YQy!+)ut^2nBmTy}x5U!~2 zmjKqvuL}G_yD*X_6HayKT96mUSu&`qD38n)$O7JQ=RwU^)6@hqLOnmy4%R{TF3Y+w z$Yoi^8aExcQ6*dKFGo86-Oaam=@%aENUdt8$z&nb^5=3)-u-~zHUmd^z%RLcyQB_*I&b<1s;qg(D)Kx z$69}EgTMC)Ywr_lGi%%NnH$(6HTr&vG}gHl8GhEIk!x!>`n>inNH2jC5QTw+6^w>8 zM#jN4(o#vFt^VrFZ#XywSu@T*kMVW?`BJeTuSc7gdbsfK=}@9t+J3XIS9=d~>uLOC zqH?QF6*aQjXZWPY@Xa?^Z4;cmV&PP0mhG5E{H<*)HL~{Mu(WqL0itRdRpaM1)}2?q zqflQXH8Xt4>#xGnq86+fXFZm`nv``vw+hpBR{cs5>tz3x9@ZVix`SAC4X-xq4&s#_ z)*ZwvJ*+#3S9(}y5U=#0weBF+9mFaWUT*%V4gx1*=V~|Hwn2+=$#>ZCoW7M# zOPkT}wV>I5psul_?u^RxZrB!ZwYsB{({7-E%#oYbVczQNDm|rbCG%+kT(or~#EBrL zQxkYivI+aZ46Kc3bm6lD$Gp+jerPpwL4YA6RVtWw|Irok?yoBjcj~7uy#DBDZKl1$ zO2gW3D!SD7h2|{+Onw_p-68Ty^i1?T*+vx3JtmrXrUh0?Nu@kw>8KF%(n`zTJdXQ` zVZ}t&ZPsOkp1e9TB~~Lfk>j%uM!%_J1ixN*I?eab3eX7lvUIaxJM%;XB$h=dH6t~@ z1$;cH(#;#)Z;bJ9#@Z)JpD+$Wu{O&3>2eQXQtGciL-DJgFZ3&(99cU5yz7bqpwigZ zGq#X^${WB7DOwIcJpmzZnYFLweLlQU-9^x6`6s0;%s-##sH7f`s%Uu1=l$BruiG@M zIK=q!16fx3cas5`5Ia&?q;zI(n1MCm!tId?x{KGw;w_H5?#V+%76r)Bz=p+h(*uJg zl~V>e$WyA@Gs8^ZR4~69t`N~MELEU5d6~aNTZjc4{5rtu_UIFOY^*H-n-46|2v#nT zvIJys10;eqNGhwG2xuoLW*_L=sD^EawjYTokD3AQbea%gMBTwetoe zGyXwXc>E$|0B{7mE&o#3?F#>o{4`Pl->3R|xg&)De*NX%Kc4HNXEyIj@Ky)}WU?AD z{7d7FnBBC>%ZOd_q!%NVEvIyO&$$@&rf%Oy`_Qcf7tMeUiHA-lCM1X3pM}K4gvKUn zeS9P|HZ=ZBVra<6(1^ryA0Ll6d+y_NiHUIu_7)aUDAYVLG$k?VOmqZ1)I0+6@vL2Z R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_password.svg b/artifacts/ui_eval/current_tui2_after34_password.svg new file mode 100644 index 00000000..dd966d6b --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_password.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Primary Login│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│Password Board│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_password.svgsrc b/artifacts/ui_eval/current_tui2_after34_password.svgsrc new file mode 100644 index 00000000..ea8f0dfe --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_password.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #1  Primary Login│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│Password Board│││┃ +┃│Kind: password | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 1│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_pgp.png b/artifacts/ui_eval/current_tui2_after34_pgp.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_pgp.svg b/artifacts/ui_eval/current_tui2_after34_pgp.svg new file mode 100644 index 00000000..a55067c9 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_pgp.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #5  PGP Identity│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #5  PGP Identity││Notes & Tags #5│┃ +┃│----------------------------││------------------------│┃ +┃│PGP Board│││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 5│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_pgp.svgsrc b/artifacts/ui_eval/current_tui2_after34_pgp.svgsrc new file mode 100644 index 00000000..c65f5a81 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_pgp.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #5  PGP Identity│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #5  PGP Identity││Notes & Tags #5│┃ +┃│----------------------------││------------------------│┃ +┃│PGP Board│││┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 5│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_seed.png b/artifacts/ui_eval/current_tui2_after34_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_seed.svg b/artifacts/ui_eval/current_tui2_after34_seed.svg new file mode 100644 index 00000000..17d15d09 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_seed.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #7  Travel Seed│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Travel Seed││Notes & Tags #7│┃ +┃│------------------------││------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 7 | Edit: e│└──────────────────────────┘┃ +┃│BIP-39 Seed Board│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_seed.svgsrc b/artifacts/ui_eval/current_tui2_after34_seed.svgsrc new file mode 100644 index 00000000..ec6bd781 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_seed.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #7  Travel Seed│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Travel Seed││Notes & Tags #7│┃ +┃│------------------------││------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 7 | Edit: e│└──────────────────────────┘┃ +┃│BIP-39 Seed Board│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_ssh.png b/artifacts/ui_eval/current_tui2_after34_ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_ssh.svg b/artifacts/ui_eval/current_tui2_after34_ssh.svg new file mode 100644 index 00000000..cba5eddb --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_ssh.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #4  Server SSH│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Server SSH││Notes & Tags #4│┃ +┃│----------------------------││------------------------│┃ +┃│SSH Board│││┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 4│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_ssh.svgsrc b/artifacts/ui_eval/current_tui2_after34_ssh.svgsrc new file mode 100644 index 00000000..b835448d --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_ssh.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #4  Server SSH│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Server SSH││Notes & Tags #4│┃ +┃│----------------------------││------------------------│┃ +┃│SSH Board│││┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: (auto) | Entry Num: 4│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_totp.png b/artifacts/ui_eval/current_tui2_after34_totp.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10ca67df3173985b7a10840f52975bb41364fb GIT binary patch literal 33071 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 R{>p`e4taiA^Tp|J{|{E+0b>9F literal 0 HcmV?d00001 diff --git a/artifacts/ui_eval/current_tui2_after34_totp.svg b/artifacts/ui_eval/current_tui2_after34_totp.svg new file mode 100644 index 00000000..3e3cc1aa --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_totp.svg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after34-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  MFA App│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  MFA App││Notes & Tags #3│┃ +┃│----------------------------││------------------------│┃ +┃│2FA Board│││┃ +┃│Period: 30s | Digits: 6│└──────────────────────────┘┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after34_totp.svgsrc b/artifacts/ui_eval/current_tui2_after34_totp.svgsrc new file mode 100644 index 00000000..5582ac90 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after34_totp.svgsrc @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌──────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid  |  Pg 1/1  Rows 8/8  Density compact││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Selected: #3  MFA App│││ +│Filter : all││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Search entries (Enter to apply)││ +│Links  : all││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││Jump to entry id (Enter)││ +│Managed: (none)││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Results: 8 | Page: 1/1│││ +│││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│┌──────────────────────────┐│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│└──────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└──────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  MFA App││Notes & Tags #3│┃ +┃│----------------------------││------------------------│┃ +┃│2FA Board│││┃ +┃│Period: 30s | Digits: 6│└──────────────────────────┘┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_managed_seed.svg b/artifacts/ui_eval/current_tui2_after35_managed_seed.svg new file mode 100644 index 00000000..125c1830 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_managed_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-managed_seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #8  Managed│││Search entries (Enter to apply)││ +│Account││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #8  Managed Account││Notes & Tags #8│┃ +┃│-------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No││----│┃ +┃│Index Num*: 2 | Entry Num: 8 | Edit: e│││┃ +┃│Managed Account Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_nostr.svg b/artifacts/ui_eval/current_tui2_after35_nostr.svg new file mode 100644 index 00000000..b424521b --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_nostr.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #6  Nostr│││Search entries (Enter to apply)││ +│Identity││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  Nostr Identity││Notes & Tags #6│┃ +┃│----------------------------││------------------------│┃ +┃│Nostr Board││----│┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 6│└──────────────────────────┘┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│┌──────────────────────────┐┃ +┃│▣ QR Public  ▣ QR Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_note.svg b/artifacts/ui_eval/current_tui2_after35_note.svg new file mode 100644 index 00000000..4f662859 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_note.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-note + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #2  Ops Note│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Ops Note││Notes & Tags #2│┃ +┃│----------------------------││------------------------│┃ +┃│Note Board││----│┃ +┃│Kind: document | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 2 | File Type: md│└──────────────────────────┘┃ +┃│Content Length: 59 chars│┌──────────────────────────┐┃ +┃│▣ Edit  ▣ Export│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_password.svg b/artifacts/ui_eval/current_tui2_after35_password.svg new file mode 100644 index 00000000..07efc2df --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_password.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Primary Login│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│Password Board││----│┃ +┃│Kind: password | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 1│└──────────────────────────┘┃ +┃│▣ Copy Password  ▣ Create New  ▣ Edit│┌──────────────────────────┐┃ +┃│Password*: hidden (v reveal, g qr) | Length: 20 chars│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_pgp.svg b/artifacts/ui_eval/current_tui2_after35_pgp.svg new file mode 100644 index 00000000..79a09f3e --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_pgp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #5  PGP Identity│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #5  PGP Identity││Notes & Tags #5│┃ +┃│----------------------------││------------------------│┃ +┃│PGP Board││----│┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 5│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_seed.svg b/artifacts/ui_eval/current_tui2_after35_seed.svg new file mode 100644 index 00000000..8c46c8e8 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #7  Travel Seed│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Travel Seed││Notes & Tags #7│┃ +┃│------------------------││------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No││----│┃ +┃│Index Num*: 1 | Entry Num: 7 | Edit: e│││┃ +┃│BIP-39 Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_ssh.svg b/artifacts/ui_eval/current_tui2_after35_ssh.svg new file mode 100644 index 00000000..381a1a59 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_ssh.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #4  Server SSH│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Server SSH││Notes & Tags #4│┃ +┃│----------------------------││------------------------│┃ +┃│SSH Board││----│┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 4│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after35_totp.svg b/artifacts/ui_eval/current_tui2_after35_totp.svg new file mode 100644 index 00000000..01230126 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after35_totp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after35-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #3  MFA App│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  MFA App││Notes & Tags #3│┃ +┃│----------------------------││------------------------│┃ +┃│2FA Board││----│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 3│└──────────────────────────┘┃ +┃│Period: 30s | Digits: 6│┌──────────────────────────┐┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_managed_seed.svg b/artifacts/ui_eval/current_tui2_after36_managed_seed.svg new file mode 100644 index 00000000..411e1ff8 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_managed_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-managed_seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #8  Managed│││Search entries (Enter to apply)││ +│Account││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #8  Managed Account││Notes & Tags #8│┃ +┃│-------------------------││------------------------│┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No││----│┃ +┃│Index Num*: 2 | Entry Num: 8 | Edit: e│││┃ +┃│Managed Account Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_nostr.svg b/artifacts/ui_eval/current_tui2_after36_nostr.svg new file mode 100644 index 00000000..183c5b73 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_nostr.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #6  Nostr│││Search entries (Enter to apply)││ +│Identity││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  Nostr Identity││Notes & Tags #6│┃ +┃│----------------------------││------------------------│┃ +┃│Nostr Board││----│┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 6│└──────────────────────────┘┃ +┃│▣ Copy npub  ▣ Copy nsec  ▣ Edit│┌──────────────────────────┐┃ +┃│▣ QR Public  ▣ QR Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_note.svg b/artifacts/ui_eval/current_tui2_after36_note.svg new file mode 100644 index 00000000..65a5aa70 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_note.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-note + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #2  Ops Note│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Ops Note││Notes & Tags #2│┃ +┃│----------------------------││------------------------│┃ +┃│Note Board││----│┃ +┃│Kind: document | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 1 | Entry Num: 2 | File Type: md│└──────────────────────────┘┃ +┃│Content Length: 59 chars│┌──────────────────────────┐┃ +┃│▣ Edit  ▣ Export│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_password.svg b/artifacts/ui_eval/current_tui2_after36_password.svg new file mode 100644 index 00000000..811562af --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_password.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Primary Login│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------││------------------------│┃ +┃│Password Board││----│┃ +┃│Kind: password | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 1│└──────────────────────────┘┃ +┃│▣ Copy Password  ▣ Create New  ▣ Edit│┌──────────────────────────┐┃ +┃│Password*: hidden (v reveal, g qr) | Length: 20 chars│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_pgp.svg b/artifacts/ui_eval/current_tui2_after36_pgp.svg new file mode 100644 index 00000000..12fc72bf --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_pgp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #5  PGP Identity│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #5  PGP Identity││Notes & Tags #5│┃ +┃│----------------------------││------------------------│┃ +┃│PGP Board││----│┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 5│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_seed.svg b/artifacts/ui_eval/current_tui2_after36_seed.svg new file mode 100644 index 00000000..f9684d76 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #7  Travel Seed│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #7  Travel Seed││Notes & Tags #7│┃ +┃│------------------------││------------------------│┃ +┃│Kind: seed | Modified: (unknown) | Archived: No││----│┃ +┃│Index Num*: 1 | Entry Num: 7 | Edit: e│││┃ +┃│BIP-39 Seed Board│└──────────────────────────┘┃ +┃│▣ Reveal Seed  ▣ QR Seed  ▣ Copy Seed(confirm)  ▣ Export Seed(confirm)│┌──────────────────────────┐┃ +┃│Seed Phrase*: hidden (v confirm) | Word Count: 12│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_ssh.svg b/artifacts/ui_eval/current_tui2_after36_ssh.svg new file mode 100644 index 00000000..fd39b282 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_ssh.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #4  Server SSH│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Server SSH││Notes & Tags #4│┃ +┃│----------------------------││------------------------│┃ +┃│SSH Board││----│┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 4│└──────────────────────────┘┃ +┃│▣ Copy Public  ▣ Export Public│┌──────────────────────────┐┃ +┃│▣ Reveal Private  ▣ Copy Private  ▣ Export Private│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after36_totp.svg b/artifacts/ui_eval/current_tui2_after36_totp.svg new file mode 100644 index 00000000..243439a3 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after36_totp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after36-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #3  MFA App│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│┌─────────────────────────┐│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +││││││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +││││││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  MFA App││Notes & Tags #3│┃ +┃│----------------------------││------------------------│┃ +┃│2FA Board││----│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 3│└──────────────────────────┘┃ +┃│Period: 30s | Digits: 6│┌──────────────────────────┐┃ +┃│▣ Copy Code  ▣ Reveal Secret  ▣ QR│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after37_totp.svg b/artifacts/ui_eval/current_tui2_after37_totp.svg new file mode 100644 index 00000000..9ede764a --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after37_totp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after37-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  MFA App│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | MFA App                     | totp           | -                        | NO ││ +│Results: 1 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  MFA App││Notes & Tags #1│┃ +┃│----------------------------││------------------------│┃ +┃│2FA Board││----│┃ +┃│Kind: totp | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: 2 | Entry Num: 1│└──────────────────────────┘┃ +┃│Period: 30s | Digits: 6│┌──────────────────────────┐┃ +┃│▣ Copy Code  ▣ Copy URL(confirm)  ▣ Reveal Secret  ▣ QR│││┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after38_note_compact.svg b/artifacts/ui_eval/current_tui2_after38_note_compact.svg new file mode 100644 index 00000000..da04a979 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after38_note_compact.svg @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after38-note-compact + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Doc 1│││Search entries (Enter to apply)││ +│Filter : all││└────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Doc 1                       | document       | -            ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Doc 1││Sensitive data hidden. U│┃ +┃│----------------------------││se 'v' to reveal 🔑 or '│┃ +┃│Note Board││' for QR ▦.│┃ +┃│Kind: document | Modified: (unknown) | Archived: No│││┃ +┃│Index Num*: (auto) | Entry Num: 1 | File Type: txt│││┃ +┃││││┃ +┃└───────────────────────────────────────────────────────────────────────────────────┘└──────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after39_note_compact_short.svg b/artifacts/ui_eval/current_tui2_after39_note_compact_short.svg new file mode 100644 index 00000000..545f648c --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after39_note_compact_short.svg @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after39-note-compact_short + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└────────────────────────────────────────────────────────────────────────────────┘│ +│││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Doc 1│││Search entries (Enter to apply)││ +│Filter : all││└────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌───────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃││││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after39_note_standard.svg b/artifacts/ui_eval/current_tui2_after39_note_standard.svg new file mode 100644 index 00000000..9043554f --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after39_note_standard.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after39-note-standard + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Doc 1│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Doc 1                       | document       | -                        | NO ││ +│Results: 1 | Page: 1/1│││││ +││││││ +│Profile Tree│││││ +│------------│││││ +│■ (default)Seed│││││ +│▶ └─ □│││││ +│(default)Seed:(default)│││││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Doc 1││Notes & Tags #1│┃ +┃│----------------------------│││┃ +┃│Note Board│└──────────────────────────┘┃ +┃│Kind: document | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after4.png b/artifacts/ui_eval/current_tui2_after4.png new file mode 100644 index 0000000000000000000000000000000000000000..f444389821233aa9c9ac71f24705725aab5db311 GIT binary patch literal 84555 zcmd43XIPWj_b%*=qbLffNN=Nvh2D{x5d@UpTd2}I(p!j%fKmnNRX{okAUzNwAkupY z5FqpxAhZx#k`o>0oO#dnf3NfY&N(06{Ry6I9`;^)t$W?;-V5GqX(&@sGE-i-aDnRi zv!^;2E>K*#aN&>2E5DPUSiX9%cj3Z~3(ucE(euyTBGCA=*uGgiOLj@gy8UhQgUaad z%7;&T@5)Er$)gBUQZ)g+52R>?*0-)*e_<>pyK^nO+Bv(CyXmds^sI$tw*PR#!U6~BGY zcM-dG^;>EErv5n4v*ToiperUMbcejaALFZ&j?Z@tns`*t5przBpHe;L@?-5khUv1n z>-4g>R7LZC&q$0&>-s`_1nGQ`be`omCmFDRZ}!=5za}!fh@)0gEQl1~T?*0;n$U!S zHo19P3tc3j5Cqh0lOJiv4?+9)Kj;0L z!f(|X%NEt~VwKci0kJ%ck(fJP&yV}#*QX7i*(5z}&@CW&Ax02>*6-4<=SG)CHfl~t zrL+$;Y=oJ9t?h!rYdM#^KXiE!x317RV#k5QbkK!h2Q}1xOXZkxgNmvV_X-rdtK_Gbo})?!+X}&bvZOw;W<;^ zf9xkyQGeU#HTWcgSmEN^mEf@ML{wOrh0B6L>-B5i+x?~LXeR=C$2-|YsHS;;r)3U7 zJZZ|w&i5;YZ!D0u(WhJ0iHuW-N!;3*9XwAP4ruhN$iuIdL7TAM%AwSpXZa+}GtHtS z$h7wwfVH`-kI6-om4c_pCdR9@~rJFlg(avi|;Wbywv18E<<8g zC+Orb*+*ZWbda=!?$wAoGz6zQ(7JZ_Uii@jFjEyvmDD}|v0m7}jk-=_r{ zWsoPCNXfUPhP83xorRgvv1Yd`d9!y=Y&$4o7mn-YU=FFjG2nsq!<1f0TkRW9yUXWh zUVLv(x3aB7)P`it&YuCmI6|ADeo1KKtM-lQz^wBFH2ue6?oPvI>gqSd<<{mJ-0M|9 zi@LbQM*5v@D3Dkj5ZbV|f!KJ!Og@JO8}haZ^@bM4>5&>uUkU?@MqgUw2#d<8nx8m; z6dk#x`d5mNN5OYw#w4YLtTI-{h&~Xlgh-8QGa%nglg9ek4+rnFg;HO&@iyuz*d8FI$GYc=L6%~4ILzoFsa4e0<6U*@wH>czLpkRZw z=L-7Nhr|^N;*5$!nNtPoX23iRocg&TT9a*PFc?6X%`PGh<^bWmNVjQXRx-GHeCPCH zeRDlYVFM;jEGA-*jpYNWCtI%(?_2iq940u>Mlv`+(*t8y)b3W8*|_z3&X9y^MblH0 zre&$5TNXXL5;ZyAn&aSZ4&K6aq(l;E{D|)OhUm~N5)tv4<~(kOx~SJD3K&xMA=*F^+SL7sGH?|V z&E1GSiA;-J#mkKzrC_gRAZicL=ne0X4#(_s_vcDvx8v8pmQj1qD>jZ}sYoq5%u#X1 zo-KwCx+8E>3kH5GrpmLvAjRE6V-4$bXXm%DMlTd_LhYQLN16Pyef>jnV||A@(_4sb z7}W%gMt%-4j)VmVt^!C%L;yPaxiey4nGYNohs?DP*>}P|nO%Svt!VnWm^&8~#l#U% zpE{xJ$Io4`XKyfdT{&`xI01cq*GcApb#@-QendsFGhDi^$E)Q)i#Y4&W#GX*t(fbJ z;Sihkivpes?&arv7M&vCu%c)`1qhSJ+>vs;biGuxUy%8!)fNOj4fhk5JrpRXojk;K zAx>bOM90k}4qv#ZmeU@)nxm@y)jQ?CNRsbt=@Rad=B*LnW&27>qgH+6y;o{DE zK0~QtLB9s*nO@*Hu_6PRC3QYR_Qn|o(vJsqcwzI=O~@HbA5t{p)TwQg!2|&6KoNW9(DIZK{S%s z3_ANt1!nh(ny^i76FJCIanm(YieCfQlcA6@hc^##MMqB4XJ?BPU>*>66KR`o|9+9_ zxIh<6pV>YEoHJv8xt2l)kfLZt@P1ZY3+|5ArNYfF1Hov(A$}wDZ0k)aKL|FcEp{+* z20P<{LXcDF(;)Sh0q2!G>;p)m|MzKiKT)}w_B)J?IVAN}-5<##1$yan{)q7#?fM$K zT(FV$M}A@e0`9I5;t*bGf`kt!44vN=i(ih8uS>jTsq zc4{>8M-1<30vOT)Aok#W^oZRj$Kc|*BZ^k+mcxfam2W26tUd5EH=;(w5++XW%txdO zBmtU-j6K=bwelA9)6#Z7Xxwom0Ij|GcXAM#w z7Gqlq`j+#Y5r?$^C!$2XWZyPL$m9uf&6e4Ky!~>q#zMrBplfVfjmouxC&c3Dq=O#+(*V?16F|k8I*0W)Q=EC^YvNW z&IU-gj-EN43P_X8>BO<`W&+HF{$vXzjmwhGB68X48zo#nm;pmqE2L?>iC7ZywI+>^ zEJ5vPKsq=BajzG7vLgzfjXyph9gj2}5btqE>LLbZw;Xl}%T4L{y8by#<_KSg;+>p; zGB7s-SBZYc2=(&F;D#O>^0tZ^jwMuZvoQK{mBd zo#+h=nw3>2eOFT)9|IEx&A^%u$%k9X%*)G2=+xyr3z29bT&t~4UX4&TKRY~LtH+WM z4?^}ZdlkfwQ_?Xlem0BtX;($A5N523?(ckXG3*ZsrzLsxOaO#?e-NsNj6Dbv)X8-1 zNbYbfhjdNx1i}yMUil)g!q+5_&pwKlN=2+-Vo~f4V=K|SNkg#}&l+>K0$>0`R`;FB zn9&^^gCT&&gxKZCA0IS z)0FauP)^Q_?;>npevF?*|*=V}rA$U2e(P8{PiDTQt zB;q|(nv^oz(Re8ueV?=#0kD#h{Q<6J`|--`CuNA!vfNxx@G{CTc$ZYw;tTh;GY@cb zDc>W2&pjrO&+jbJwq+pFk5lUPo{8D7rgmzm$sB{DopSmU+^73;Kxme<-HIxZ8~5=0 z^Wtp)VL-eWNX973p7lM8BI;EQX#AFMCzg80jZFgz}E)>O3zB2XLsFo0f5gcNO#g{t?$x0;Qaind$C?O>eCV`ubN$>=Ezk`|Af{9dq2ov$7Uy{4;AKD{z;L6X zHK-Tq1|P?dS3E9QN|P{uw{y1bQPmdNiwMRb-4l3f+t22L-G>6Jt;Fys%FdJuUt;!I zxInfV0S9=8zh-axIz*efj#owJC;79W-mDS8SBakpTW2aViE*_Aibtwf9$(8`8#!1>bqda zC4!+_F;LgKMM_BOw7#(NAj2Ik)PNtvBeZH5hVK$^*;+h!!Ej;=)qy z6@y}Rd*QvV_2oDD>!mU^SXrtGdJM!P5!4?b#UB}lJa{L=saVVdHwqLlquC^DzP(nA_5t#Zj<(f8yhHpp zXSmR>mp+zAz8(E*_ScSgmSn>GV|*=D5d2Z8l85E^9mZd!Q03;0f94wbT=_wyevERd z|FRsSZY3M)$9Sc0e`I;MKAf+hpy0)>tC;!EiwhXp*s^?rY;A4L%x23KpJx6&|H8kE zs(-yD;y+kiGGnv>1m!=@P+=sk+gmIrV{WD^t6WR_LLb*vY?V>#;r*iTzM9^2DZRFo zdq>+_S2e*^sYBiZI_J{w8ZiUfd+Vu|88^7g=yj#EYYROO$BtPeG@>Kr$KSdN6^MFv zqei+$9hQYv8!vIu9Z2Q`0GR`rV@%CEL_IfhMfVSLRUK^Ho-`H&57-ZNt>~+9rm(AU zYI49}%xOR^yGJ<(36Uv9@jRua-<4FEoxIoAl^d6e-WC|W5QGiT$Gy(%vKk7#rDm#KFW|W)758&V9L+x*f?=O0O>^Wuph7TYGr>avT-XT)VnqM3=KI zeY24gw*;#(H!K{(lAntHm_>fdU!MpRj2S$Mwsl(0)oq&|!AKtYu7Lyfjdg@!-z>*$u0Mj4 zHYm>G;(nd%1rKw5N$fcoguidqoy`7^&wN!3{|}DvKk={ktq$Yqn>~@6V&BSsIT8OK zA~EHH*4+h4392$7hhtrn{wpQgzg+gh03u#Df60!waqL+_OZNYv-(`kc);P_I@gw(W zI~ej$cl~|TajfGS@AStx^TS;y+J@f?We93JmYF==Xr{YHTPM_-iW#a-G$=1&mKKvz z?#Q=(<0@ZVZlbpFbUeLhSa->bRZ57PQlGZ2BXOjQ%UzXIGe5qUcZEJtuWv1Q)zxv? zQPeYlZnUc)g6xJ7{JHUsmsXPZC3Bu|rWgvvmW<$CbjFk6+3g{TcX=3;##3_pgOjzqPDU zA=;A$mEXjQ)MZPByy!pm@nRDZ7Bzs^dB(~w9lu1K;`F1q+1P|jCnCLWQ-*d%I3tm~ z(8IBJm4$)Owp=t7gwQtKkrbPGs}$L%{}?PX(zTL2(k1dQ98%&O{1jg_+{Hz9j?n=i zr`NR}z7;Pya$qZQrs%2t^dr6%dbK4lbDcd(r{&=DDG~-drfv0dUFaWF{(ph{0e!*1 z#gtjLDvO+3zm8=7+~`1)Ih|7iN;~k||FMbwm2iyZ1*N2f_8sK_CyQhA$8UfAz6)#p z-;O_}59aW;9DCcm&@-yx`XgVzZj*{SBL8^t+h1Yozb3vq_->%hBh8ArZ=sLs^Y*Hm zdZ@7R|2bRz>)8IaCP~BAbr=gLiKv8$((TkNH%7QYXO+Ugmm&=Yv>jLhZa_qflXgMA zg3`Fj%UF4<-D8jK)AWv{Z04I2dV~6p51VppEsUBPM&fnlap{eeYwk+SjWas`0P&~K zFXYz9Ddi{ZHhzA=955Z={6BIC`ICgmpK;$%jSCo{;5oaM7 z^wnR+@rcju{O_6hzuxPAknppnLWdU?76M`=UoQUlbK*g*udkab(p9@bN=k12<1H@? z^u^ZR1%!`W{QJrOZY=%lQ2v93{!6I+-{chk!j5W+{Pyx0!67ApPP|Enlt{qaoBRVEdhzn}c?5~~57P;Fq+LxV{>bIoW? zHN8ph)fx1RU+|0AFN?mYJe5ls>Zz$^i;Kf`ib>ONBd=No3n^zq#_X!q)zmW20v(q} z(izZQWo1l*F2(O(wlij}-CNVs<}%1SdTP}6AdN-O?Geq#H1fQ^i9z9N6!ceu5hzJh z%7&&WWk30WGxkoaaUJ_AWC}!f+uo6`9OvTqLhXzhYsraL9HCt1 zv|8>H9GsW;VxW+Tjjptm-dIY`Dx>;^)fi*NEgpJ9DLH<=NI( zzx61R;f>6mLW*ZHuq!j!`mtcUM>Mp#%ZZN5B|6MM zVyCe@($MY~_?eSQ+24FeCPs<>(Q;e|)6AQ+AM+M%9ha+K=I+Ndw8q>x8C2m=V4TX+fsOKTY}L4#VGo(ozwn(>-t+k zaWWK=uV5OUs;Q--$CskcpyoYQe|wN^8Y2fA8ynE`LKT^Y-PbeFpK=lZ?JHNCUB)TY z{CLUsQRm;(KC#0dJP-r8+FJ-x)*97x-#dw2XYdGg-g)mCw`32n$GM9`m@!4s|j z&IUa~LT-fmbvgUy^G!NN(;({_(bnMt+eLJGQTf3L<^c2@gH` zY%;^!^LlmGO0uemuW8HJFvmyKQbObbbEVUDHx6#z^^iR9lgOpFcdg*N)QSJ#~?rzxRQyU7>xU zcij?XE;Hc3D8i2Mjn9^3cQ}<88)k;K*Y+UnNX^c3ap!&<+EugY*{|ZVGLLsqEAWYE zf3xu6=$q#}(ymudWcefR6{`qO(5WXa`yM1u&*pk4d}Yq7SQ#mqY5pxYdvLkt6VhtJ z`f`54sC&$gUlXgZwqcT5-UE7p_sspC?!|J;8LWhgRpC7&ULm?-`pX}X6mb42HUHXR z{*3ka->a`(xyWT$S!J%_t2|m-necvKejtlVUK5q=@Ak#@o~Dgo^#j!KMAC5iS25}8 z`YDa{1$r)wxkx7a-|olLO|}%3*vDsO>crJ79ZgMl?)+l=!-+&wTz~(ah;)soLHZE_ zj1DgJI9Y>D-#Q)bBMET{|7e%H)A_fRJe&IZs%H*H#!bc3)Q>0=wsw!-;M8xzA)G>K zjXf>TR6i=KA1N&b=u6y-K-%9geqJ!tufP8mXmYN^J@-*-Ki#VEb4a~z@)wgdf>yt1 zz0j7}ejvztay{D4zyqtone%*QlO@GM9+$0Op@tRU@n9 z+|J_kO{dYsXPx3#M$!rIUL!3*UW_xb3l7G9a53wty^&o*psb*q8be7VX)h zGko(3ti#kjNV$CIqezneHe{g@`8kEvt;nXhaZwt$7N5$kVt=V~=L6DKbNQO=W3HxN zM`V(bri}5{)Aa7og_xV$8bvP4fq_AVf!cN>S948${Tdp(^9$&-#S@rtXrM`w*bpJ^UEm;ECNnhis)t`2;rd{%)N4e0_ z(ndWhh*zcjNxRa>jJhaEAXlv6l5Ntyq`;%kKX|sSff{Fyfd;20Lq(y|Dt)4H&sy_m zm#Z-@W#uAy`5dyKfai2`N^>!HCt7LioCe35vM8~ zT37ON-R?%p05U>G<54_vm2ccOrT30gch+0r=s#LOpWZj8)INW=Bi#>~#Amu)k8JWw zx@R;zPvvtzA-BCJqdFOY}jSmI}#c$hie2^V^E0ae- zOupSr(QmWJ36SzMD{sE;LC}{053hUEQ(4Bj)|>qoBnz(Sb{9`M81Sc`1|L1@nF|lB zPu|?>{t%VNs$U!1kDTODt;>{>Y+l_@C+iU$S;fWam<@oO%-u0PLtd!2cXOT-RNiWN z%m|m>L#|h1t|ocW$5O``jO+11z2_o3HJFl|zjY*y{50PWA~Dn@5~k|-t6c3ZPyL5r zkWHV~Ha^}p^Tt#4BvTVe_TH&zg%dmthit8B_quSukdshNusBn1VM1DAR?O>g%eySS zSM%<@f3xKtFae&1c0_v;b*hJ$Zve0juERH-2u~dLx4lXn3`MoqR~||It}e~VFLo2N zIq*=jpWVd~A|R<@_`)^LKKS)3G!V^t{hHku)GVDU1FaS(gFD!C@AP7bMdhO*%bm<< zU!NQwNKiMOQ>6cXcV?N~I&bjU(;~!^o>UfQAafJGe5iKjnxu!qq%&83`nZK&1{XtZ z&}PP6H@@MU)=vTx-GjGmhyj5K-~qcy%1Li(J{>v>h> zHAK8;1;=bUq0lKQ<^e-)6V=D>eb3H$2*n%4X<<%Iaw$j+;7~U+F6-U*TgGKChUI#L zfY!u*i#N-=Vxkh4+i^^`POG{iw)#5oRe`d?)51b61%>;l_;kc*5tLh!bKaM`v3bW+ z9ZFkJ0=p-@np$1$VyC+vb_r@XEq}XTZEB|Za6=9vmv7vzro>i~iL^Ex9Uc8s?Mu*I z>5PjnVAZn8T)*<>*GRoPrVe>qp4|nYmt0eiRKpADC%8vEnH1}rWCn~G5_2lX$eB|A zgV|0=kEX>*i01>&3L9bL0#Ujw-iPPz+=_`dO^*%1RDqgdYa#j^0qvt8@SryAQAndeSV+VXJGf*NT$}+ojV=OZ-E6V3X z`S4-*C}!_?<|ugckeKJINyZa_d(ubV1^a7@{eJ`YtAlxYJR@D!>+e}sDe1ADAC1Rv zY-?Ejx$H%^ddmCF!3ie8G|A-RA{v-r?EK!(UC>g~$Cn-%kyD{(nDCry=msTn4Hj4p zYe(PkOljnX=dL6+-`o%TJx#Q zPxNO7TMKKi&`eD(-LPw(6!LD`A_#taCv~&;ety@~`-#DKv&C52`FLixhihPCPlwCv zC6-)WW~R0xi#*@-a$IkS@wUf~F+WdecP$*v+p5{OC_*j8Qz__wIT0?p$al!(dR^>s zSg?EHJz}CMRloWZWjXeKM(TQ|4*CH_{Y06AU&@B1V&hP2alEQ`-L-{qEy2aw)zh(q z$b_A3m2VHcw0TA`8(TN-#%o!7y^L_-&dy-}P0peuKFZHWI-N5&85`EeMq4$PSp9?_ zQ{!DwUk0Q^N^Avl^R74AcxyJnTZC?S<9!Rosu%TS7KBwnS;tOFo9{tJe+6 z3H=hfD_vX&1OkoB?$;{oPL+Cg*+6dx2M4HiX<1oOOSw^X$P$CggUhiS*1sqJ<$2od z%ax?f1d3fT;Bx(dj3K$rAD8TP^Ko)=9&B0c|CPEjc@h(+i8aK936Mr%J(@)v!s^1yk9+Y$DQ_t=@ZF%y>rt(`m;j62c>+hM4Y|VM7>JIt5x8V9aVtVSxHE1{69D#tvQU`6d zaXs-q&OqP^STPFLyvjF|vJ0#CE8;b{PczS+QCFbXk{SHxd=38`*&oA$cNb~0XJ=>T zlTy5=@_5eS3`H`iWwYZ5`QAcdoyw9&PsJmnfVlB`z-e1XgieJVXmEA25kK9$)EdDN zA{dO^&OrVxWmp>YRvjliq%g^jY|xDBIaEXb;MreN9zJi2RJob*9mf9Lr0>#mUt?iC zeTD%cGE}?mZ&b;ebvFy4-Too)B0bQ?+yMJ$16)B()&cEq5_<3%1$*0v!+A-(45Z>XGA=K7J9Q z0?kJ=L7de)2AJu+U2DAC?eH@xtn_hTZq(w)Py00tB|GZ}Ds&aWtRMMEeHzg(xJO5K z=z?ED@6huzDaj2JA6&Iscxqo~KTPhle!IA^f-u;%%(GWum!W5BT`s(vTPDz$B*iJ{>y@L zg`eyGx|PhsNOxT}rQc@2ONOh59sD)-`%>C9h9R?iHkw`7p%Ga}+zk5n;Y}uIhv~>( z_LyMq+_!ggKS_^gNv_FyROwu2mlQTKurbnYdT9;uc%p9sGQ=DV&L9fx_I+Guleh71 zQ!U%4t7q&WLcZ`o;Bvl1&Q&xq`fsmGcA9!KEI9>NZ^{6DtbVo{h?;)UqxSXw8PEiS z%QhOIr3}pU)gCMegf%UVirA=VSb#u7n3r^`HKH}mr5lY;Rc_U^vHSW}=E}{#l-zn_ z$38`;zI;FKw%Nig?uv-H@WM*uGe18ih6LiYnOusQ zYSEW!c5A z{W*8ivs>3x?_N?y7rPbI2-)6%6FA3_fb)C~K%EbFwl`=^nY7DxfPal-rLAUx_owozsm4i;cD6}sKjFb`$KB$+ zfq@e3(L9mKF;-tpnt!>3JN}Q0@$}se7&ZDub%pnG#92KB=O`o)z5d|+kJ1--{?j#pXm7o z4e+PiGq`zxiGlZ&|72CcJ;i&kJoQu1wZ502d-Sc}OWYIQ)G`a~(qCi0!{2xwBGO71 z9AfBRc>Wrbuq9lLYED4fJ6j^AO4&Ix-W{c?Z(aSvG~rXQ^PIYgz^h>cd{f`n!+&wPedG8rUI^Im9n#q!+e8 zQN*kV5onBah>zv*yOE-?iSb5p`nKU#&YrK8f|Dsy!VYj&cCFJ`mst}-&M`NtdO3t` zMj2x+HO(RTJdOg-&N}0EKi>yfH>O`S$6~y;?+U3_Ndg6(t+K@mxKl;c(|HcItW9Tw z;E!=@$|XpPtm)QZpzV-~ymQ?Q&Zv_URi}p7{`%>J#0dhan5p+G8P2Zh3~u)O0j7qT zdA}F3)VrYn)_7i38wIo$Tdw+~HK#pQ`AzoEK^?bc+N`W9c?o&Gq<)IusUw(XHYWO# zpTwnZ@5C~|JnsiB$ywZE^eBupqvrAxT&EYF-R?Ny`k0nEY4VVNJDyvGxIXUdOXX(QGg0xexf*W!`ho7UQ#`1VMJ~Zg;a=m*Q`#aw${`H>2-`8QKn|Y&d z0(OB3qnIxkmBGWB!qS8RCaV-(`lJNQ0h8OMjOFCiz`ns3U?{?sRchR8>j@iNNaz?v z?hXs@CDM76zL$+lL=5RX59eOLw$tITtXnmZSoxPh)cbI&VB+l4sTI$6Cc+})X*CT< zJ;A_aJ5k*s7p2OmkoFIHTp5zqx0}~@FDpDjbZ(?l-uLSLs1?}}7yWAdulI;ul}*_L z{BNzyzgbud>we#l!Bw;9{x7|Mw1O4Vrd?3GCI!LKu7zvg_eN_)8?pSSqKZ`KU%wN%6 zC*1e$kBmD(xG*Gj3Fm%1XZznAHx)@~oMdj8q}YFK#O%tHUU)5mS2a)T9RoxlY-30} z@!s=9nUA_!8ok|%8@M$41OTSwb|9Ndp8si8pj-yx*(yY|{ApvQ(#TpW5F&*2x>vIz zwzOsAZmn94eAWR&jZS6W56CcKv0eC`_L?8$9M+wrGs*E}NzCsYp);SUamUicaPWGPy)lnWzP%eu1Nnd?yZfXy?2f8A8R z`ryY$Mj|PNbP&NCrbgu(_Xc+kjZ_)TQi-|YNeKFgkikG5YIkxL2t`(X${g+!9}Q4A zY5*WdNB=ICN4XXq*{oBBqQe*i?2cQQS_S~oA<5T-DU;q+TWlILmp=3KFE6<;(pXTm z)No8ieMEEncf~SH5w8UnRkd`#5f*(>^WhnuXEnYSh=ti_h`AQ0MX}2O`MIw+p)qHa zAGaplz{jogc9^UI^$(IS_~>mx+SMyiSEvt0+#L?OM*DZ2=t0lpu~(o-%hnS9NV;*ELnwH$OSgn`IEEQMaL*V!3i+BQ}*K z8+7A~ces;Msyyh^T!k?$&AT^Ho5VCd%_DKq@aBa1n@Qx@w@5M<^emZEs~pDq-M221 zcm=)pQRUN}+t5KDoSjbu;?6R^aZ<=$e=$&`IuM@wL0Q$|OT`^i>@CIG53wd|W~uFe z&L2MB-iUVdyL6Yzys0<@D&%R>#Zpeg=vXb(=VFp(KDoh5rEfFgJO|Sg^}6H6#-BOT zk)o!u20{laNuF78_Sg&#PP;Kx)` z=W}0#3FMVCQe&&So!myLe37EJTe089n^f(Z1(Zs!n}F?Lk2eTxB3$kFpB%|f?=2HL z3f3j&2+MJGG7V%XeSoKThPDKDS`W&60p-_ngRB&0;hIDT)b4!i8arrloY;c2ko6~7 z1D&1f>W+vCzgk=d+*U5-e?i##<=dAESQX|vUjtXF<_G-KDZgeXOeJhV2oF7V(#9R#z|=1oT+hsV~lBD z8IT$&A$rDT*1I+$dt&NjmxVXwhBU~?OCTJza-;%-;u4NAm427 z*`&*#-75ChRSmL>vIn0>s|Jc0uPUZroQQ(TW_52giGmfbPQY~L!pVf%Cq1CzLaGL9 z;K~Na95Hxw`E)z9hZxF11@wAlg6Y)sSt*Bjxt2_s2AxK#KRBJ6alfD6@y_#WpCLtW zVEav6zx__rQhyLf$ZqyFu)d+3Ya=3#HF!JBJ_mHtAE&eof$~91va=^7$5=}s5c;wB z4Jwh2iEycuUNya_BH#6u2iXlROWjRoVchsmnu*KUxwgu{pD?j%g~4LM^RFpl*`y6% zxL@6IY`SK$vXeFB=8zbR$}Gmmg>hGTq8=#JG%D%=xCA)3{lnlpY)1@eqZDNS+9^nJ;0Jyb*<$a z81*bj^HBgNF_Cf33YkMl=h4VDrXOp46;^EIhx0+29&J>Rl~=K>Kgic>65B;T??E{` zFW1DU-LQfl=Y9F|1q$7Xj$sjZ@!u#&;m?v(Qj9=U6+D{HOn)&lZ4Px$xP zYxG`a6!TX1@K>P11vWp{G4b>dy_51GDoJc8C`ov~1X>q;Z#~7|w73xFTR@dX^ZUSW zCr9KGWO4cW=Zk04+5RU(SN|4QOuhMYJ5ofQ7YE7L8zo$N{;tJS-tP8(cawlltc7b! zX4{VlI%eH74P&~)zw2mc@`PT*QeD61)85m9%nmx;Fhq0yt#{7n)qJz`e(|DD(1n)A zM&&QF=iWOi-jr*ZP;TSzJui|T1{=o332Zh6UhUL~rlH9xWo9rS{*lj#g?kL*1g`va z1!)DfKKsXK+9F5++tH>hE}j z-;1YTJKSe+3lsM2S0@f-@!#?RY9+QadM8H@q}Wj{Rd)L;yI)(1GID}HzSr>>E}aWD z#E3xr-1W>IgAO;~9DJ+Y2JnDR!jlw1|EE(3Y=6kA+GQ=M(@Ehrsvagjah)}IrS=Q) z_T>wfig$l3U~FubIB$)9d9^J*g`#C#<+ga)rjH@gl~ry89DlxImxX~+U}wK*->3sH z&Yh|_Vb|O?*Pul(yL{(fdc*BQc9x_VvGF%wEml3^OMP9zyK@k`F~r{7?$LUS1L>|@ zZ!MIK2H=ZTvTCR}XbBx;y~_l5(Cf{>I9)ykEGAo}>ABAw&3_!6ag~#$mV*yoS0dMn z{5qaYOXM)*QYMbMg{%6eEHZ*&i;W znX3snu=6W+B~@N1x52pOoQpq`ZBn2wzwOdF8We?|7^W!7e#zO>!eB1>SnzQrDQUfh z^WHhb)sv$-i6UYH%rWbv8HQASDZoSTtBh4rK{H_(d*}uR* ztxkB(OyzD40zCZfg5U#kH`dnzC(HRROG&HeKI+@wVI~WA1!X*JEH@)Hni)XL(Dm{r zW27$Ug_LL?a<#qemU7ZDPqaswhq!NMSbiqqCW6e}={$r=N+4OmGUJV=wc|bCF&J@; z4>iR{;Y^slQ+N>o-}Y-%K-==7LtCBXi*P zGnBlWSG(DuTKHuQl%^hDDS0zAPpwop1*+B$#Ob^XAXlDUsi_t-zWKW`U2u=2H!VrSv zE}(J=pbKNp_|1~fz?}?D>|`*(%-|B1?kvO9Z>hba#c-=ba_TiC@IbbM`Vkg>x_b+@ zT^hvE1ot@Ik~g(-9sf(Hem? z2wHE2x(>o&68gcnI06sG*RmU;lo|U>y`6;^#7K=}=iqGv5vHtj1??70qk@QnusGV> z|M6|&n85ify~lwEW^r;Xe8gkRkh}eH8z4UHBXEFP{x zy_$4Vw`alT5je6cfqP_E zrzPz(!KJv0JA4F{GOVK5+Wi{O8QR{ie1xY;^peK}$H|a_N0a5V+S|p*%0(KYt}z|! z9FheUGvXJ625|)Vmz|Wb${o*)3Lp$Kbv*t5+Q6V1s(h2(-=tlvpCL^qcUMTbH8$b8 zIeS2ZpTi~41RG^%kEP|+ZPX=G%i6GGFAuHa*>%tHaWhvrNO;60FKZzoNDHwwmH}8# z$6?jpri83(>Ibyfjm_b=84?#bRdQa;c^h_L1Tt=^vOOZQ=%{b2<7ZfAgiqcJa>N5e z(NnMj-{Y1CN9Jwdx`pyW&*6m@{~Gr*Yy3o7_xePMT>fhHQ>K~KQn4IHKiP@BuDb5Q z!QH<|uW(hur0(h^<-tFSNG}`h@=vN@zyL93fH2&#*U#huhnN_2TU}Gma~&ABZQG-L z;cG`Id;SIfC*v8R3zm1iDoSkxe z@}*$|4%ddxQ$Do-9p=`(K)H(Q4!05jEMhXT^LUJARn< z!_~Z=6H}URGG(1RQ&pUY+xB>xY-8WMxS3EtW3Dh~R&wPHn!w2%t4UsS(|2zwKgMCf9f&I?&L2O^NmcE< z8_y}U5ryOMokie=?T$i-PZ+hX-QD9YXRO(@tW)@zIe4K~0Xyy{ifT(Y{$!Um?&|m( zQs#zx(4yo@wrfZBz4o@NEByqO(PTb5yUjA7pH}LYrqfCR!;)0@DA?zAxU(B2pe|tY zdIBYzz0+o0I@5kGt#?D4@WbG9N(-uM*UUs*b}dDj0p6bnd~9|@$^b?&I3e_+mvIhe zp~bL&?X}ch4#_qh8wLY)tFPy~UvC!J^-e(Q&zzjgV{?3uY z>0u2KOAlFcuE-w#=uhSy@9U7_awnB1$Bc}OtdFk41cKS)zU6?9^qp5uh=w@ zpw0EXZ~14Z`na?vaezpp?YB*q(=0w{I*bpvx%n0aK}6Hww^2dy;wxiCN|O!SJ3;kH zxBJwtUNLnD1q~a<%FNV2>g-UVahH~8;IMBY+qyiY>ojCZg+HoWT2Q9^@KHNi;y@d4 zUT^la`AV77r`*4SdD|V9#g#%ZW3{aeOikkE54&pMZ(rcT`ZHlOzUg@(sMiR@ns z>}~w_DUQ1l&j;*g)$ww^q_ND53DaOax+XG0HD#E=)qgktwMfKFwpO2wUM2A|76q&Q z5JlNTOiGFx@I70*(pyBFlaPT=jDE&o19om<)uZWLj=L~}@DY1Z?aMRHxIa>0<Nk3h+dj$gSP{*u&7CFpp#qN)_hr9EaFD4t!{4#QwU<&~M;@jqg*aI$Rblzck~ zopA8}#w=_P($@7GO@{dxqP@>zQN6$}Be9R#&R?2hP&1tBhiAF|(@^<;^GO zQUMvfi52%Stcje|GI)7gyIzeLrsjOH>or4}VkTVY0;LZ$&9%nGMwggkS-GKU-k&v@ zQcYw^R-d9XD54~!8L8=sYNaiwM-(XbS)qgLEUa4`4+mBnY*n*<%1rr{4umm)$M~4J z8L(PoF3@kU#PnI~rE-JXj|4@4`%>K?SALFlOpAbqK1=X%E2;ttO?HQ^T|J0Xq|c_f zV5&lHCpFD1tpFe5h(w}`JEm^&>4z}r4FaJ85D2Oj%=>1+2YvWuMH(RWfzZT|QI|xV zMMo zhWMRr&|dta8D#3HD+(TD0bbBX>%9=2H0*N@gPrA&nig>~zJAZkhw!H@@_WhHX8%7k z2oX8Hw<*baE$C>aZThAUKE2-(1PeJ09wo%do^*}mJ+yqUBo_(5o4$M^goMY*I278h z)~}APO0>>#Xo7;=8WBsKK^Ad!+mC_fFY~ZC!)rPF=@1Bv>(B~y{z2!G7UE84WPJMmwAUV9 zqxj6iA6ogPnl5GzL?}HsCVe9^Wb;E+fPzEy2=}kdVdm9SwYE!oE;_)qX_)N+6TEjU z^dr;fmEUm;klC&2P0z;7!a*17tX`Ap0PB7|w_WXXGCk2PgxdSh&p#=!dA8A|e3l)u zxZ!V6H9Afvh6~+}3}jw&lw$~B;N9}|}s{!(Rbz$ZMYWVp#T3s|7nO!1|OgLySn*Sx%QJX?ZkRB(FWdz|{ z0@m{v7P>8K>Iw@3m*EZv^&FtaN%tB{ttq6V+?PW8P??wON#wi=_9*lxwZ?@zQ`R31 zbL{ZQZ8=@0ZrNY2Z^5ne^z825EO37{^_Rf|XI799gKPtSK7O&ta=DAxePxze9o(UW zq(_c%Y>BO2JJ5ISrjg&waK+E!zwwCVC?AyUwbvCb5rRLH|7*eZj1$e_|Edk9h}7`^ zXoGpB`Xs65iMa%^iQI(${XuAyhK8D&Q&ZDjGS14a9;q{z3!~6C4b#)yF&d+Zshjd@xCDO;_rckKeI= zlxqIGty9(FiBs<>h*U9b+`D$#d6B!Zc+Fx>(CGhF^m+h+R}L!qTV{gJe>aGfXLur28OACzOz4-6lVb$b!=OcE zMXHFB?E%?~PUUJQWSqCLvOPx;CtAsEXKPN>DYdxu;Y4pjiyT*EZ2f>ZsqoY1XF7>F za+-p$USj0^gKVu-OKxhCl(UyD3U<^XOrz#cX#+_-}>)uuM3`8c}qrRI~ibGcw zQd;kFmT+?Sx;csxx;mZzDwp(4Dt^^v(7AaDa3>D+4#YDxg|s?Lhh5X56@mNE#hPa% z6dvSjVl_l%V%tP<3BFA?OhF}xmur^RJGbToXYfSppT6uKABcZ-BdJwHZt~tA*HtaG zVeH%!LK(Kaz+N`4|1M+4M)$4WVECyXxd0pG<^>^O_ z$`qJM=E}TyOu#+Q)Xch^MqXaG_NV%gT~7Y~mGF+du^ho$vex#vlWGL;+q}p#Nq!%4 ztHR)&b)wBZ3E9L!bK{hCtJaw9FkY(ih8$k+;3<5L0@Fd|S{=S=ET(#j>SkT5UFUX5 zB#ZL6g>a#+Uap;*X@MS6MJ=4I7-27VrI3V7%UdAY!43mg8#uzh7?ib)Am`T>8L=Xo z?>D&CB3xZvl}KhgZu3*Cx!c*bB&8E{>-JCL-ynsHy347h2WC=>A~>#%<(N(tj8|d_ z?uckorR1=2$0o#bloov^*KF$0By3pSIpFh9V+|j?%RhQ-IvqK4bIryZz)h~<5! za;qS$o4xO&1@qy@txt`}IYP=_O+{zByeX_8QMyqT79)84!?<)}z9>Mbc1@aYm^EC1 z3A<108D%{_{M~77sqKmF_i~PyHLCzw3P@atY)SHpeXE#2d_03~pWS*cKZ!&{95A}3 z?M#naN_jEwHY@L>5#z>PJ$c4^;~&IV>%Z=!%Y2`q0ML@ z-XsxV%wH@~FwJ_M9p5Xm{Qcz!HWSgLf8_P1a&}Q~5S8n`UG*;8-f$TxATq zz?XC7Wum_$udp@8FgpKwtfXJpXpU|^365|6WAZ*{^7qbO0wuM`?BS1Lll|BI@?R&< zm>-P?1f{`kO(?AvV$H-&*X_P_enmSST-6mvaf!3KF6OJ`mLF}ji#6dh)BI81j}#~O zZ~`kNi>V6ux>x>}o_z*g`{Hywt=S(xhT_(EpGyzT@i~qwYNcT~Iavfu3ox84ECn%V z{;Y53u2l_|AgJd4BTa8DdDS!Hyb$S`(;f_%y3A+UH|*Cf{;@f?Mg43kX~Q$v`03wP z++R|jhx1a8O4{;`3UcC0$mi95>iO*P9d?`}ns?_hxTuJiA0&aHLNt9Kv!IF3yYCXG z_`)+v0Pu{QsS4!4^Z>8HzVnt=!yKVq_zWvUH!3rmp79$Un*ZK&VktSFQddx9e5~aHbfy9$@=9%(1 z6(fkooDpny3MmYgEZ+=Q-F^QB6|NZSgWN#`j|Q;*)V5ij8U$N&%xFi zGs|Iz;}hUfP~aHcw1YZ}WMt;5YcDQ1i{jle^!hs&(68-N-;!Cd#1R?5KtV=8KhH=` z@iYgS2~Yqk2}9yp=?A|AFrBe zOrVg&@AGVtv|XU)9i~K?CRCrkjpyB@EJJuN20e0W^9k?bqGxgwv@Q;T%B^ICt| zuh3ArX0{|6J*BLOKm;ptVdIcr2$c$EyM&orK2G|kmp}045e6@Sa9J{$3kR_>!^5vK zXN!s$`}9pK$U!7WLjh2W#@-dZGI?NSDkoOxMz&PtxV}~XM%0g){C0(Coe3SfqFp;u zw`)FI01ikZJL$aIb#9rl4KEh^c9hs@Fkl0~xr~yi(dmcw!kAb4X*pfS8JT7sgQVtG z*u`L43`2y@)4ah~c(JyY`E#dzN8|Ez44MH-U&Y3)1`BlybLn09FH{30K{sFAHRVh( z+x5Y?!COdCTn~U$H9ZV0b5Xp##MtI@PYft|7wX*N`t0=(@{Vq+RJo^0=c}^?{qNq$ zgwA`irmvG%Ja5r{UrK0Tdq#xXr4RBki?g zSM|(kJalkE?q$!P+;Y3(L(bmsriq!;a&icmJg~8o@4JV1XrocGg^wb^~KPjoSP5gx^x)F-7??goL zVJnTg#nh&jyPvg4u}bcAxFi~%Nw%}qE!{d)=g66m^0&kYys-r9}eMAF1DR^YGeg!=wxjo|o+J!hB0^XdOl<@DenS7Yz&tWFp5-Vi$W&zazJ zJ{>-P$ynxv6#9~+`sL3#*|!Ys?d@}uhn2p7e(pDI6W#KSjMHx*Yd2f-jGO@3mqQzL<(&$*cJ$GkPk(x&+M~>r7 z0CS-9?li@1hdB#16{SD(cz(q8T1qmxnF~E@7u>#*J zkP)fLUI{plqfu;q{cu%Kj!frPf{ua@DB{nDgNv<%7w?{Fz&Ace|M?%NERw4^13OxT z9_Hfa;Ts$sAYv$7HeLKwH$ZvKlzaRHM_KOvp8Rfgr}qUSC2tfE45n(L97s z?(VhAj_(r5#sw)`0iz8bw=I9X&R5j@;bRlIXOFjBv_TrIfYA#}7C=qg^>;|UkNU4- z-v`9D`W2g@5GUCB0=e*_sA+yC_sRgX{Wc$veiN;<`Id7d_ zPdP1pH8Z8@d)&8;ax3yjb**t+RTHo6g?B{414%2==M>kawa=`zTn_@-Ni4M3r7rY} z07zAi!3GecIoJR&VlDTaa57uGNR{{KKfeh9TD7m^q`YJ6jP! z16*5BPR~hKOUYH=sJZVkxF836Fa|n+Ekh48{r&bXRSa^==fgUzr#S0n+HHoB6c`MpWGP(`b?8cj3^x6EedQSxQ;?wo2 zPYOqREKiB3(e5PyC`nO+9fyoL%fI0(cIux3nB(I)#&ym&pBD&xuXJPE18EJh?(?M^ z?7;S%V`F&gm-BxVpY4v_nTpn~v!VL+_?lmCQDd8yXKUp>QG93bw|W8zg>K6L%1q)X z#=egcHs1Pk!=L7c*Yg_iHUo!pntlE$ROTY406>=F|f zpXWQAko9#(}4_%OY#fR``~?g|MVx{8hmDYQCVWLQsy$Fm=B!<2LWPBDMe|b-^j@5kMrq5 z^7zp%8#Tu&K~C1=C-o?xd@8`--+yFegpE@&Y%A}izXtVh>pT-Lu+Wnzm}f36EiJ+Z zvnTehkAD4RbO5cp{V_oNUrDC)D|?}#p)NbjF3&n_8PCUFEjLZ>Xqf@7rQq^=<8;#j z?RC)$bQlR4m(|ek9w}y>h<`9I`mg>kI6)^s7`km>WnX0Ibv@&gRMU^o`#Sv9Wot`m z<)HfeU-4S~)WTFy@Iol0hSe0b1E%^xQM*X?5zcj1}Ra8`_rS3hW z|19+dySRNg=J=u7UBuLEzHq`5*-DF_^>OCj+R4eTlOMn1pMh0dWP&dSEK=JynXC7_ z2fiyk?!1d;c>J}`ZFYZ|;JQLss@--%yKGVW22>&6OgG25Rr}8zw6SI!oRUgj+2OgS zLmVei8rL#=ck&8L#CXZt4qo)F;fYG#7uzc%1c_DGw=YaZf97r+IMy{#vpl1>WryZ* z!=yv|mf6K#e97iAlU#@b8}T-`k2ZUFiJSNHL@n7lge#w9LOMbd>iAa5p=kR{UB1Rr zQNX^lmX>li?fsnru4`4+(G8#_WSGR(k0}y|iiXsgEiPYg-Dt+eeQ8J$LqfN|Nf_@~ z1=|AMY8uVX%2MZ&(){$D)v@7cTSd69^XXkLQRv}toY``lS$IDu`!#-R1Y^whj=e)8 z;c<~=SX^CG`nQ*Zy~B|$k)xMYBlthb|D692i?B4?x2oVGlA7D1uybm?z$C)s0jDP$3L8>NOQTi4`hEnv0*}*VKii*_(q$!WWA9F? zp`9G45HQTD;GE9JQ(&Z&DTv*plfN*(fN!Iu-qH8{mdyFr8 zoSBNp=~zR{w9SS~gmg^F#}zbQi~vGQV zMTs_$`RbNPCz7@E~!Q&C82TDM%D?!}YQmW)bk z&aj$GPA2U_`hvhHi=Xojtr99sSkZ_$0X0+=6O3idy5T2nigfp4-tIX zFll+EqV?O`0`qJ{698SOX}ut{o5i4P6cxd7*ZrMy@mkPB^npS-g1Mua02W~W~Ya7N;mUa?gr0|VnXj;LyZ1pub8F%ygIQ4Ue)p8U`% zmP;EhIM^^0q)i`*e}gt$0qr9A1NuTK4)Yg^=l2qjMzOHHsv?Kr+Gj@x07` z!vaA?0Pn1_a>u^k@Ir>X3IP9Ezdag9h@aBr9I0MV*0cU0$*{A&pnJUyDH_$OwO+=e z`dk%+iVy?k0gSA3JYhmf>KS`M3t%r)0*tH+Y7vklQY<^iEuO&)!~6l_5pbYmakl?8 zlaVhS_54Zk0j;DakCHS+v9@NnJ1DO=L9sZj>JAekBe8vwN`qC3{dnxAy=tOD+Vhp- zFa^vKGZK(sdC?7vD%i_*&Tz{_igf$yMgL{XRm6U?(F&5C!e-eNyxN4ttS%}lgi&?3 zBt~apOnb`Z^M5K0=G!ho`S@d9iN;kn*ge)7n|fZ_2BtN;aIpv+p+CuO&mQ`{IG;*3 zNkbMZWP@t>?Ths{QyimXdHi?&YTvy|t%cQ%=8qrfbj;6P@}e6}OQQ)Z%s&VO-(@3l zNVU}s(UC!<^H`8pfS-tQR%G#iutrNu4g@Bh1!lA=Eg#d^I^PXCG)S9twfE0qmhpX{ zAPp8Mh-Hws3aT=x!;xmGCcczi`Umz>_D<(_WAutDM4EqebXXv*L9-FNx)a5i#7->S zKCAq8XD=?yW>q6)@h)O;dc7RC-`8Q|&c=$FxxQREk7GA?y7@vT^yBhMG)n{B2?Uv! zj@9Man1D`H(!gkEVm2-C!}I)iMD6DoJCO7hP~DKofOJ%EmEBo@nA%J9<4=|p#6euq zoS{sf_B05=+I##^w10J191sJv8F#Y6(-WkqP$xFu)A|#>AW#)EJ2%HPA>wM1gi*Oa zO^aCiem&l(iVf>bst8+g>vc&C?+Z2t z^m;Zm{!?s-YU7|zXxkUM%j?8L@Upx$F=aYG)-KH%Bx?o*|4xgUIY;poSLe8|XNV0_k3fn04D!I7 zmI#OPBNGZ@a(vr9k6MSSeWgqitd2%!6U0(}ceEs~u|ILAqm>13Y$AMpf#t>m|wE*#He~|W;hXs$Cndp}H3 zfPV>G2yU1ovo0%HrQhFZD+moAq4m386^>yxrFu1>>$aIQm~kk;eK2hM13Cq3M>Y!_ zT79Skr>W~ODXXf&C>7Mx-y>;0>{B+Fypb#?CFk=bvkO!kx zzgP~a216Z}u6RD7AJ8swv|3;@YMlQ(omjm&$XsK@u_ZGxR-mCCp(K8vIy~|d?vqxt z2cT*p9u+(v3+jZb79k2i8ELN+ef^SpDu=^pbvahWeWl^V8CXop$w zX{;-7Y+bkQ1%GH5fULg0x-_^m&uqLq*v<*5*^FA!J2756%u2gCo0(DrMNAYNr^9m( zjO%n{&khd1j*L`XFGVN&w=a#sL4zpI!(J!<%#oYNYo{9@=>qePI$h}=<=Iczr2UrI zxcWX=i<2|eBdm*{G{?->b?^7DVlBu}<;isQG<5Cka_R=Ey00yEIdRrIGQr3!2W95W9ZpUk z^74evT#?~TcYhS^13Z}NOc=FryJ>G#fjXt=~nHR^Y@--OHIuTa~=eE(&x3Flr12Q}Rf<*!rSkFrW9JUmg%CXENnj@NSePh`Qy zh0WQ{Ij>W9C|wWrJtt)t1|Y*9=2gqpeQHiTYW7Ee`W<>~%o$Twx98p-TdYB9{zSPE z97j*cJ9`&<9RwJ5HE{&Lck*Z`E^*!}@D_BL4uo1JfZ20cw0a6>VObr%j2&Q`)U}_? zf=?LdAHK?+m??uUObaJ67J28DP0sO_wC_9JQ`1{6Z>nTNaG-z*y*9?e?Ua5@b{gJ( za6B_vCCL4n-wsKVIpMr{cTn5>DR;8F)l(NU9=G_Kq&WqHZNjR4zMhSK^x7eEe{_g8 zbI@aFc`*Q9SqvCg4-DpNd5@dh55kSdyO1uM)h?C};0c3n_Y}8Yz-TZ{Y3jM&d6<|$ zpJESi3G5EzOLI?unX=(j6`t6g4v#`AUBvum*27&ytJbpy->eKzUnHGWPoTqnO8@HKyPc8f`w4!pTTE(wJPqmFBzb?C?x8FbyH0v0iFgYYL59 z%6cV|EUaPKj(bHyRFL-ND@-qtWOA%~_y>{W@`vUu09kCpZcexHqC-P5b{D$?m;wvjVaXU9Zy9@Hm z->GZz^$niCpLJXVP_@w~ZJ5=ZQ3!_z3SxWbWDl`cd6F_QwuQktI3#FU4&K|Lc;{go zUeo!61fI+NJBVyWn3D2jc64b7#=xaBT_(1A>TH9`vzQ%`(JF=RwO@shzfp0+F_n(n zEMqKUm5g*9F-)JdY8aumd%s34W{LBvCbK4n1a_LbJoqD9RYvow8aLs3)tkMgA^2+J z&WAarW67C;{<62 zxm!y1SMK@aY@(4VB-}dZq)d-HBF|piEoC|Dq@a##N6x2eGrDt;ZQEN;Ecak4eS50g zkX6&5rpJI%;jphuuJ^Toy*9<8+(^qTpK1HGv&A|em0g>(<*M5{gE3RWTe$2JW&1L5 zVI`0-O#TlBfGXlfN-~zf+WOuI8`g~{yw`I%as`CYQ8VOUH~!$TD@{Wk$NSHrQM={f zw<{>Vg|Mb0l?_>mZk={`r{QD#SRL6FOzv#7who63S2!F-m*N@G3UWgiYU}Q&Kgw*+ zt(eqwnc+J0(2P6y%_T19F%8#(WVCxIwvaT-Q5=8wL?s;gEe#z&#?@)_aHlIpeWp3? zy^-FnTpsIn-`v~xVpx>3%coE>T)J*P8k=O{;q)HAm#cf_tVE7ywIDSRhXk??u;BQL z99k}TUa*7e{ z(i4=0LH-J3TcAKq<&K)0=fJMH36{esYRb{*cW;U}*io(AMLL6jI%XeUaKOrTm+XM* zuzi>IFnw;5^49F5K~?48c-AJO{#F~SnTD&a$3EBg3PVE3DMysGR9~v~4Pb48blO*s z7kPcej^!!Jr^(=0HLx7~nO&~0W|99k95Pg-dfZ5Mh)0Q^MdAdt%Q}Qr-*127?y=Lg z)I#eQc8E{>yN(vXdO@lz3M**@-QNPkV75@M!+1-zIbCx-gOF5B`=n7OIs_WFZ(Ooy ziCMdA7j02cAyoD=K<8{5t33iWaf>-%Vh%=g6!sL0RPz!?jCcFE4xzT`=qfga5#o1U zh@SGl=umbDu6RirrPw$}YhvtA)H;9^`D;M^;NbfN&bCFdz%83z;>t(6y1>A3&*klg zwZ1mB0iEUYZd}b~z((~CUR9?uj^*WEDub&g`qZMs=$(X@C)9pd|mGQ&<(%E*ZJCatit z!Q~{)#@UTX$H~3Amr88bq)UE@cXSHhR##4$vG9|Tk;Q&}h)<}diigj-(K^{Mu=jqt zMa$DYHSTI>Paq=L(?-Nj$8DLyQc$30V&Zg?)_b<=x28sEdwa&;xqv+my-j6R$i{?H z3~{aP#_uiF(=P556~!Dmj%UQ!U0~ z+@6bLvKp-m>CD#1oV~5yb^mtE7yFfPy-d6L%t-v>*Jp>k+Uqu<%+>6cMXw~2&7K^@ z#)BNF2X>sBh;QvxZDZ>435^|{8he&}w8QuAgrSqtxaq)dMilWH)Q~bVCoUj5oA24n ztV^NXqB#EjZrrmuXBE!5>)GQpcBdc7;M1-%QP!+du{;!`Zhn`j#;UM9i_aNYd2enk zttTycZUpg`b}DZET$k%4|IVze><=s}Vfl;Nnb~F9+1W*Mvhv)x)bj1EO2?l1i3w>d zL2iMfZylvwW}h1!Vcex~C-F;@=dJ{7MTNYi}$hp5xZ*+Ten zbD>8oQn&p_1>px%BcsCfQgJp-^VlSCILl`AGj8ZzOi-PTyVxR+do;d;Es!;Q+1rl| zr~grCPk6mEalJ0&P>^JVYA`pGQ&d>cnmDBMAy5(LF}+W=4dsdL#CP;-0O8Gl!BTu-7rg>Hyb{dff64&9mTX)q zHMPP^2*!`e@v6_h(!-6u^(#!_!?5q&=tzOdAH~JdY9T>!JSMYjh+s+u@d3?%<__D1 z7!I$|0~M%7c@ro~@SgL`9&KV!PSpmfOOTDMMnhI{+ctcrIKbU1Bq;VR+~xWF?*c&x zTSDENlgY`W*0%P+(RO?ozJuOLV-`s8ephM1dQw4whM3d+Ova3D{r!}J*BLca zc56HWTZ_%G{n$|EM5vbK$mjOv8-gcWD_F($gX~T#4F)|8EpGdxz1DSBspcjh?s;Q6 zs+3|lxf)Ndh9Kwe%)_aJtQiZ-h!fU(UBE!O^l_L;56EKo&aSugdMfm&h_)scQv2Db zAqsn|3%SS0yLaq0j#~yPhP5ioo+&}jX@$IMFBhqStO-ljWAcg~A_mAYHGiT? z(MPT)TeH*L=u&~PU!m8q(&Cup#rQi+d1i*so@`hSI6OgyF`3gA`d2>K@$o7b=^R78 ziX~s>ysVnng(>xDpuO)NgIhjLEqhvVcq5t-7)kg2?d&~v*7H!!PGio?Il_MTC@CM( zGmp+V<}7;h4hz1qo>lfX(#k70*lhOOFj~fHK^*lIUXi1rGHLQnFD9pHLyQHh>rPEh zxw7t?9t!SfD^|~GiqB4#X2X2aUJLM#?M}{VL3TWgr_?Atz&bs}t62iPWoz*%v;2+O z?L43{XY5_Lcy>e13`@<7O8vaKm}Pke)95k0dBg8eket2UB5&QQ8oJ`VvnOBfU@G{g z{1|3AyYgum?V}2Nn_y&&q%<^OKSm@*_CJ{h;sn=?Cd?`sXNbF1JZ8vrNr9o1jPmH0 z8f97Og!3qqk)Oa5^1{x2UuOIo$yLFPSett>Ou4~UBbBowbti9^?*-oR*vQ-tB^?x4 zIQ)q_UBZnrcX`-U=F?a4ZNc4-O|mPMn@o#)Ja9Rs!NvzFZ>zxpZc4KSdK932Z^((_ z=3N190s97;!Zfk$C>YOl>#~BNytsAM&JCy8p}6S<1`v8_q+)5h#`ToI_Pm=ZLl^3L zN^--*&`P39&Ux7emXz=(;j=(;mhjPZuQpOMb$u&54)B|CU)p#Zf@F{b58Ew(uzV7L zKe8X-&AJK@tOafxcc}!L4Mex?t=NLfKWa$z+h;S-a9$&Gx+(e=v*lPaTNyO@u`6~d z{;TS?m7HnmVm-_()^uw0g|8jWTW3M`2uIiUH)0L~5?9=7sJ6&YSG-F-d3J^|TxhIbRonXk z=tlT`kF=mT@1)^GcbjJlE}JEAcc5*Q?!C;K)~6@gN97_2X3N9k{+Gfd>o5Iocz*aH zSq?(e*dR{nvnb~Wc-KaGQjb=OkEt03F%fv-ZZVK!xVzvhP@jMt8(!1;eGdoq>iwp? z1N?bj&Qw@w?H&2{_juC_dE@)FlQsM4Ap|#rp#tH#*%8GgQ{*-~_=&G>&(Fzg(cGIJB2-qI)lA2%@%$=)IF?b;T4c`52& z)#2V{#gM=bE^hsE2SR&O!?nVPTvq!{T-Fcnt&OVP0Tn#6Bp+QJ19|4}204M@0}dxW zDCO*l4NNVE`0lZN6g@pC>(JuYKtnvY}ITkLL(>a>LZZaMTjPnfFv3*qIL(dpmzi_*Mcgz}sr^3^B$2?CCC zb?XZT3^#X*WRf)GE+pw)>U}>c_QGQ0Pi6$kntMyf3)zy7KUB9 zt1I>oEYA~Ygw4A*wLBjbd32qn(XyY0qH0{6e#9;f_47xL`RDo$#9uCUQxjJtOrPKx z8hUIyzn8DHL# z@67Lm4iT2j1)ra?U5)4+W2$cH*Dtq&d%NCBISFjwWZAai??0E3yaPLgi~>~3MmiPy zGX8t~qi_{dM^?G^HHV?=7y7ICKz|efkLhNZQ=FTf6Gb%7vt&sSdMk7r=t75b(g;`z zJ8<`Jz%;K_<)D8O0b+;|G^<&GqtFs6I!tCA(bFozXhef~ z>zOLiRVo^w_T5rd5hk(VMTM^X^jE4x-w01{_A?2r0=q#Ai}mISMuFUBq7^0k==o?ZL&>=;m_0+2No))nVu>9_1_q2=K< z@}W|eGTHp}vEljc0jbti+Y#V!Lm)>KZQEw7mgqyuz z_p4mDs<$8ou-P$#%&jh1%cs!__NKA~e8EC&M6wbxPEJJV#`MQB)_2|9I}@xXi$lAp zHp3y|oiifyvU!8%a&k1e)d!hc@@4hL$!eEC*R*`pfu4Ds3eGGn0xSv!Suu9=c<|Q( zEaDm;(C-z}yf8G<9V#Ez&47+G?}ZvazpjpX*`;bxI7~xB)9GHtZflMKgG*8nB0 zjEW^{jG&&xu1BBj$=%k7HI zDpcQz@q<~BbQS$7y#~h98n}-5DIE=iw;f;lsmaO{q&=dBRYZqpqkN!3u@!jy5Z}bN zA^k+LQ$#647GSa`^;>EFy&MZj0YaKA|75(&S!&h;BQzsAC-N<84!rmu?2~NGH|SbT zs=Zwr5wq2`*Yyj(M(0e}4EMEnPj(|=+>{E_(*%Tsb|(g$JoL&cOelM3J*R17eFlpz zwJN~KhiYfU6xvwXSE4LJ(>7K4tOH{``xyU!mbIrhf<<*7)@4wQiV6>Q{E&^HV#^3W zX6ibSa(aylqw5?{Ml{|cum3w20O^iYADt%Ad-iL0fa_+1s`4;^xX+S;Of4E0iMMK$ zXK)1T5=3R&l#A*125I1%WXUJWe!8y1%pOXIhYx<-V_e{zv4F?9W(7zX%}kwuB{v>u zbAlMvDw1uxlUO`^tZ&#)BIs~bN=Zq4u||Ue2_FRdJ0f~PW{Yto`lPJyw~J zB&LoCTbf6p)TRMdgSrkbmgQG8`C+~DPPZi)Ng09Drpg=4fwJE zrQ+pi9XdG4^c+X`;`SSGx%SIMj)}&}*j#zmny4*p8Z~QUK0Ast=DjbBK^mm5j(7Dp z?Q-#`lv~o$zSVd>+I>^I1$y_qxOC}~_O&QPa|T^2s8pP_fddWfb>C3@6jhQet4h69 zt+k!{Mk(Fl9TvWHZr+#OkcD=xxU_Nx2Y}FeMG+J$J&Sh}@CUsOns1|&fXGZ`?pGzr zt9C4bf18Sh4=)Z2<`^qO@cM323ojl(K^Al9$uIl9Uczc4hO@afsjt?RJBclZ%6ntq zrDEO#l3y0qf%A5d7lfUz=XWDlv^4{&kdRlQQNKNNl& z9U4S~AB!YurnhLJytN;4l?=x+s(!z_laht-y z10kg_em5Qh>bEJmTlS8(Lf>T+a8o@#UGQ++WaNtX z(ktHHaP$z=e;R&P|74+vw^&qHleW6WS@QXs4#spE3rJ?d0_iKd=H` zkMG2(QdNw)YEL$OoQMq6%rOCMIF3mIV-N0p=Km!0 z4YtI8{BK{`-}HaRx59P+B!&ya292rr4jys=ygW2eMXGx8-M(?)sVSFWb|sH zKWqBy#YaRbJ$F-gy;RVrZ(k3av=_Q$)0$tMMf+b`Feyk=MU(&aI^s|FoLXezl9xg^ ziG}&?;X*7f{*_9ZS?fu>97jdtRDiaXniga=PKK7=jf}KXlaEv_iZ2N{^V>Dvl`~!? z_V1f#Xx+G$;;8mrU}o1@8)dd&Apl?cx|7N*??{7}OeK+Q^Fb-xts4F~`(u%b(+^Ob zR5BK~?P{B8*DV6*%7Wijy?5(0u>Rv#WW@dtODg6G=)u>SO^R0h0^f?HtrGWAwTth2 zDc@h`x4v=&|J%ekxfS!}P9kv&+G!SvNA~d`pFb}F1)9K&lrK6O(G(V;dVPTgQ?~EC zkW@xG-O3Vris*Jqz)U+P>t^tzI&3v)Cv_v7@ZEW_6;7V=r)?3pO8U&b($zaW{=5Lq z7M&h8oLTCyw?x+AuY)oM?4l4SC+%*3@rwE!pyi5_BHm{xxZpdOpnFyQpy+9C7~4Pb z=WH+;aePvI&hsk30IC@8nsSa7>?~4ce7`<#SXIG1%oLChQ;C-ahgk*rls;$1HNMqL&u^ zX(Z`O(880xA02KMY4b#e|Iwf7&t^UVy#{FIJ;)Wv_^|dJk}j(9B{-a{atF$4L1XQL zt|{Q2iiL?P*By1rihBd8<{KRV` zz2oEKB<&qNyg-8_I9$m3`RFLNKVDuWgyiN83d2@&pBEl1{rx+po&!Xf);hpA4C2>~ zaQDb-Sp9vSFWBzQr_7mKpM`B{D(1VM4);ffLPNjQR4$o7Qp;I>{bVZuF{pFGyREof z4&>2XhU1qCBbC4|PA@FqxC_kB&(jyXk-{*_>`Gz&{+;?tc0J}xTK-BKz)#5*tGr0Ij0{u3VDIFC-pC5l zvJDj7*lQjgP4Tf#&6Lh{aiV%+PmQREBz2`38CF>tij|#R;=hN`dDOR<5cW@Pj1RGV zheT4&RIO6pgeJ|bT1arD(lIJU1kokU9|>4a4f<1z>9bbZ;obAnyY#*)D|v$N1-y-4 z?CkTbfK|uHi%cta?K`DU>C3&}mVR5bUZWfP_P3^z9;|9LH}JMJX8HZv7s84~7{n5C zS8oOXyt)IZ9v<1(xdF~YwviR*Be|z8P&qZoh|P7FW2vkIUh##KvoO3nF$vt`QaAa5 zi1(?5Bx`)>A*q%Vr_a@=h~uIT8K3~f-AyoDUdT?1P+ixP@5wpCurh zubsU)qw(j)urVWC5)5)Eo__X7FVf=49%{?l_MS|2_n? z7y3UsWZWt$TxpGzb-ot!C#+w;;sJ5Ddu=5eiPb46a^11X{ar%+FqLF6mRY2^Z#3b< zT)iZ1?4Z$tX6yC>ELH&q4`@UgbJlQrcGAO$A#p6nS^e^1bS|VdyM{)KbJ`ymt28XC z!`pZ?FK$$QF^c6$yzvZMX7-#zJ6JusH=D0VKAZww!D_b+?%RwN={ur+*ZEf}w<6^| z@a~U@OacFa7U+K|IJCtT6Cg+~;dwPkiqk5|DKLrz5L-5x&c-HVb#3{>uz}pgtueio zptliH{(^G4id3p9B3{crj;vz;=<&Ucymx zxi$+%IAUHNm^`YZBs@Q#Hm}&4P2VQl%*eaEZ_gSJczDFQg_pLqX%JGNE@c^?f(0** zlgguyUH=4li3aMolj)@6lj%S)cQ_C;L1Df`CZ$rGFU>>?9l46MWeJT# zAmgf>Ku?4jkmbJ6u}AiL%K z*~&?%yS?glE8!jS4z7!2z1=Z2n?%QQ@+b~PtD<6m&|px*xa2P{z@Lc0H_)RqEAg_% z)M>`i^jk%Y2iCkA8)Ix%;s#9fH?%d8MyMbR`J2#|gN9F0s%|e5+LppbDQzsPD0E(J zZ;b$UN7=*9IU75XQ6nNvI}&3zH$n(iPpZUv;Bbed+_QxiN2eW4nKXvh)JJBwe3tEW zsx+{ZkXz-{2G0lo2u`&h5c53YAV34b*w_O+vC8Llcsq}&v7;tUc1jw_giQ|TF=Ba{ zFehQxV(%wiNE^vLPWBskk>)<^Z%9B{J-6i2qAUS(H}!GXNt&kSPEc_l=>5j zerMz~FtmaSsasq-kNH$JUVZbv6dinf8SNT+I#TdY-%Zx%L-Y(*QmfhJefp2*{ps8q zm}K4}=&~;X9XQ4w?X)pW8DA_xAMJwm?H`H^Pw%>shuL&~K{5A`f5^(TAAg{F>1CoU z(t0xjYW&ABSN8ZU_&V2D6YCv$6n5#3Jv)TeK&0E5vNw zW)^9w$)dh6e=)XXL2b`%Y&yeajX4Y&yHQ_@=;5>r`hW3XTmke-rQSzn;R$k{5Hst@i(9Xpv}x6p z?bb;!j8+iNM_=83Tcfe`Et{ej=w6v5?cX~Evoo_j$j*L#3`Q+GwhhdtyGgdqK{D#e+`R6BjmkT~s*%RoKrb&7S0x>Z zG$2vd#YDTwV6^kc=K4!p9iU{WvLcN)y&9OL!WwW7HZ<5e2^w4T6$X_V?&4M!7TCij zTFK1u+@yFN&ctQEI(Lf%PgiBj`VsY$bnl+%VcH^P#mFp(4vbc9>!T}g|{#aZDi#NVu$vCrYmloBXoES5C zD^~%G*_`1D9$+f2CJPexDf(1TVa#eh_T$r)KLZRJUSoguor+2%S?V#+OS~d57$Jwts(2n6_SB5x+yUUj;NlEwIY?-ST{@1@LNx zG?+uP;@eOQkR~_1@+@tdXmL;ce(5QhUHz}2kOJFBeobco8Wtg1So2gT8^8H5f{p1CIY4H* z1v*)Ksv7VRFCePh46nTwwpg~jnirZ(N7i+Q#0=k}-uhr)KW&Gil8etiBQ(q}6reGs zr^C+!*>8s_g81~LDQ{iD5mk@u$mw7E|BnuU9Tf&Hwyw%>uWz#IfWRJLE z;jaa@ComZ;qf1A(UP)&{hYkU?`g#9>7{` z-=b?0_Rx}ldLso1?ExvYR%GYvu0p+Z&WF`8`sr zDi>4R8(ag~a9a0yHw!Y@L?xP1lBq#Qf=g079uYxMeSL&eKy(<1;ZUjFzXuI{O_sXS zZfnP6_GK##u}(xKD%lLZnH=1VN{V@?T*1J4l2)-%J^xp&Yw`=P3ffJW3c1ihDbQNo z6WSnogkzMP+Zpqpld#k-uiwVj6Vs=O5v^*V{=ugOqNa#XclJ@t4*IVG_6O;pD9DK6 z5OI)k*>Fa4+D!~oU=2MiQ_S1(CaN3dzq1?B2VH`tJn@(v2HiW)jxjJX>hOO}=O|ML zKgUgecY2n#;iN*@piW-MJD5y+K>A9$P~pDR*H1Uvxo9$ls5W4K$h@x0`|+8VviIls zCxMwi?-^}33}^>&$c0xwU3x>Y@WPRS?KN~VP>EOZzn$cU#;6Y|3jKejK{Tass7p4= zzh`)$=HnjwzSEKd)dCFWy=7{)m?PT@wPl2@7_k2qPYB=AxE4cc?be(BLRkev?KO{Y zTs_vYLuNSgMydn8b6e*}(lh*HKJBVx_=%VT9FFh?xzHpH@Z0z|ZmLzVt zY`cZgT_tKxWlE`t7IU_mE@(BjSs=A71OTe?C-rmNbXQ;c0PKu74~JsdQvA)WR9w%T zQ+yQ^>KhkZK_3IcX^8c`u<`n*vVvm$7yOgfK52EOFJ>-uMx&IhTKfWLg1VcDS8mJ* z4>EBx?5IkRGydqzXsh#OVZJ`Q%zHti*={qXz0=K4QehYkFCVYsse^k&b+dn@N5XHj z<*Idg*eyQf+^+Ol^Pkl|r2d@)erM^PCb9&-UnQrP@UHOO9?Mq<|MUqVUex68Z#Eev zv@H_c;cdAz(*-t*`Y-DVy5gueVucJT`}Zj0ja*5YUr&y>>t z%VRp8e8qSGvk!5>O=P&h_Duaj>wKTwuP&#p6^rU7CK@*n=JMv^api`3^_B= z=d*b}O@WFbI;N;`fBoV3dZ;KsqM4#}zW){>CM6;2 zVMT$*Zyc0l7z7I)TVA&KDhZC}d%GIA32fEiP`cE_c zZC}*WA58i0Uq!vqyY@m{97$hPH}b+rTl-nE-ve;eZHol4o33pU-f2DDyo8+^>cY$9 zxkjU~kba=^8q!1#B{cWPToq)8DP7%o{@eQTTtlE+?60(;T<(ReffIoPGjnjJud6#G zW*H3PYO_8O4kC21!=oGZe?Cw^e%t{B9|sIcH@~O#Cfd$vi!QZzx(K+ImKlUBFu)xe z9gP<*BEJ}H&jb!pQ$KXoBhIiK9cS^%EE4+cR)0j<(aX47J7I_{dH2t;zbTxxcRgbI z@u>^3z`ox8(aG$@t=OXi4AQGg<5EKnj;6fUH$fDT5JI}-nS$?RmYJ6LDaa{&v+&r*{okk=nkN>09E+)rNxu@G@lPt#0dw-CB*Er^9SK^K<`dY zhw3>ur2hKEB48(JQiC`)(ZSDaYT{vdG-H>Wv)$8s`j#*U&^z62^g8ct%RLI}*Z#GJ zhMU)o0+m!0nkoD`(5?Z2ZErB@3Q*v%b#MlO>D@m>1|BC@+YM!=*`%=|vvm)o2vtrn zJdpp9N@-ZY(n+{aQx1c(>E<2GV)T=KGl7}AO_!CeNUYy$QpPHyNB4%h=wZwaI;V-nl{Db~j|~GXQ~k zzr*ea#MU-{mwxt;$b0p7#@hw;ME*J~mn4mg-cF9{vSev`K21_*)i!c;hh+a~tIT8>RLEYCWb1D?e`4FES+LT{p-JZ~GA#*9cy8QuK$v!-0W`&z~Al~0Zh zPG!=;d*8%+t~&2bzBo#{Sn8*z}XbDs?yIl_u5?qYuKjLZussOptvCGo=&x04+bxYjpux-Xdb! z0kf=E^&AI-Ww)H?CbA@qXY3fng*1?a+*U%YGqcoQP&-rMxTk)6u_T(9EZdowkqa2w zl6p=b{*WAIsp{x51V*#m``)s2?agnYX2(aviY;F@HotHr?&H_w z+Z-jT?1YS>){e_f)z+fIDozh|?ze)$!jE^xq%GvI-d0DIpLVgesZz(0FFnQ@;bx4q znH~0(=FZV_UBz5iNO@X;xPj^s+yoruGZfc$(G#*?-PVM`guol!b_-?jn2;ld-1$Zi zY%I|S7>L2kWN2NKS33$+VTtO^o1{L?<6$%H7f^Wi_Qh$C*#6YdG&5kc&-t@eI~f8J zE+yTa*nWD{ei8jM8aKCp3#jWC0iZ9p47s>m!E4QX%P$K+ll zNx8(IZxlk?&W=RdFQSfD=Ht%C&SeOFygRrw%9iFGx`vQNn4c8(jI*OGhpzp!FQjol zl9B7^tO0+JRXu!^dum5Oz;PLqyM}mZ2!WCGs>kEI@~$Hn`|t~8|5c5o>h`m+XaO`Y zK_&zf4OdDd9GVlyBJd-4Tt^bi=8rVOcKZdQkS^rhr`^}d+!cEOB^-q$%`h@zI~-^# zwxUBWj;dMArp&S-NTPl=N^J8*D@ws(rAyy(3y2XoAHJ0|vdW=MiSIMNSclek2nd7` z)Z{OA7sF-nCj`E`eDV03apm2loLg-kooy!y)j@{M?htAIe_;W8bcw&%pT4!jfAMi} zX7-Aj_R#*cQ*Qb8?Q^^sO5STOvd{z8|6!-n>2Bt;{+gW&OEFuattn??t}k1qI!r}( zKa8`Z^=$D@_2nN^~rY1?(-4(Z@+QfFq0rXm{j-blZZc+vyIw_I8CE=EWm zT82H`l2>#Kj6YM}!&s}{fIo+GFs*glG4|#7^B(?`u38soXEW2f6zetZ^@FTPo3U(IC7)Yh2BAoeqq?fB3X|~C9+i^LTnizq=jDr=0PpGb|zqM5lKoy#c z5YXM_gacy$-tfmoUp&ExesIt0s4S$Bq#cd@)W*FPCh=w*6912db%-(0^ z{fXx~uN2`~JUikw&S~Xs;dwZuoWH-8ebz0K*p4sGB`j#Ts8k0Ywc`;YZOh^zgppj& zW*>l{gUH#-{b$YN=f^U5azZ>E{1ggrx>%RNAyhotak`k$8Iks{in@M)kRzh;C&f9DxBIDVWu9qTFxt_^ZZ~I5V$?kR(~>g5;BcN zEvi&^!AB9y3Xev*((0)T19stUB1+Mt`5a~NO+x#*Zb-zqf={6g`k83eBgPdt4uxtZ z=GHv&As%4)ua`;Wd*rYHxqRqx7?EbgSpRrZ3tNE(P3upeQ~U`MA6{{Pnj1xn+fa*) zq?r`jGM+mRweX%*+l)-oHH8K`ItG-tF|K*d#)bn|jgK63hq?#-F&|4y=mo!;@N}@6Srl{aMqJV~2)b(v2g$rE++X zwf>Hy%KA!c?zc+oAmY86Sqv&>Xlh2`)||Y&#~NdGkdJWKyPS!)kL-FDbK(~XORIC^ zgKQ^@8;hq%@(^U(#(YYB8qc88_!Hbb7R8%Mm;sEPbO3PCA=n{(b12V@Hh8ajZ!4F% zJ^&F<7fJ;`-AHN;!Bs*js%hePbr^y+K_cxHP2F((!pQj$kBp}`ekxa{aRZ3aAnYZ* z+`*1j%e0-GIr5rkCP~wtP>l=*EytS$6Ltw`>f=RfP-|<>%P-JYTnDMk$`G_ZS_FOL zg~jLS;l|w%zQt=w3(XCo7WdX#c~MH_*Yh=x20|{j1}n{p^7n+i_9}9eghvS0&STsl zPoUPfh)^=>Mo*zPNyFHoId!^sX9fmKG6N>r$x#VzAoTcix!q!;Wsr0+>O3bpu?(v-Ob2$>R#@MfrU#uheK^&$9B zIR$y$d8{7xLoQC9!#j7iL_RCuR-nNUaXn_-#K;Kd7 zHagjltH^AD_?$I-%3(X!XA>tO!6-~PW0V%X`E);JodUyUR|q&OwPfc8fx-9Y6#HxQdOMcB$n?fY2ha>ca)!16pb3~NtFF;tikvkB zR8!+Dxy(G+uvHGoC{-0s8XmHXW}d+EH3p&tcF-*8m&9AsGyFP_`Nhys9?z11&jV%?e`JIcE zo*q&fD(Nj^Eo=^X4Kul<{M_4LINBv4@p*MU;Y<8eBu(oT6_7aBPN8 z6h7&T-Sp7BZ(^370c#Game9-^K?8ZEKi}zD&v;fheu6B3iycIcr*~i6j4SCT9UP1l zfrpU)Uc+04!^&`BGTw*ggQ?LuDMK$gW#H7bS-XPJDi_bVM_S``60v2cY#XAcX3wdW z#jFaCeq1)7|$@VBG>x{LjbAvevo)qgJghosXiBwgAfd2Vv zLK!37*?J(4{@hzYIssgTGhp{{qG)3<43g2Bb4$DBYjDq21_T1>e4@te%*4U)?CCc8 zlu5SrXrLXNWxf#H-&!4NeR!PpGE37AsbVf!XreP2RuXlGI)7Z&8y)Db;V-svCFDHf z@m{eECvG$7+E{d&S@v9Wz`1nC^UJ_UT2KJJfe%JzW}QThz&eU(B%o^Qg_IC*GUY`o z*hsB2K}bs2w-%l&p(vd_Z&s#bu;)R`g~YzpwL5o#=uwyCSxG4-D;WO z3*C4}cRsQyZF|gyk$kaLOi^A?=&kgNP~n!2NrPupD|3~VMJ#N$qXF&bi{uXz(Z^e} z7F;Np^91UoSO&cdd?gq3siN3J3048EWXt)y+S2qT2%8cu(IA6gd*Xb1)-n$K6eV&h z`L{*D&*)iB-l6&Cpn!Sy(UYc=4>I_S8?kscMzIrwSzN2<@{&+HeSja&MhW5c*$*jX z=Ul*6n&nnO&mq1sbu8o7qp2wC!%hub*&_!g>elmZc(y#xELoYhzvhJ5e2C20(tyJb zwMdB)@nFc6wK{4IekXy+0F0E%dI)?d zY`O$g;z~NqyGWl4->yk!vb4K@*qx-*g`wY@IjoqwR7}LLBECkEj8*#FXnGC;<7x5zvBF zpw1!emB)9dKPf%$BW=HUvR_$^*N4xXcabt(J z?T|A>`Ra%=ufstuyd78gldc+n(7-5pU^-}W`r%l4XB^)e3^;=a@lTV^w4OA_yQrAs zRz=L=*gcmw+9xLpVL4~dXg-?<<6_f%q%Zma(ocV3bMM(u86(P!viVb;@9I&?KnSRf zHDv(X|4RBfI96|A7Vv7*Fcy_+)=$L=TdKObFFv0gDgEP|Cq=mD4g-tpOf^!YvF_r$ zWM+xI*Bc&ZKT-NvR;g|@Rbd;j<15>ei}2<&m}d zE%IFF{nk`l_K*W+Vi_Ri+tX$>nPvOb)Nqi2YdPx(1lqzI-1N2zQsYUBP6_)m?=$F) z>nJT_Ei1u$nqpMMP)jaFEuRyZ1J2K;GB*cmbfinujgJ(_Oa8nzr_xFGRM$xHIwNlD zMW@h`-%^Mrys;A3muuTb^q|kc#$kdnY%+D^0^R7{U~Ifh>t3u3ZXhHL2y4bH%ivaI zF3vRC#Ss-qEk0*lcsqpPevk!-O4)_9<2MPX8trr;0mmUH8idn{jB2)aJTelJBhipe z9*pnfm2Q)H{_euy3?Z_3F)OmVf^LOBlEFv5u`l};Su%3=zCBuRJG~kwt@_Hn-Tt}q3sEHKPk86&^!p^7-Dv6w6}~4 zH^&>D&qiBS6OVix5pF1yA)G-88{U}iXH4BsX7Cu1PbWUXxYhQ@Ia2sjUBV$7Z!k`y z{kT#D;Vr9%Lr~{l?1GgVpKSG!}0>VR_% zE(?!>4p-x4+I)5wH3tsEztcsS`C|K#&q5mg2CVq%?PLeIxTp)Zj_mjJd+Tk>4sh!+wJ%2pe)-xdY|FA=qMZO9vH6 z=J-|B<8tcY38#xm)?d44?;^V8iEj59I5^mH zJnKj<<%>O7XT)tNjCjXrW(&A;X&YvbY>{3)x$f+pNTP_p?DfwzBCZ$8AZv zu{$-@tmX^nL+6Y+r57~;=Q6?}7X!^TfWXzGwBZi@oQtk%+<*x01)`X+C!qDagjNOy z>HDkp*jEKrvrDnGA(d-%+6?x#aAMmmEUEqLtBJY-Id;>Y!vb`=+JEfbmE{e>j_{j@ zyv}O2xj4-oHv57kp!H+hgJouqMqY+$5>|6@3+5_#Ki|^JYksfg2~C$$W6qX8$b@H@ z_c+{`>=V5+pc)_y-2YzkeZmutor)&}Bk<0`{z_Zu1vhEIY{FhgwTyIm>(q!G$1L;+ zR&e=5OQlRSU46c`RyYSMQ#}R6{eNKrfBYCAtobmiY%~*^>Dte7e$h0)iwUB>J0_Sl zaLO^0j6^Gb(?2PQR0VO7{uaY}W&J0UD$Vt41M;jfPwuJF#T+w@l?bAuNnE`TKeYOf z=Z^~x+=zDP`?b!VFyDCkqX1R@fzo33Sl6@gAGXw=;>1C>-(RnYPHMk@`fKCQ-|q7y zBsUrUt=RqbHQzt{{wJP9t=DX-gc8Y=pxPrDL4<^E0h_HZL~A1GmBi#RBMd4&J|XZA?hJFMPW&F}!5$E1Pa#;I-A%+MM`` z3}tB(-V{k$7IMwLPU1sWQx5LOyp>?gY)Moo)BH#xkg$sH*Zzy|_EJoQ?3xO%d7G!J z&&k9Bj5{>Sfh4iqgKIWpqk&TD}&2~-+pedPN2 zyizK}xD9_m_ueq`C}2xm#ZOG zQT9S$*-UEapE#B8U7kg z`G@-bzw|l(-~TWEEfoAe35_Zpu{RVNaz&E22v#n}^y^){XRFMWQf2&$__t&Kj*!c! zysbv7HR@~B{i9$kdLwde^2#;S&EF9q`JcSvf4c`TcSFZY0{2%;JlFn4n`vZ5%EtTp zR};YotRH)sz?_JK8U5qMTN5DlkQ?a7AEw@ zFryei2&?jadOiLr(ZdXf9rS!N(x(u^#Lqb}mLS5msKV>NcIByWyVgnih+gL2)!Wic zo4snvnU=-zietb@DcsSGYSD2C7v6NwR-J>5%+j^aBdxyIItQakW!BOk+*Dx03e&1A zj8$p>tnOvvL-v)iH|4+OkgJ*X<(77%7l+Zn!wSjfw}NFRW9{yKE^7%IyYp%0Ev`EE z#us1-2t*v$0!rR4KIVpEg>CJ4tCT&W_s4>UkDYmXPQ~F2)$YQH9ZzpkinmX| z7%U&$-lMaMEw?UnQ>0h4Rk-65?6ZoCM+4KW1&6u=L_dQ4o~71eU{MCP7xvhOv{>; z29zcTpQ`mGRy^;&zpJAsq!!eu8b=h`Ize07(iA#mbos!W_2}*9G%aCTkn}OCTi@%g zg%UW^?%dM-gO7zpGgu)|x2@UL_bcD2OMnl1z#fQp2avMv^I>DU%JWWze$|vT_TtE!!T>H!sLjXvHQ}xuk$ia3y)>z^$!Htuv}i5VnM3E}g|cyvADkSaR5>dz zq0Qb4WNhIu92p)#dNoXxxELk^`)#dicNIz0BLRXEo5~#dfUNF4O%~QRO{q@$*3swQ zb{gtGt)i?U#Pmb-GRs(EPnt^Sh@L^Fk7-Hu2+HQ=ow930DX~4{?CY11sfdxbj&1$6 z>s98s9m-tq+y_nNhfUg@asN@=E#N>$hk7FI^r*_eGEtFj(wj4a-=uDe?<9AMUlL`+ zo-(?n7c!Up?|wqNv-fOlr`Kas4vEy&V!68<(F@Euqh5XS(O$}#tO2Rds$NI>3a5P* z&nn*@dSYV_Rt5OINYa>!9UHjHG@@od$5bS=t}}Z=O8xDF+-h45q)FJ0x?FbZwTF9$L~OE%`tW(t5E+oNrWHc!++jNK4Oh@B zxK5NyYR>3i_sA%CtbIaC1-|E^*fwGR8*m?U5z4AOerHui7Hxqze0%@$4h5-)i&CR091HBtD=w_051ZE3~hyb1RWRetKi?IlN@ z)ck|lBM(4@6~{}VhvV}(+Kqx2HBppZc6uw(TE;7ZXFs`ICZbwt|T+J}B83b`C zkILjpoft3OGo9G*JZ|1|a2Osb8J9hCc40PL{z#$G`6OAN)VZZz$HwjHdV@n&xpSv` z%H)N+4RaW#@@&i4mLqAXzykxb9Q|C;R0ErDFLU)Qr52=Bv(J1O9Zgbi|NP}aH6(Lq z4t(>qjhyz+p_kB8=^FBDvXP3znkRN{MhPY~%ryRf3eJdk* zg+!~G>||-HTLtqn6V_jhB^lhmbzG+npINGxWi5rEKn_8p$JqPLpBhOIE5BdApshZs(;tfPyB@Hf6e`5VPyXj;#PjKaM! zn`>~8no;6vDF&rJ!I8{g+Bw9VUb(0d<;dWEzT_TO(Pb4SdUNL55fQ)D)A@sBY16$j zb@}&SLfZ>PUT)`S7ATMxRSZu&Xqkr`Ktr|%?eO0qBO0oEC=K;OX$x(n5>y?4c3B9BhZm>UA``GWP4Ol1(pCl8cB_2 z*A0F<>tv{whA=I(I5pzP8hPhZK5MJ)FZrT2wQ?}Pm`o+E*aK4Fa1Wb&jqA)2IclF=fe$QqddQHyJrj zR(-W!iC9u3&VDsz@T5>vANtQd)aP~2NS`PHcZ&`;%IDh@dvs|{FFF}$N$L+qaxya9 z`o8J@!CEk7nk9r!q}5IcJhzFR|M8(^YDZK{lG9td0kpVOMl5Ztp3q!({d669q9TV| zaw)6-{J`$o&{R2H&M0m+%?g4ooL{C1%{X`^pSXkC)^|ks#h?O-)$dN~(DZqc6ZNNqrvvDvT@ zwI$zbl1bJ*|Zoi!=W^y4sR*jvhwC#tnr2Gwjw z7dtdNjR&7KY7Hb%n!0@u&I2;eD{;hG?fRsipw7<9bgC#la8jLhnRMGzomZ<;4O{e- zZVZhdKo3D)?-HIs?jJThb*vq-ud;@QBNGg{$pcy4lXA_9QR7CMUytD@bRqPUT)%`LIt@w>*zmT6Vg`FJxajG9;iJW42X zHkZ@?m(b5w0q5v3WK0DzEqD(-hp|@^XBSH~^hGZCJgj|TNX*hjpILKf^f6mST|U>+ z6=ZE!Nd+=BRmH8Z!pywX7~hwwE2Qhra1v2yt)xe3Q~OT)-a{!%L%AtRxSP61@O80N z<0idBM}7V6x1?AhMPpR}XHdmwbseViNY$rlN~|ko)>%2Wt$F|n zWH1uS9}VSD>Z&qtHxnu*Sf}{f`-xEp=p^Vi`v=Xfyo=;}Kss(|2!IvWrd{zpOP0mX zYUyESiP^D{`kvz6kzt}ERG$uqA=#&UYRrYua#P!No~0f9O6R%Nel*aP!<{8-6{j)L1AYL^mcv8>NsO8j zW!ghb8LR~QsOo`+T^&ZHsj1e8+@hthsDA)s-}i2^oXlLd0J8GKJ#h8R9}{Sozv5ao z07N?W>8QRa9&wUvZmSvJH2nb#g3L(lWd?b#3J`fkdEaIT zt@R)a-xVe7cwSXi)#TmFN%K7eBp(f#yXJxjILlo+>p@@15CnagY`~GEIfT05tmK;N zYa8SNLZ#cbkG-yQ_Ei~xs2TwbY&X0E8tOo8Mh&qq17NmuiK)~RD;FhGq9fsdaRZ|U z^gQNNsAc(^Y}5%5|2X@*RezPbcb{}EsE1R$Ch9C91HhXO`>Nv8fhFgm^eWV~FPht$ z^iUzopxM;+`gBfPV@}Ux;u5JDHs|ATAFJmvoKiPdTR+(RI8Co6e~weUogr%iwT6Sl zhbm{i=Z-&2>tUb|#~lbt|3PCrM=oF19iF3var+9B1xd-2dqmSZ5TgGZX(l}{53fzm zP`TqviqW@k$JZ?bN5dCUK5lO0W^q9CHoZwwACBFNZ%lY32nv5B`C3V@ikr0(RPKnv zU0*YBaf3Von3`v_1q6<|Ri&%2%Bo#6bpQ*O4<$VAb&xcE9`V*tKNO0R0Ix!d%7xY9 z;Toc^1EGTRodH0{W+0`ubzS_R>yWx(eG_5S2viP^?i;%KJWc ze-88B;v~2I@-7ehathD)QZ4dg7p!SNrN4n{G#Oh1{hUf4jHE_EbeLG9Yg65ZUXR#$1R@dgBN^>%(FxCRAMS_7|it|u&FooL78LBi;Ie9ar0)b1yYj0 zo(K6o7<_rZe$=f7kZz@rvrtMdFXLm0E>5HL5jJaW=Dd~n)kx}x(Qb&kj~HNwj^Mi@Ie#v@NW2qxw3hdxZ#Gk!I_1byx-b*8U5Z$@`S`$1uA_=xK-9mhNeT`DT>`cu}c z0qoh6G^WE_uf35dP zRdBX%I>^M{$%%XMlyxV)5L5I&fv%D2vYPp}ueMZ_lrj0G)-kT0RdFWX(9IXRH7v*i zH_swJuyGOW3*5x3Ro0nLaQ=ZBCcp;}PQPziHF~jd{3B$ie?Tg{Hr! zykh9wsd-qS9!js;TW9R7qMn+T`cN5?TqQkfZKT571sc~25&eQs>e{{9&`u={)``5{ z9zHnyjZCPccT@Ypx=--wH=q7n_ip+ow!Cd1FM6xRh=&c2_>z#YdJY@K+#rjgY-lAI z!$Gq}X>rjWk*TXu+O~4{{c_Kl{Zo&#yo-Kj9D?nyvrPhPyu`^sl64Di0)5FWD@p1%LMsxneZxmX&Dg3I48YZnVZ+3$v+c>QjLQ}PQGtBWz=b^_6s;d;adfD zFx9eepE)Bd>)Iest9(y!Wa>`D(4tP1^HoGcZ@eW|k4#C+Vb>+^6MOvrt=Knrx5TDz zNswP*TltSdcI8E56itBZ+XuIudtc7K;i zM|$W$ogSfEM3bt{Bee(RNS)<#R7Y(m^|YF-U3}D^%^ZcI1&9@*ckX8HD{Pg>&Ez5Z zPF1R?!U}!I%wQ(E7)?FriM!->lW*V5H`cX+-Ky-~%8)7NH8y^R4sJPsg4z@)-<-XU zDyzZz1dGZXyc7Q_oMlxXx}YIHajVjXRXsTxeR8FQ`N4~>=;&35p$vj}S-nnf!DraG z*7RX2$Ha2qZ$>&p3@Hc^K}@D5C2PuIagZ@LQfk4jG|beL0>jB;{jFUa(s5CS` zV=4Q#?e+TGg{oVwm^-%RCrLGptPSMDOxE0wwF9B`x3;d3_*QsO#gyT0$afzjjyq!Z zYcn~L>t0sOpc{eCGr=4Qi;OiG%`;djmj>UWIx!Y1EE7uXj|WlKzzv^IjM=);GG`?+ zbGd)BbDM!m59gwR$~;>JMJVLT3ibHgI6ER(A_RBI37_N7jG+@)%kd~C+=eftXkbev&+jyN^1kyQ`eb| z)$4sFo77r;9}{oi>u0ksq@o|eMHx)0Y_vhJuy?C`>RLwy5gJ`S(NOaWtMjh6!)!_W z>27C|%?nO*uz9>elO@IOjF#R7+E0gbYgI)~l_{8flj#D`94ZwWLFwyqt*>M`MO(?O zxjmFTjufjS-sXHyJ>hrdE*@HYm4xpThB5{{Qmt9pARb;^Q=4zgzb@O(*(6$A;&Xu6 z#M%_H16OKaAJ+R1 zB(7wb2&2K%M(1ppS|GcvPF>rgMtabQTjQ4)0i}CIraZ+3-j(*8mfE{A8_^!Y0)a9| zHd2Zat1fl3?jTurzWUl-qav@zY(;73kP=$@;qd#_g#`kbj&Ea?`-x+3Zxm^P|I}_h zzD3@T<21#%UYWod|lKph{gds3sE zLH26{Fs%*)YHE`yotn>DHel@~vE^%h?>H(|+Q!;3blHQBLvHH?RmEX?*dK1;o zm*O~&y4!oX~Ura@Fp+E!?Ac7{OMwAfC9IGh=`A?fdBG3XKwt(GJ+eRA^vqE zy1MNvXM;<+$nHtO=OimwS7A%DACW0@_rX26Xg18cvb;-$S@omrRT=942{`ejKH1uj z*h{LaaLR22G+)*~MKK`Kcz@*Ff}8>!4B zW6sVjR9#2=<38=>vynWzDWA(O^R5!I0CNHl78BXk6SF2zj`fv`l`ml>c66xOE&saL z@+3@8L?H|m~DiH~a|AI+5moK<{XNduFn2UN#_6pZ3TeJXVwUVTlma9ql5D9>LwewJymB)OQto#r6yjf; z{kX%cXqB0hl@%*npwyd|d}r(?an^Ioe++h~U(T;qN?;sbUKpubw?p|4rN(twwtz?& zR;r6Gkz^Z*Nn;uuehjk$RvrF|2?@z1N9H>%t7D%@O}g4v<^xZ67bx*Wv&dmljVrue zXvunC+h#;qeCSNCHOP$ghMx9iIlc8vInWAIIrT{Zd!D%3wZ7gWZIFQ!O@+BQ0m8k@ zJ3Q3&1a;}@8Nh%gY!P!mG_^JpYS!K~y%m3&XY;T+Wo`Bd=XcFUD1rN-N2xF2M621X zT0EnpSM-~gfuW&pc9xtmPH>p?OBM{krUA5s%Bmzh~U$^C*rdrf^JTo|~2 zg=Ek7vaQKe400p3HA5-h+t%4|ap~6@w${+L<({=I7zC7yRYZd!jVAp?mTCz}%E)-T zEQaO~6>UtgynBo~k`f-Vn`s&LGAmQP$FpD^tNL`ppfVSF15EOM6w@VAT;3(HITDB& z_*Z8&RONjoc%7FU5e1v>$6gTUbH8g}c5t~Q6#pRg33Thh{5X3?5b%2X*f(yQNtCE^ zJRaFtbXqk9Tb!@Rs`9iX7Mt}up29hkkB+~zTkuK0ews9C6?OAnth|>;`Kl`-!tO7% zA>OnUe^5U12E$vFdVW*Ql-LHr{}9{+uLKh+W>%Uvmk8=sM_Y(*nu+^G9z{o*%yA7Zjouv%*hV36L(sEo@QDomq@1JbnhVawjs_}OPN*fV6Y#pod7OQ!m471M%g1>*7koey{R=d zjP5xzJz4j43I3X%%zgha=V^&x$@Xt=A~+xHsrEY5>L~lg9+kt-@%>=Bk+kSY+?Y@N zoSu{w=9~x{_~>tecfoq?=Q-a`6tpyzRP-Nm8WOQAVUdPev%LDo&l7C3f0Ja>wvFvH z*67HGEUBnOvRKyI#ov=%l_)~>ZQ-dIFPo6u#Gb4dkz`=T6XoGw41(x6hc~(9CO+rp zUAIgG2u(vBy039RAGvO*f*j8@H8)+@eK=F|uqs84Z!z1N@;cljNJ&q}@ZKNL;FdOU z)8ajjYM5}LYa4baj&($q$S7rA8>s1C{r>6q1O{!OJeZWwZRsxj>RB}$dwNlWkki1YuU?k%9&TDQG#_O8&D7D@|+qAgmy zxWlF!4YqL!R@~jSyOb8ENN{O!4aE{dkkaB3TtaZy;BMcda`w6ByZ1ZieD{6F``$H1 z$LL5PWUci)b4~fr-_(-J*uEZ;hOo2XPRiEx$$#@`1_wtW7%(|WOM>PyX9L!-^_+zl zoC9~aZGTO-b8QkYF-O+cYCp>!v*}*?bla}CLuyC*ZS2N78E4yujWC-*&C(HSk=uKs zOZiSWh%_`#x}^i%vp|k6+4_o?k>iG(j&BtzN)9kGo!^5c0%0C1VZ|RYl8jl;?Q?Ao z&vM`BaJ~}Tr?LIXr#`#Ws~`mx>8N{ww87_k1XB1opP2wvo1^^^)C}pYIzrTb$EU%9 z@DawJA-AY}j{>NY@+gmqcaql%3I>Cu4iFg+Lbe)RTlAAM>0O)Q-5<77DT;NdME%yM zw!aGJkf4|Y0JkpS@n`-*EiLk%jpt1kuQtaRXdS2jv6|O1n>|WGo3x<|1 zC%t$IxZq?@*JU_box?hB4BcI&NwngNW}D|h)*q)TNiASDHZ=V?;h*vcQ{Ga`n^nlQ zkJ^R{e<-}A`cQ7ls}&^9Ufyq)>M_#u-NpqPkdiNi7kJ4+36qR zGQP;NvXAj$=zd?=RMe!UL$NJ?#*}}meO^rsyG94vSjYEhmh}@1#_3*aq%&Lrky25S zC_=Wh43!)>%Jq!vf@7H>zV)g2ShD^72%+7+>APemU}9zTXq z36*qfnlf0&sxbh_Bkd}a_Pu4iU_Z0yQ?fhQ7gZ|MT8u%v~$jOtn?4t9omOWpEY%TAUM|~f34PRAC_g}8HytMH13oRIP$2T7JMaasvaH9R~@`M=kfP{Djd z~CseCEuTC((^opW2BN;MgfXrFe3s8H%X&An z%Hvt%SdOy?_55tI=H&8z?;ALN!JZau6S|3rM2{5$MX1)23I3v~OC=3fN)9%ToE%08 zm1Y*_RIAB6fzo!!?qn`v%r%=)S@T<|Yvt`H5UYN1T!j`l#urw@X-AxihPCc?Vt$c@w;7+d_8X{-C2a_O5aAp;w*$%X@FyjhFZi{A;-Gr~-BwY%sa)-ZU%swt2v)R(UNM`lu1 zAKw$_a7q!SY@BG8Jl^w*-ap%^n)UC{@>+UFye(c@cQGu>*gfs>hf^=Xkc$vdtr`2o zq|$p_qAttWOzqaCi6JD3XccdG6fLDvo9n3n$m6Q2RO~4B>^0POJI!(oHkJ_*4wT4& z{80IUbCgi#)|K8ahV3uCUCC6Le&j+t6f#?GIt+!T+}_Sr3rVEuhZYqn%5<{o0W_eh zq7+;c+P3Z49o1oUZOy?b_EO2_+*TSS)awyI^T-Ahl{eb!Yx zdO1G5muqrEGcaZU%mpYO=wFHV?BE+S!X&sopq1(0D)lGwJ@CEnb?B;6eC29yd^u#P z&JUNq`BI>Mul+HVwiy7rsp_`w6g#UhX4#}Ba^uY>ohqa3;nmmh?Z3G8ZaCUx^;Nu% z9=j))mnEr(zPUeLz}&%p__lfvo|N(e9)NOXhdK8+6)W}r!gq9ZAdEW5AOicsFSA;$ zit!uhqcAa1=U*sAW|pT2BwiN85x}IUu$4j=qutfGU=z2xoTcWq&~}M{$<;QFU`g2f zPP(@Z9o~D1&pRlG}-;q&|i(xec%aYk>QIqK~c{0&^+4OdL z&QIKY7qekR;M7|5Y?}3N+Q0~^c{8@?$WHeNa(M>1Wj^0yDEaYG%ep3j)-n54LBeORUMUq> zQ=tE!R^1zee0-AAbJpz&dX$0>Lh@;8L$385mX^ZLB)7MIqk|R(n`m>Q#f$BKL=FP$ zp}xK=4{2M=AwjCTRe{%RN;X=`cf)e#8(D^3@WKEhgtpI`k3)%VXwL}0jZG2xX=8zn zZArb3q^s{q7g(8L^%E&u3xTlizY(ODj-`2KDkIl)m zR=hmZ7vt_I63xwg z#ofZ6OsRE7)JrYU!cr!wV7r;cU3?O0vUzPn)jRsGJc*O+!) z@=>Cqta*c7T0A>D(OLJ}%d~5feHCaU**_!aaM@}el@E{YuOjRod#g~_vfXxt+4l7bPT#ybgqXHdr)$-MDszd$FCkwvEr85c6Ek?p16dEA^VVsc-beFl3WZrRbSat)9GKgsEa&~jc8T$_dhGAIS;d` zuNo>-_W!l$=Gvze#WlxfyRYpzF*W_GN4hl76Q#L77UVQ3x#w@w$@Z?;^RW@QE7wDJwyF-9y z-~NZdd{+P2PE}9%ZQf`_D|;W>QMM+l_s$mI&*_w&rb*`W4-CKq0)xA|s*#Jc>_?0vXBUM*waBWep;J#^@Ju=Hi=PYd{%CZC~!E~pCJo!hqFQr9AI5PufTF+S%n z9;`2U_G)V#=2g9R%($LEC-_dBkV37Pp=hnp_IgyigdyM&K}c;U&hH4=q8OkNl^d?G z@?!VbHJ0RAZcYkPUXe#mG5tJJ(XS2F-UFoYGD=H1<2ag8nU>&u?x?Q_uUr`o{QlOWe(@ zo~m{63#U-ZsWkKI)?L9L`tpS4^xiE-R@#l(H`t5C|wly#oeY%DX| zVn_YM@OJ+#;pxQC2MMxzf*%W#AE=2`SkXIgCt9x*Zt9+gu{M&E+5I}!P|eaxb#~8V zkRx_3*ru&$B!$3D{eU7&ok%%`Bc?AG!e*+ft43z`>Ao6OwSka;^r*7wbuJ+9&wV{B zYLT=%GFHx}@Tht1rue#FmbY8g%Z$B|pn&!A^GV%CrjGWMgJ9w?vyzsMYZZ>`v8Q=5 zJCgT0PDUojT}3fduTeyGBh4cCirI*$JrAz&C;9K zHsxMsHmNxgTEsyk^vpuo8dALM8E!uoUG+ZA^D6Y-$x0NM$FCuv662EfzS-Eeoul0K zB=qsdKz{g{&WJ5fm-4wgCp^TIcBHp6KA{mu)-A03ZbssbgR zMixHfSmw;=chm2uLs}&#rz!@o-F5D5o!s2??e{mW6z9~~!k)>MiiGdzr%W*c`gl&J z;ulP@LgQzz(W~dCtkCw28HzXCi8TH_m~TmwVML1WO4)0t%Y>=pM$E2`-`RFcbI&{6 zcZ>-`M!|eNPIVU!+mUP`uNJG-_9V1WJ(Yq&{yHkw$nta$6*rG}0E|iJqKiqgm!vBy zglLgS`!nv2yem+i)Ou6?@6u_lOVBoQ=;*xXW8?k-t&k9kXQ>}4;2~54RurDp8 z(k+5fv~xH8p2EiHniOp@IQ-VF%wWwk1_OnbXb3O4$OsQ1s+YW8MmUxRI7|NPSD_1&f5tawC#A1MjV~k!2r^3vvfT&u(K#;5A85m2Aij)I6VE>u;vw--uteCCe2Zc^myj! zfpfPmjrw6qO;|6gmUc`@73Cp*yyn8_J{4gmV{y1=I(nd;{L} z8EF{vtIfU>ubelc`^D*L%iSsXt#lFzptd-BxYKCh?FfseLVbLs9JVozCAD1wH0YCF zHk@Q#O~qk`U!0%+2Faw4k!yb_UZZ%rb*CV?&HObYxk@j0lFY^60h_*Vadxdz)+Esq zQT+p8)*bqdu^s%R)5qKdnN~owB;W7e>mV;@x_dkC;I}6;VHtDwVh|S7^J%8pF5|6~ z(<3weiplc+XM5mVd>}<+_&`;W7cLs1%No9 z$O?DB&BEELp}wB5D}I_RB0dd8EU)8J@ltMEk29}R)gra#ey6=dN`bT2q{b@cNWzdQ z9|(yx9=(e+KAJCul3mRD3*P&LVnzw#;nW~C-ssGHsW0$v;C)}k5BEFc<66v_%%_yFc zZm5|Ii2b7Hk`z>}p;6H!LTMYhRdJ=PAVB)w7lXFd<+Ry9&syEixh6x|)B1#k#!b%q zoz1S4xrtDETh*Eyw>~om`|>`lgpLcL&}F55_|RXchlsmS$8ZY2g<(&$b!M9QPI-Dt zMh~-Q1^NN{V>L9TXEjC*PL-&uyFMReWU9oJsH^a3sxMH$FO}{1R_lfTeHMGy@gRjV zQ-Ps)Hb%VWN`}*19(ElPmUtLAGPP|!(CbN2;I{bLldvv}^5aT`Sx38XSz=$46Px9u z$qXSe1HDA$=t_A>-)K|F!@$SQ z<6kmW9d42sR-m&@ZTS+@?k*)hq{}L(WIvX^thWfMi1@oAII;NI-*S6jz3`-mvIUZq zD0n#k*xe1Ood;x^LhFYcxJe%h!gd3_UDmnf^AKgs38BXdR$?ss0VXLe2j*FQBBbJ1 zybI|YF#}c?B`-XcV02|BEOIAMAqK8sDP@=X?ZSB;nj#aG$hp0n~U=w|K{hqInBSz+( z5!yPpYB+HFY|kaxSR^%U2LW76c_Kl}1=ngyJR9maKvcS-%S7etxd5MH0Ya*bv_HUf zS-A;Ht*Pewk_gM1a`iz1Y%U0|VET9cx|+Tj+^3EVq6hhF!X*(J1%EIvmgktlG72kU zC1pYlp>wNa$?663xbHNg<)99O1gCeY4TT)%x6iics|EHV?oL<^K@A8P68@&SUod*@ z&|__1tR?);0jB1_u#5I`>J{-!k_MukOYgXEI(#ag>m3{o2?XXDhRBo8dvgNse2X+3 znwm*`b1r$Qe4|E2Y`_Ex6SRDz5sC=)XKeFvM&edOtVJ1>kNTNP6)_yu)fB z?pE8|PZlyP)|1zw%hShLCze(6@DWP7pQ*nz(96HupWGesme*6oK<4bZ3g~#p84&+R zjn>u^b7(YGt(!mB_r1Sfxu*)%Ub)oV(J!i~Gbka5_fwGCmwBwXQcoYFD!wdHN@r5< zcl1@N7Bl3wZC}ys{5-c{prFK#Lht3{rG(p#2i4Ng1KYF9#)*`ikwmOM%yl zuDr?Qs6TlN9j|#gSvwW`%FnsBx;Bw(7^;;t zPgCHV)T}iX6)s)7GWfTmwB2phC=^~TfqGX(4WXvkiH5RMA|O-%Qk)jgSwvB{ z=%X`AiDHsR(0XRWgg75(yr9J-cv4`pyA?D=-a-ix$I@wiGmfzQf@2%J6`Af}K2q)% zSBPH}`D>L_!g?DI-751UGz}ikeFh~P7yY8Ru-&l0N15q%l{P?I9ezTvBdoe*c+7g2 z@L_Y9!`dwi-jnhF2=OylYC zl@Pk$lAj}&u^eKQWVXPGPFH^GJRUK<4SW@WB2ts9+B#4i83Bd#?OI*6Jt`IxS20Z>>S3kF{ z(G`h}_Q zD4_NSCY*?*4AWQW*c>PMGO!DGua22>FLUPum8YwAUX#LgV40R_6nWt5_FfO;Aekcw zx4E)k;sT;^Ri;qwHoE;p8ZTI1zP&vqYf+PYXV~_Exmx?;fRkc$>WAuKm|$5`?1$XN zgwBowU40a>Gm}2yi0EpS^#rNj%{%3h7v@kKkfU5SLIXoK@u)dIm5t~`)PlaJiY=?m zt$JN0$AA@Ctrv&yGereuF{pvXaRKbO>m&MuZ$_oc+Z!*;e)I|-;x@ehXN|&AF_xch zrat;6pidhnAGRdG11jpL|Cxdw5F)&?coC5|7dpUYi&@iFRk_akm0N&5y&pr)(rs$? zR7*8E#fBx~>;+Ro0o;0)seVaYdce|NKJ<}%u1nByxrd*f_{#Ri@M2*OKA;)vfrQ@P zmccg}xT>_1R)8Z`VYHc9w*D_Abae_S)0LUGeRZsd`Jko3ph6x)Xk2m8-RNLODb0sL zq2pG3a3Mg!))U7Zh1}Bnz*88M0kYf1MhZ+SZex>R(h-X4jE?%aF1n!>;8jL-)mw-x@P3n55_K zud)Mmz}MXn{!hD%#jA6p(=vM2?DJG6%IQQQ-7TgWez*d>Ky5#pr69cCj_j)pM4N`e z=dECWqu6MgsE(efdiH$+@#{FBJ+GRsoyyx_%$?1ida;yQf@AJXzNWnC8HVhPv&jw~ z(kVjeG7>&2LmRHP(FH)olsWsM?$@zPN557}9w|L$jD3s4FgTZzn}R8?Fq94~O^1DDm&{kqD6k{L+FbWSEdrM|rcN}@o zQ_5L?Q3h&n*haB+-M1TzQn^goVvJEcz3tbS614aT^B!yYP11eqI~PZ7IGo;zRVA&xKK-a3a1E5pZh8|XTrXV z%l&P8z=H8r9M_jE+UI z@4sfqVp1G1b|QSmcaNS_UfqQk4Y%VTCE<}8-#d#gx)wDm~5Yp`p@^dzOdt?e&~JpPF{Uox@vftzbj@) zMuah*9k3ZLC1c)CEbg709qgvea0dz#NalR5putTs`NSLAts-w4lZ-Ja8pgdhPfa*+ z3PoQvVV_FA^cOQ^bq}xl%65_8Zxp9O4{hB`Tz6Oay))ZQbg?jIz#(UB>M_-FKv6g{ z>@GW38_063YP4t%Bf2LYgXk^&S@9P0XK zSP#l~L`C9nKdj=qJx!CLAyKrh9~#vbt*o~Tu4W(}p=xk#xDg)Ei!ZIov)?#uTb|CA z@W9@rV%X~$Y->Gofw?T(|9);EAkrB>$3Oqf{e%E+z?)8Fl{1vVyl%uIKH8Up{Wf*fP>9t3#qGBl zp6l!nibo+PA=N_8GZMc#cDyzn+-ia^HySV>0LhV+0@t%?oDWR{?TMxy;VvThf;c$J z_pUS``XCW;LnWaIZ(-6?CB?;1CUm~N$CpuA8O8WVp_~}chPog z*riPKs>#*6rwA}eh?`ouwF>69{-xd~#E3BiWg%PzD_siB(Nk#RNG_jhQVb#K$aD@* zW@?RXZ=^}L!@nu!DuhwAVKUT-Ba2W9&^)O$9$x)8p6$rcrVHcRwBuzJOh+xmlvhnG z!>_GbL>H)wWw?^tKhJf1%HD~(*fVMTgAfvwX%0_ji}r1^2Bg+)(CUqQ!(Ms?YopK@ z#b)}VMNg=O4~XI8k*3T04*=`HK39IB`9|F&3?j*p5F!|1Z4>U>%uB{5%y!ULT!;RY z?FmgBFe{+_ML=KaeRytv%{)QN$aZmyyRc{mSo=LZnNlXyq8YUW8zv852fS9&t7WdA zJ~VFM+}Rvd+`q|UUOB7<)75-N{#&)QA5snI6?b-Sz|AYGgY^-F_dFGhmu>PbIxzx2 z8nH~WXHM@o924_*>KUILRR;yl_G5C4$P1vwg+U;`gi-w5crD`sbv@JU_F3N@quW!X zwKYPC&oJEZ;o)o$eFjHfj{lv?dKG>vwLptzk1;!bgZ%j_qu)LcFSf*^qquyL2m~Pu zaYfk3&a4s=Rx`WAd~B<_7JO@fgfQT$JG;C3ukP$h*C>`M3b{UFMoZe&J?;=S)kXTnzDSrT(MIcK4?F2N%O(7@gWl3w8@5ruq)%xrm} z#;4yx;0Lb;7XLx;qU8IS84w#3u~fY!Jdt<@xU%x|EfM5Ei#FV0qK5Zmxs^J=cXP5X zD?TYDMY#HL-PR7IN9MwDHy+NI_Qzhc)>JP9%-@xA=mUH>5#k7R#*%R;=6RWg)L(gH z4(S|Qs%dEOI=yJj6c!e46$zMswH0jE%GV4uF{9{tc?0ae(`72x0B8QUTT%vpl-7zY z310D*80iDB9SZ<<*1ksgtM+#Ok+He?V%3O&&vIjD0>|aDj5t6w0K9(Sc=i9nqA6!w zRS}t?isDx-(bJE=VbeTszGhkgP(V01J$JvucmK0ry?X!O1le8v3ZU2iUx;Y~*6_dh zp%!CCJP#h93IA!yLnCFL3BXTArs`f_Dj0=cVcYVKe;lk9!K`10i02hRDvRzk90%I+?>IOu+HApolodo7-#EoT{=-(T8IM7 z=BCg7n_m{xJO2_xDRVp^e)`39CWt60L}_X==0C{6zhA5WNhm!LA<}a|jGx1~fnAsM z7PWeCp}*-5CyCB(e}wB8C+l%o@6nTCJF*&5S0g-QAlO|FsAFUUXFb))&0~MDwLZb6P^H2Rrl&FL++y|C(B3;Ck@dStZ@JCw%YF z+KOg?RrtzwTpg+0gjVME_WkQL%suVgb2+yvDr624^H@Z`z5AaSg{#;9uix1!Rzlx! zo!Pe~&ApMx30c$3pkF9t*0m-k>LyK*=06CY>rFrV4KD7!cyl}Jl@Yq_4PnzqtH3@3 zIx+}@H(^~}+q!M#NXh{v&e7d}U8naydS`P3D2@neIwl%L8li`TVKVeMdF(ZaxNdAfW8i3%qc-^}Z0uZJtGp|NHpedo=2+;;5fje~4}$SCPi%J^vW$`*Q* zvg{u)VEBC+l|<23q|CpqW5mEixzBG@ek(;b9JwxozO|^};C#cHeqVn7X!^dJk~jDM z(+5uvA8ACF-XHAx$t(A;Zin9e3UuC0F1X5}6lIx4W%i{Wk_FF%o%>qjq-pyMN`0C_ zPfJ(x>8aJoLZl=8n;T>L0uOz^^vjw`#~eiJ?v@RC;*OXaQ)EmJ}Yh;cMEhzB27Iqsc@h^R);Tu%%U zncJF01F1no&t+Jt@5S_Fo(Hy*!$5!;cLlpH>*694k9E(gkdb~SoPq7Gd(N%1GMUcf zVmgD(LsoEfDQSAIhaO^2xk={RK}clX^12FU$fR)lOap*jRw5a@BOhU9mlWt|484zc zasrX90Xq}+9Au(9owgoY$!TeyDluUc2xF^}O;kr8@Co`%-lj8?_8#T{)YU|5eE+aX ztNTrk`i>_{?iIK7Df4l!I;2bHxjhr+_^;RQ11CcY{o6@5$7=0-9a@&}>94?(MtX>y zETLo`;M|%xgXa4urESDij-GgRuS+iWT&`zeIpL8cnMWzHJqN5^N*p@pGlM{l#1b zmYN>7Vc0iV@rRgq>2mZ@n(D6Ze9q%|6eD|$mVaC6$P6s1-f>=6O7}qol@2cw8RH2C z(5XJrv|6kiClfk?LONCe?m3Ee9J7JyQql(Y5%R)7Jw54D9Ei%HS$(cA47&k}4V7FH zI}GZ~z%-0tCc?UuYOcPhPDi68nOD2|jsz1#q}-UW`{(knC04tF!`_GZ0$ZMG z-o`07%19eTA60ymq`qUImHgOG9GL+cNaiBlm~1#V6suwT<<+OPbJW2%mmB9*Mb!W1 zje(+T1XT5r*KzzP?ti=UpS>i*fEJx^$3L*AzrXm8M*7>U|8%|lmq6?P^&d(_8Sa0w zlGn-#bf_}^2njx;KUGxhwzYbActq*aowUgqdd}SV{&)cjKNV;+txwm${~tgzil{OF zjN@X&q4eCLVW&6iP^{i4&iFNai3tJj^+|DOH|LoE%M( z)O$LWt8Uh3>j@NYp}K`R47{Am`%lwdB?Jq%j;ym|TG_rqx;f>KZ@nEweK)tjdIt#I zqGdl13IT$hji_+N*6R~P=pQswJDWcOv~ zm&^UUhJ^3;0%yAY=#2k@z~-{Gi++Wu*ZAMzlmCmi(<0Ppu;IDK(qebYsfW8oyY`R! zBqC8!fy8#FOirWH5P0=GWla4F#}}wDEvVk(afC1u$@24tKCD0r7a1U&tsIw7C_kMT zhHh!A#UFR{|HGyD_Wk~ETCIOQPEb6J%j-Faub93t7n71g%m(Pk{n+|o$#XKg)P>Tg z5VOMetIy=}ASRH)@8HNoclYm4P(bZy?CycRhtbE5r!hol|2G}_Z@ledz0|O9k=}_l zpeh+nOLCvSE-N&XI~oY*JZ5iDgUKSg_Pl*$E`T6dc<~0c7Fq2OfZlGKy+X|^s(SnC zE2xkI6!*sv5mpfo2z7A&r$oNr(N`8vP7ndxt%mh-7x&M<;jiT0mbL)Q&Sa!P zs_;r74L2dvgNUCi>xFUM(o4f8Ko)OEHO^!~l~ea^WMf-V@O8aU;$X zJ%+BE9>5AqKqG)i-c46&32OuSD0ITN!W*F(qwNd!tSRhR+S zmpL7Xiqd?Jt40jPst;GvPItmcGG#>Irz??rU&fLi|r(f1hb6TOEoAu%@66wX2NK6=ts!Crpm#ko(Qy%!I<;%zNy!X}dKPhMP*D!)Krq?Q$U&hl?_#N=E>+7hP zvLC1E`P$sV10dPw@>jc9U|(}6+J^F|)i>Xl>8`OW9m;e?2oGf_7> zHrp<}%gvwf(VR;oxMZAz*YAY`6A<oo-I7YPQ*qsPEC1jcR*NxWoQv~K_2x8opwIX!XbP3bEf<&$0Q!| z@rktaGYCrp@Gyh%*U zKK*>s@i27Xw6O4)Na3$*OcQn?$-VU`@0Rq!Dd3|coXs4UuW zhas5Zvf``$JD>ENiA-NQXDRY8pscr0oHkdioOSt+zclT8gH`zZix48d?j~pCI1UFY)fSr0LSjr1kN7@wSu$BUo29Ne z_fC?#pH0QnwG};fLzUFEqI)TpKLQnjSd<39k5kuijp%0_mIG z>~$%`@~(VSx;7Lj)6KuJy_(BmDpQrVyJhY97^wYVXU;M8*&op&6*@&jL(bNFx6>!A z$IA2sNz|Gu0F9+}ir0@2^%eJ8>WwVb_YyGpNV9kp^J;Oxrtn&n&Lr>Z+Q=G#*kVdm zQGf=yUy~KoA1=6aJx>knXEXmeVt9tKr?`H9;-X|M_va?05D560U&c`g`6t7;t_;W_ z7IV2GzA=SHxRo-d$vPZ*TpqXFfd7n4Z$acL8Yk<(4adrtR`!mq^;5e!A&P|I9nrvq zHQ$9Rt9!ZI9PCOHjqbdh-DlYZGVTJUah_1UUS0Ab7>j5_oMc%{>}m?{oR|N%^L>?P z-EaHcc^j|PZ-FJ@U{gQ1?aFsJp;(OhYqE@$Gl&%;$H=4eWt*Yk8Ly7l60SU&wCeP_ zCF zPl#uz36%_V;0;MaxeOHw`ybB%!yz(~4WB6<^rME^OPgYn6n2g_rkyaWdrAQ|->zor zs34$hA3P(N^vO#V5YT~Cb)5-|`+6|tMWxn%vuUnNDIgJWA<=-TN7Qa5GpK2zbMt&l zVv{X{&PqjH(Z~2{tK_`4`wFf@!s`-2PapB>_$cu$cS%{;6V)#sBzYZ2tpU7f!}UK>S0wL z}=El{HNrNI$)Yk;;q7UeW=Kl zOa55^wLdQps(o&#B-gzkQNw$e!Pn*V#1H^&T?9Mk>e>k6dL=C-9waK}NNrVDrylZ^ zLis3Hir+&LnGxq_%9?>G*q224O8`lziC{~3}e6Z>rc!K+754frfQ$%c)!a`SBG-(s#umzowum=dFYRh>l(03q$g4o^_13^5TsGEFQ`q} zC$hymue4xT_QOtAg_%V4n9Sk)m{QI%fSK^yuW1wVD{APS!7fWE0#;pqjy2V* zNER};8FIKB=p(~ryxvVH9Uf=E!G;%mt>PE1hy$pCQxX*wIXONsP+IeKO#Y|3I>bb` zmUNhd$z2y#@H1l7?vj0PekJL9fBM#c!dO?T2HnJe$^A1I5Gqdr+<${19ZJq*_HYz{ zOWI(B8Y>bgPoA0bj2K!vOx9KDi7TMEa*|TiRw5v}{;rkkZMn#jvBi#lUAyP99NZ#& zf}EC$7E8ddDXDJ3 zr4+R9f-o{>tuD-o8I%MmOY-1qLEq(7GyOa8}^F} zQW>UFRcU0I(0Y2`wI58e$dwt`hXgIGvV_Crm*l^qmHes>)@^1dkK_;tPn)tSn@sMW zjU?ZF`^zma6+=I1b0A;m&Wh323GQ*(UT=4SEUtRPMKnWvtnyU!MV+S)7z`6hqwu@+ zC@MzgTB;uvjJJ(T5kX-264k*Xq)k!x?5HKD&?pj+p6~4JzWw69 zI;5MY$GpHjbO3J4=RST$VrM70nM9t#jK4HYcDht~Wb5uz{{9YG5&RMP*SR^`KBpAy za6EqNn>;+)I^+4%rQy|+)v?&6;r{t?OZC<~k4C%`>s$dp7x(HiM~gB(fu~JXiX{_u z$iAua<>#asq-+GOmra#6DV_2~?-+v;4qMdH6uimD#-SE6oeO8?yXZQ1)08ht6)>tz z-NRnMVO|!DrIq#xlxp2A*>7g72)B1JS;3y2oy}TrAm&i2Nwf2&1xSSFT2|C1)Z>nc z+CyCK+MII83Od9YrmwFP+MjMzz1J1)-iOo#Arzn@s=m!mf=ORS_nI8@YGCCx#5WX8 zRI-r)oe`hN7m|h|AkD`?Ir(hh5U~-XUxz#kU!f80#@b-8L1KoXwn5Q5#22IVE)y`a zWEt!b@Ss`Zwz`R~OZ zmuT*}c^eC{@Amg=B9Y?po7aO*+_SSLbmTM=u)b&8X%KUFSMPH11%pw&hW$C}%Q^k1d*r?1~ENRq9sbt-QT635%kE}nq!iCkVCY4A!0t>j*l4exJ zEH$HAUaq{zQEfAS*9rO3o`-jroP}D3*B%ZhnNvKm{5WQ>MIv_MRGUfr{7# zg`%1oqGsQ;@iv9aHiEeVaEF7X+ln$v!COW`q04)K0Ug&(x!lWAUV?v7 zbzK%eY>RAVc)N181x_mEe@N-G;$Amt&1>ELgv2ZZ_w-q~fBtcM9?QPHLoNzr?PKOt zH7P1$t9smrMifN*!t3iP((+;8Bx8i9X-ZZAUW-gc)q-%wr0%HYQWW+z$=;BX>x*U6 z$n^V}bM+oCMthX90$!S1w7gY|ct)sS0NXXGaCwMpCL-Y=GSQxG`2IvQjw&IY+r_%3 zK~bXgK}v+Wle4|~V6Q4r3$N!EFyr>s;c`zJ$->K|lvrhdkGm=4EG$XUdL|}C$JQS; zM(reLj2*`NG)vOzMZv{H6+@HGa6}z?UAzdUZ)4%m)1+I25TEK(wQJFh#T6_nJnnsz+t8VT;pJD*=X(iUu} zo4ge@C}_xT+dZXI5cKuyjQ_l2%nLu^%uyFJrvhYn7mOu6y#)5OZb zMOSXkJ_;_x{Tp+-JkRQree>shsXefF6)##~T#N8_&;NW6#zagX z*qXU|(i)(MWI7P2gV{6VstFt0oA4#jI~D@rZf`cM7`pG%*&w+`%37EQoEy#G zqlo&1hb)npA1x?l>vG7+^0n~wo?l6iXN!=U(Q@0y8gr~hK3GHKGbT9i9|86CsPIQ$ zPIk^-1auizayU#<_^ftkRa^3Ev=5FHmGTIi2(9Y9M3Sd7*ZX@JMkqUTyF5HzTs`{| zdyW5Vi>^qX^I3hBb(R`7BF@gu`x>3hyTGxXvsq1~hdO@^{}QuFPQ-~hz{-BN@a$%U zyIGk?Y7g$qr^vp$vj!vKVv_gYS-rGzaViT?_bA*SZj)u#-F9gSKR{hC*aNpq?e;~F z6b$LAq^(tHJ~yC3+4E&k>?gCukFj`Ug_=sYe8EaQPiAU)NI4k4iQPOY>CUrA!%Dm9 ztq+v}(=>{@=5dkJQhrqf!LzN-WpO>Wtum+n?B37q1*npAP*r@JlN*LbpC*?5cjU~9 zs|hdfyTnX-j>XD}rHspLbPc2c& z&!m7V)jAeejnO^1${e1`VyaeG+PYn}HL5i(E|pyCeZmtLAIcPXA~!vW;`%Lxa=AxRA;4F0I_-9RT5r78M!mw5B>V2Ok6 zL4Wl|a}*qxfUi*I^?T1+%R+=^0M`pV@X%1R+ISv)Y=pb4-Q}?S%7+20Z%Tzm?yMd%=uY&@ z&BJhY{;7LmP7E48)*aLKMT9}d68}$oS02@5mh5{@Pm78+-3`hTC9VyE0*WjWNE#7P zK%$6XvqeNeb`S)Fm^d;tEf5e9ku_p~G-6mp)(|p*W)Tn!VG$w;i%1BBuq1?pEbjw) zX3m*D9=qqgKi~Z``M&$zd+S$qtLj$W`rfQ>?`{99-rpmR7SgK;BB@n8XCyKJd32=s zjgy8AVS82u>Gmr)jChf1JDBND(Y7IZVA1Cg=clcG+pJ?sSo$#Oo}bWbx@Pa51$r8T zI4|4Gb=fuknE4x(&PkfS^M7rjmj6J_+P8NvhnikB<{>wix}B1KpU3aSYF6j%nBh!2EN<- zQ$jmkdT#Cv_!p3Za=B8M(2g)TvvZ#UNLwz12C1y6*`hpW4T~M1b@LG^t)BCP7eGDeL>X_9H8h#8+$egE8!*78+qKQu;J-VJn{hcdK>W7bg_Bdi z7;d6Yq0eNT$QSIB>aQB|+v2TARipk9Z8jO>j;nLPXH*VQ{|8{sSdnQ`FFHi$SddhD!h9bv7mfU5-6+TL*VHDOqnQOFN z759(u(px88=W5u!j5xxOZu7x&Tq8U-`SHZ{SNU3P^(;0;;c!U=&(%@OC}w#YXN{ox z?cH-A=TCUmR^P}88rm>09SR4bBqv)4lmf9H!JlZ zCT17OYdhbUn25?$3QuI!F1m-wlKev&{R7Xt;Xz}uU98F&_ zJsl$wk2S&CtJ|uQi>;O}ZhtsqIE(37xZ!6E_KCBvMiXwxXvK0^Ly;A_S(g)1d7+m^ z)RxdmJEKi~Ub(C4Oz9IMj(|@N29(1p^e;cDyB+=_3Q;r++v`Sv2$sh&5NsLJwxv#V z{93;*uCPQk6OuWe-!LMu{`$1~NFZ?c&;ruFi>_pFgl&GnbMVuH1l;YU_q4l+ia`syb_k%CDl z;=tFFNv1esoRR5K8v`|ho~z~#Xi#L`15A^nk%wAjZp8)eQwEFJ@2B&{{OI3~=)38h zk=a@nbm&_GNgRs$G{vHHX78cx@W;wd0eQjU;eMVdR2YfDF*Mvgt!(7N^lhnyPKq+G@o!*tyRqg2gkv00x zV>QuQKN1J7TtZu-U69`?`F zCi^=F_J z`DLH)eSNDy13njiNlsBR8Hi_ZgVN4z=Wnqbc0HbGyTz3je9}du!O$QOaOP1~JEDse zQ+qHWmmLCfL!XB2`Flj?)FO4?fExiQ&h2fhNb@R+xL{`hR!CdB{jyo6!KkbTNcOV(MXEjd7!FlCMFE&v}e1{)JLCo zAD@vZcqnRi(8y42>UBx|u(&N!+ssXs@L?oJdrco6@eFL)cd+R6TeqMn$f%~_iyiou zkAvE6Uew#g54nSnpNE)G;QX7^woWU4$JRxk2DhvukK~8_*ADXohYX){>eEW#AGd>C zscBekYmz}{_7M60edlJtD`jQ^g{uF(x)tY}R&m+AG^IPG_t(+mCdZ4yGpIM~D(jTs z@kl`Xd!GJUabjB(vFIjr>#Q9870F|74k$0rHY9MM#m(<}p-O+I5h!Fn8wH4*st-ry za3qMlE@5}Dy}f;^;q(y5JnSPrd@7D|;viOxJR|}rBaQG}E<(s!KDPDU436{>mwY_K+!<|uPh#i z>bS@B7{l*zv4(Z0&>u-$wSN>52tS`}_c-R#prxnFE$`b?`#PgN1GqL!UT6)?|5c0L zjp~+&{j?JB4h4DoK#`Ew&-;~i{W$9m7Pv!=0qs!hi#ySFIN9NW>vF;Y7VMe8`S9}AcG+&*r z`NKFIE^MD8I&vr~dw^qApu+SJ?|S*uYCew&eNW~)@O)=kMTD&J#rol;tA%4M-uoMm zB3``DMu%J22=LX&7=D;z1MH}=$;j^A_hx1)D@#_FWST#_x{Vmu`2cl~Ue;x2Wj$$f z&rez7kN6yninirC2J_PC>G5$FLodN3t&ZH_Q?>S?zH=>ml|V#cQsrvRjC`#K0&S{a zJ*{V8U}y$njzdI*f(ELornix3=K5iX{;AtlCso0ErL)!I)${;v&2u_`TyuiZ#Qvrs z7&rlQ$<4~ud;_~x9qX7>geiHQ1(Q@oh;5tMY%8DVO1Y=;H4SySlItgsohX))nq3wAeuF2 z+15#&mXDq3?XGx_pa`3I2k0eEp`4l4{CNTf66KWQb0@5h{5C&VrQB|Zvj~ap=4(bArA?0X#JYOuTc%B0KCjyVmKR$e>%Ee#@?VvH?H!g8gl7CRscMmQcZWq{3-yuw<^PH!?CZCHBqR zw-?0Ne&!ki-LODLzeCSa24zNTGTA_RTslz-lhER2YY8%+;1$Fmxr<5di+`PieUy__ zYi}T(CLXzz+jJ_=oeV+yH09%O9t_7O-+Ii=%_BvxBqFyI$t#A3AEXR6H`_>vsA#-A zuBvJ>i_=Q8W4|y0+-(alXg+aVS*mQh8CK#pqbp`3dQqZGG(A=_KR+LiMN7p(rj)}( zu_;`%Yz-})Mx!F9RpM(8WoW0SPC*7RT;ytN>HYRno#3ygW?nDR)eI!ZUMp!7xA#>~ z2{W?e0GIb&ZgSO~BWAu1_!{1#H6`moPpaK{_@ia>JGW30yYpR9KP4g`16D|99(>4Q zl)L%}leg-%Wt7I~bPEBFkH+#2soZI4AYh7w{6nq2pi}vFZw>xo$}CxK zt~w+x^CbhHI`rTw?|jn3YEdckVRn?oyRx7cgB!>2O#vPnDx^^F8w-N^E{pQI=luf_ zY*Lc54p4juI7N7tYY1x8ix4gppR;iG(0;$eK7>mdC*`Yi=jOjEKh((FNk;LmYOFu| z#dlM$hQ}E5J(HB?`8a30L)bBgjZ(4u!hpLifcC@0X6WYKU%%aq`nZ2^v;OUO)BTeUmc$40-_w=2sRwBo`0Q60Kf$NiLdK%H`7iu>|>CedQ(C;OoW`svz$Hvns!KKvZnenlMORm?4fwg} zdJrR<*1QEz2E$AGV?CqoCX-xsi_7!Syl1=Q+J`3M35m$-t%;^jJFJ~wbgU@}I}&>x z(pv1R4()s4w{MV%SY#ypUFa|DL0NSTlZP|pvir2P? zBlo&DttOV*xSz)}fFi~~GB?mRh!CHY*}HT1Pi2ixb*i}xM%*ZcnHr_e`Hf(VI~ALe zW%qB61cq{{{|5y7!(;yx#Xs3Wqm`Z-6!lItP`;uZ31bRPq7NeyIAqCGYtQ7ygwH+# zI2FM~O2KG;X@T_g?D(XfarMwvt4q^5Q&90ji?lh8OcHx6*f4CpWelc_f;Lv(cyoRF z3#2ZvcqIYsF^p)4(Ao7@{2MFx%{;6Bf-cA8aL(ve1!)44*g!`_*9ivd<);%;ZnGx~ z3a&;8-YPFRrA)-}x)=DZ2s#M`I3vk4?TEKrc`R#^`*)7Mz6z znXiCel8Ia5T35(2ICG6Fqfg$WR!E}ESJq0rTmV7Q1+%iS>8f5`*;pK{8p@t`w*%LDA>6Dip?&~Mn#5Yx$lH%R z$ATRI#st_TK}q-)r2W!8w9iQ*ey~3H{g%+e4vnB{`7OL~M0ru+_J`QT(|3{NwDY*?ziY&5jwd0Q z#37FEdvJqN(+6Q}Y;1cOyFS&UF*?lGS0lQzzh$%(xGRjMYg!j7j@H0#B{29#1eH#;B8c&;0fO|G517-B|yu0R3zSw^4c`78N&E)NE@Z0Lr7+k}IOj zH^WsM&6RcLZq1L*t|-qdxNk=+iAf}qmoxvpwXR2FT~(E0;}!P!`~b)(n5V4nW-Q&z zg!N!D81da0kh4f$5Cty2Hx@t4il4L&SKCZ6_&hfuFHu+-oiJf$#%gL_FO)0>$`!_r z%*T-mwA)F((Oi$vNh`J^Ayy$$*G<)=`1q>0Do+6wDvThECYX!*!Z5%z$T5@b85eM5 zobAk{+P`q;@IkR=v-!2M540UjN1-z&eHNSS%z&QtqNqth}R3B`Tj1 z&gI`G15Un7u#Ba37UJwR~rK~uEbq@;HqA)ySc3!E*= zw0480y5vM;pVNjU39Ob+0c0L*UDmA2!Llo93XPTj7LRuifZZ$C6@_#FAzzAw)LmqV zrF07W1|?P|Z;zuL-%RB>`#XMWD!Iy&k|k(gX`u+X-~ec2Z=%U!^f74_ldOjPGWipl z&F?z;PtLxbca^s^P(Wc$>mcklgZx75*b`IXaq$JEnQ^q(ysHt@()lrNJ0!Jv^TU{J zV2-K!(K!Zln|*K5M!?%27d5#dS}G*bnrsdsL5bUYNV+=AI@Eib`YnM@acXSu0vD># zBr{)UywOqlnF24hINf=U8#!#9@2t&569C`Ah-ki?Gki$&3&_n5JhVD-LTl-q>n?!J zuoVM3#tqjbVql#e*0-pJYnIT3w!}c?+*g-ju)>Zn6Oj?EiO3();3NLZJ6O}!&f>3k z3mreTdh5_>K}cGyWnGBPXf)sCKMTLlQs8sS>AyMvM1e<#lXP+J#(ar27_~T6G&=-X zE%QCjfX)b}sh}2HV~5HS#+PRq_R-@v*#LHp5T+sqKM5ajrw-(%W&-S%Ly$}+8QCy6 znm~D5^gE$t?eqe>u`Q}!_^`gq|INthI&rL!AQJAk{Ou=TRsBlc^`2tEKQ2NXKMb}t z>(-3KQf59W!I+MEB5zKwtd)&`?btvNBiU9q`m1a)HF4-($lX7?pt<3cl05Q?YZj$> z3N)OwkzVl+Q26oK$)&6NmtBW?$(|7YF!Nfj0N#8 zBK=dAtuw64B3MGZCT?%hZEB2=jD*4Iqe6eylF&;H_$8Vv;>+XxN9o&i-R$?$RKy>X zteHgAVgx}UD$drT-C$lEGrhEy2_I@$(^F}PaGOl(`UTKcE^inaPQ%|Rsw)} z-3<5-oNrnNzv(tW=)ZCjQp@TSv*-!v3 zRyMAHUN@8gQ|SjNHuW?$T5|?0rhqqjZrj^bi^;1zYnX`2mCkd4!T~^I`d$1+lz?7M zFo&s}$J5Z_b~I8V;&1#n24Tl3K!3jXR`Y9&6vYL!-g%hF8O?V_FKM8cjL^$Q0xlCR zUJcuLI&>uu5;e~rCsLlbr7(+g$NlRffi0>=Gjk^1Pu9&H+o*S zr-Ff5tqqmAujMg?c{t@au;1AD5G8)&nSGxBDQW*OpZ^m=|KGu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +││││Idx      Entry  Title                     Kind            Meta                 Arch││ +│Selected: #1  GitHub││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all│││ +│Archive: active││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Search entries (Enter to apply)││ +│Density: compact││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked│││ +│Managed: (none)││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 5 | Page: 1/1│││Jump to entry id (Enter)││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││1        1      GitHub                    password       -                    NO  ││ +││Activity Log││││2        2      AnyType                   seed           -                    NO  ││ +││││││3        3      To-Do                     note           -                    NO  ││ +││1. Selected entry 1││││4        4      School Login              stored_passwor -                    NO  ││ +││││││5        5      Amazon                    password       -                    NO  ││ +││││││││ +││││││││ +││││││││ +││││││││ +││││││││ +│└────────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│GitHub│┃ +┃│Kind: password | Entry: #1 | Modified: (unknown) | Archived: No│┃ +┃│----------------------------------------------------------------│┃ +┃││┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_managed_seed.svg b/artifacts/ui_eval/current_tui2_after40_managed_seed.svg new file mode 100644 index 00000000..7bbc49bb --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_managed_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-managed_seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #8  Managed│││Search entries (Enter to apply)││ +│Account││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│------------│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│■ (default)Seed│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│▶ └─ □│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│👥 Entry #8  Managed Account││Notes & Tags #8│┃ +┃│---------------------------│││┃ +┃│Kind: managed_account | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: 2 | Entry Num: 8 | Edit: e│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_nostr.svg b/artifacts/ui_eval/current_tui2_after40_nostr.svg new file mode 100644 index 00000000..0426cc84 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_nostr.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-nostr + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #6  Nostr│││Search entries (Enter to apply)││ +│Identity││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Archive: active│││Jump to entry id (Enter)││ +│Links  : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Density: compact││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Session: unlocked│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Managed: (none)│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +││││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│Profile Tree│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│------------│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│■ (default)Seed│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│▶ └─ □│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #6  Nostr Identity││Notes & Tags #6│┃ +┃│----------------------------│││┃ +┃│⚡ Nostr Board│└──────────────────────────┘┃ +┃│Kind: nostr | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_note.svg b/artifacts/ui_eval/current_tui2_after40_note.svg new file mode 100644 index 00000000..f60cf781 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_note.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-note + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #2  Ops Note│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #2  Ops Note││Notes & Tags #2│┃ +┃│----------------------------│││┃ +┃│📄 Note Board│└──────────────────────────┘┃ +┃│Kind: document | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_password.svg b/artifacts/ui_eval/current_tui2_after40_password.svg new file mode 100644 index 00000000..e4122e4d --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_password.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-password + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #1  Primary Login│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #1  Primary Login││Notes & Tags #1│┃ +┃│------------------------│││┃ +┃│🗝 Password Board│└──────────────────────────┘┃ +┃│Kind: password | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_pgp.svg b/artifacts/ui_eval/current_tui2_after40_pgp.svg new file mode 100644 index 00000000..780ea073 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_pgp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-pgp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #5  PGP Identity│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #5  PGP Identity││Notes & Tags #5│┃ +┃│----------------------------│││┃ +┃│🔒 PGP Board│└──────────────────────────┘┃ +┃│Kind: pgp | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_seed.svg b/artifacts/ui_eval/current_tui2_after40_seed.svg new file mode 100644 index 00000000..9378a587 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_seed.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-seed + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #7  Travel Seed│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│🌱 Entry #7  Travel Seed││Notes & Tags #7│┃ +┃│------------------------│││┃ +┃│Kind: seed | Modified: (unknown) | Archived: No│└──────────────────────────┘┃ +┃│Index Num*: 1 | Entry Num: 7 | Edit: e│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_ssh.svg b/artifacts/ui_eval/current_tui2_after40_ssh.svg new file mode 100644 index 00000000..ddcb4df9 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_ssh.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-ssh + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #4  Server SSH│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #4  Server SSH││Notes & Tags #4│┃ +┃│----------------------------│││┃ +┃│🖧 SSH Board│└──────────────────────────┘┃ +┃│Kind: ssh | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after40_totp.svg b/artifacts/ui_eval/current_tui2_after40_totp.svg new file mode 100644 index 00000000..c01b7e84 --- /dev/null +++ b/artifacts/ui_eval/current_tui2_after40_totp.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tui2-after40-totp + + + + + + + + + + ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┌─────────────────────────────┐┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│SeedPass ◈ TUI v2││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Selected: #3  MFA App│││Search entries (Enter to apply)││ +│Filter : all││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Archive: active││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Jump to entry id (Enter)││ +│Density: compact││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Managed: (none)│││  1      | 1      | Primary Login               | password       | -                        | NO ││ +│Results: 8 | Page: 1/1│││  2      | 2      | Ops Note                    | document       | -                        | NO ││ +││││  3      | 3      | MFA App                     | totp           | -                        | NO ││ +│Profile Tree│││  4      | 4      | Server SSH                  | ssh            | -                        | NO ││ +│------------│││  5      | 5      | PGP Identity                | pgp            | -                        | NO ││ +│■ (default)Seed│││  6      | 6      | Nostr Identity              | nostr          | -                        | NO ││ +│▶ └─ □│││  7      | 7      | Travel Seed                 | seed           | -                        | NO ││ +│(default)Seed:(default)│││  8      | 8      | Managed Account             | managed_accoun | -                        | NO ││ +│┌─────────────────────────┐│││││ +││││││││ +││││││││ +│└─────────────────────────┘││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┌──────────────────────────┐┃ +┃││││┃ +┃│Entry #3  MFA App││Notes & Tags #3│┃ +┃│----------------------------│││┃ +┃│📱 2FA Board│└──────────────────────────┘┃ +┃│Kind: totp | Modified: (unknown) | Archived: No│┌──────────────────────────┐┃ +┃││││┃ +┃└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after5.png b/artifacts/ui_eval/current_tui2_after5.png new file mode 100644 index 0000000000000000000000000000000000000000..f444389821233aa9c9ac71f24705725aab5db311 GIT binary patch literal 84555 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SeedPassTuiV2 + + + + + + + + + + ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┌────────────────────────────────┐┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +││││ +│SeedPass ◈ TUI v2││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Fingerprint: (default)│││Entry Grid││ +││││Idx      Entry  Title                     Kind            Meta                 Arch││ +│Selected: #1  GitHub││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Filter : all│││ +│Archive: active││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Links  : all│││Search entries (Enter to apply)││ +│Density: compact││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +│Session: unlocked│││ +│Managed: (none)││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +│Results: 5 | Page: 1/1│││Jump to entry id (Enter)││ +│││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +│┌────────────────────────────┐││┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ +││││││1        1      GitHub                    password       -                    NO  ││ +││Activity Log││││2        2      AnyType                   seed           -                    NO  ││ +││││││3        3      To-Do                     note           -                    NO  ││ +││1. Selected entry 1││││4        4      School Login              stored_passwor -                    NO  ││ +││││││5        5      Amazon                    password       -                    NO  ││ +││││││││ +││││││││ +││││││││ +││││││││ +││││││││ +│└────────────────────────────┘││└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│ +││││ +└────────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┃┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐┃ +┃││┃ +┃│GitHub│┃ +┃│Kind: password | Entry: #1 | Modified: (unknown) | Archived: No│┃ +┃│----------------------------------------------------------------│┃ +┃││┃ +┃└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘┃ +┃┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + + + diff --git a/artifacts/ui_eval/current_tui2_after6.png b/artifacts/ui_eval/current_tui2_after6.png new file mode 100644 index 0000000000000000000000000000000000000000..3d2b5c929740d2aad8a566d3983226f9f69fc1ef GIT binary patch literal 44721 zcmd42bzGFu);5dJy{1&&< zDR=^0yFH94J-%Ci>hg%m%gd`v zAx~uqB?{ySSKLNjmOFx_5Oq?B6yPQK-%2^boy*?HvuQ`c^y50$(_9E@7xLWlZ(p{D z2qXdyqeJRv=0A&5^zih2@aG>N>OH)?qER`~Ho|`A4$jV1f2%7Fr1Dv}U98}~pydC# z>U!|vZx7=|7P#cx#v~@qV5UD6+YKM_|824OuR;L@|AJL=p_MX9kD0SdIC}4FyM#o9txlT?NWdfqR(C;bfUD(CN!a7Y>8$ImpH$WXn z&vQQiwN(Z5wMQYABg7=}4K}eFE))0~kMl70*(v z98#Pzz%S$LCWEGDmJbpQnaL8GuwY@S7#$Qb15opv$!~OfMu6Kf@2Jxolb{G11*g+X z^i>S`=`}STA_j0TFaB)mjBE31+?jm#Cvfg$fX|)tnQzg_Xzn-F$MHj+Fe5>tGdd~S zFKlMr6hQBB$C%I2XgCH88SNRJUoZkTC~6~#>9k~UYTV_Ixw)SVtJ7LzVO8^6 z%uiRW82k!*6#Lq)50i<)BwHoa|vT3~0ks1*TXN3O6J5;+gUS%2|VAJRs6aaE{7EDz5 zVMhU?zfwQXDDp&j9XSc5yYAuZ0bWW)v(Jw#UYr^MW;uQggMdW@7QK2Wqjf`KG`Z)H zD=2h}womV5s2hD@WA=N05qJh4;{?{q(u^Hud!ftck-KlU!NE*`+4;$WXY+0ATuj#Y zJ&>BFaoWD+C5DtPWKF67j43t0>8Y5|eebAu+23 zL2=Im0murC!;4lJs&qFpjk???XBmpNwKc0h*@rla1pYup6;smA$FjQ#A!qsU2^TFN ze1{$jh5C;h382qQY7O{!ryQyf(@+;ZnM`N8t&1q|PutYIpK)8kE*_^nkx7NXE3LC+ znWJ5ZvkxNCB{2V>M9MImvvwM7wr_5*mkWR+r|BBK@X4GmJ9qYX-T9n25yRO!O`qYL zQVytelY1Py1L!S673a)>Yjq+t!btjANnB`c>RyKilXWaIYxUy~X#t4$YKmQHyirrh z#Ivw13KJeSjD$Yr?+>&~Oj%Avvg%%Lgd3nX7J{q9FA!8kgS;H6%GhQXbO&ocaT4Mm zK@vnJ+4`W#pY@--zm4^QiGBPGA0hAx#sytxJtn^k zJcGjNgay7LsSrjZiO_~Zm!!fyuJl-7z+sORV)EWHX>`04I~#a+iq_UVmr(|Wc0hlO zVW5B{J0k}uHya8qEvjaH@I+8?(_PJvX*(xz>@YnJCMes41zyfcp=1VUbI^2)ADy*|E3@t^Q5ks=ogvMw z50B4?D4GFCvrbJy5stSoDx3vFp<7t(G6kGAO~2wLhQ^_d78Hpbzjtteo6+0P!wi84 z0ecc#f|5c^(dQCO-j;yPb-R!_(@n&pb_{9K!uowZn1&lR3;`jCT7N)c z9|-FU0fM{8Bqz^Jfd19Hw_n`B!orPj%vnBJ-tK;k_mjBKo^}tH+1cQQrHhN}VOnV3 zgBM_mY|QSVFB)zh8<(s~+aK2zf<4TrWRwA_^=phYtQn(ku6 zGe*Ym@4@QJ?|($Qdu&h66yF!{qs^YqStS0V6DnY3t@aq-pYpZGwdiHiM0+g%7ql2# zX>wTKlRygXn@uz>FoOhC!4gpQRtVo|a0xxe_N5`+qO2bv5B|t@R zfz0*_==vgM(WEyw8wp-dhv;6efdxJNWo7_d&IT<-EiUxqmnU=}OJMQ$wJ~4a(GvjV zc$UsBdY#h5^#|Z$Iyc_WQ3f3O-obrJK+w}6*aEO%W;jZPC}pDttqkANASqWkI^lDc-O zRHz|#j7QZb%4BhzVAeT+yo>(_N^7L~}m-9O6TbuYjF| zevo(XPc5<-k5AZtN*|Pn{x`h)FW~!c6<$;DpPrt+ZdSuS!iW*`s6cyrdkbQ!^lIK; z9d~JX$I5b6{ zkJ;qh(tC|;cWu&;u?v5IUh^?-?(>NJri(WViI$IXbDs0_LRp`suk1=O}E6o zVN)p`6z}OjwkqYhllNEL5&Fq97qQ=E28R}c{;~Kk{;@+}3jJFJcU;QXRxfxSjqv{U zxvFO<9*=z_vULJqH{ZiQ`r6y~0>A6;PSe|qf2E=pA`UW^Oi}wgj{kD3{;mBrC}7hY z>jv{(;TDQQ3LaZBt|l+^Ws6*|n{IHC9}W%$pgEXNs?C+NDzkqB`_yjJ4) zoW>EovLfrMnXJU|;lEZ`C8z0`zJ(HQ-pxY9nZ?C5KefZiSPvuP#{ZLy<52}qb|lyz zIt{d3x9*X<^MP`f^I)*RiEF~yRVoT4O2)X?l+XQk6b+w5cJOc47Cdu`R}E9zjgO?7 zP*rPmh$FEc?0+Q75O(iPLf2bEjeg#q5R1<1Y0P%RtYqEo(O3VB1z=WH|GF!+0FPCW z*WxQWjU#>~oQ+F!pM{rk#8_TMQasEx*EW^(>%+O7dOT9MBsVxau< z^MljfXsN@)IR@57=m-d{-W4}-Z@d&vHWyHDK69C{o`)oA@hVj7*mkWFTpW+H!vn z+RaiYFd>y*%&f*#cWCk*uG=cgb4@#XLF$f5d&lFXsX{Dgh^9-1Qi-oiro z8E*%@NFN^_gKVe9g!n9dTx{qoF0~pC5&o}FsCiUdI3)QUB8_>!+%wAfVe`0K&W%w7 zc5{|fU-x$+!6{bgj7GdFPo2=cCg+`z0Kh%^*~J;vk6&rq@Fu-)rR85`w-7&y{)b; z3$x^(GB-+{OOiy$GL=l`kNUn*p9xHF7Dm7H_Uk@GU`4jGdy6SZZ?uad^10b-Muqqj;{MOV@J{ng3s!d#hu_sD-}ij|mcn!JzxVOE;3|1$;fZ)uDF ztn&B+%0a6-tm-E}-`A9oxjw~sP*`8bv;x9&b92`RQq)_%5dB4HFVoA*%S*`qGbl93 zX~Sc+Uhyu@@%y!(8>3S%k1A^6La`&!?6tN2c%s=?kFncqTyc-O>y-`m#3UD={|bCd zhKN>2qV*947QS*Fcp_$#ti7iKL1g-{CO^KHVrH4D8^D#xBCgf8DcEbXi%Zp8ft)vx#V& zV&u;d^9Q#~+bHD3Q_UZ5|9*L+N_kQwyGRGe{_eSd&*1!9*6IHzmHB#dems2~R)AIg zlo4NP{R{v7ih7#fFgckU0qAK(zFKw25=2OLjgF2UuMaRA@%Q9BE78*NtHN&gG*hHZ zWYF+C@A-&_sr*s^At|q;Go=+_MQY3OoGg8a?Jwfup-X-@YRX=+*ie=``23Gx+oJ&a z%t7^{>~{8SnZY^{vH8ny+ULjS<_-uWc4caH_hz(LscC*c4Gjv+Zq2XgB>ocK^}BRV zo#dQf0=fqf+$(LU-(Q-iP1KBer$Xs9X)q6f+2Zz2#a|iW7fyw-2QT<#LpN1{BTVUK zrHw^{wjkvlm2G#>p4b-tz@H?+hcG9b(Wj(3{QMI$xA!^yM88X$xhHESrX-U2UN7w? z^4}LQIXr-Zr)e5z9vZD{3wVlUBul8${J7kCX0S)lN_`k=^|p=L0ea#*H<_K-Yi4b( z?TtQB%^JPX*!3t25le@_z3Zxl?E(8PUI(*_E7|sqd3WWKhQIltonoZyT$6RDwI-&6 zvz&MC6AAng%JY_7>7a&DOL9~YXT`yXIVpUGPZV*mKHYcw1SK_!ixnQgL!cNJ!QedrvAsexr_Aj zNtR0lmZ{D)1;&_Y%5ws1eiGw z(84Z=C2$OIjiM}vWmFWluH@xz=J%m%D+C*V`2#mgDO)MqrwW>--?}SUea6PqZ!EVR z90QlgYlYeEO92yM5<^a&haa`RWxV8$X)#DYzsyrsfHXRVT0*k|GM6XvTCSAKK$cZ* zEzp(nZxs#q(G%K=MqhHgj@E5*>cCyZr}tz!HcCs&Y`;B#EeVO%ckGl_mbqQLOFQ?( zwq&AVWv%Hw*5k@qBW_sN8EKPHZHu*VZ&Egr$E!(Fr}jIWqr!M>6|<57${i0AzmhPE8pVEg7QT!>37SJvA%2_KJC3TVd6kuR zJrR>`y|8@`Kz(Zu&chj%{zP}ADyI|Vs}cQ1I*+cc-RVkDC8Trg8}(W9yuYqse4cS!E(h@~XN7jLbO~L}#H)vWyA3*1 zll_@AnKDXhYefMEzh!pH6z(`VH`NzRm>v1#+YSG&$6ic$ZENP4T=L*^4@CHRYx~*z z-WJcrtI1hi+9wpz))r~cfo>ehJn78Y{(?jaQ5&oWq_Tsy(dIMaVD5=tn!@ZoLytY?U9Wv>YZxJgoc2ykl zNFC4AE+-J1w6se<(RKW!HoRYbN2Bbs{{hmkyK?>s_(^`=LQ>iikM>u76#TvqVPlJZ z*{+Gd05u-=wKDYz1>J{dIAVmf9#dL^-!)1(G_6w{;1^a+4?8sU-kO+Do?Vq&k`kP0 zM8${mLW(sj%d3coaM|p?U`u4?)@m@>9{L97PuM>2@~$e$swik_kvreBKZ)ae`7^Zb z;(Cv~X2KxlI80<{->X>Pj^{~y-x^88PZE_%1y}5ZzDF_4WG_|8fUel<>{`58io?Jg zTlOkQiILgapTD|~3?s1{NZpu-k(w~Z@hkjm-p09yZQ8m55xg&?oIFN(*eH(yjR-L@ zQ8q7r9qnX~i^UQp0!yI%PSFDspT+{?!$)TaerdHN8!vhK*kA34P_e!_Cz7;V^e|v1~2NA9k|L>!_0|P2FQy*B~x`muqt>ML26cpu7 z5!u+;XlPnHfODVcHA4 zZu9g>@o`GMnEM91UJ zNzw$_Ky`zYtfKRrf{e@Two{uNb97*g1^E&|6{UBtw0bC1gGC&1UMQs+lxC!;lkWLl zrzCsbMpzVdM6~0dcB@ZcXNAr4-R*-iH_V~;K@N*r=UBpSx31k_GpuTth2ESWE9FbG zdM5fBUw3E>_LwFcwAEO*RE>Neoq<5UdC@y9I~tbFT^ps}N>~Ar1h?)Z<_LV{l~f%) z!xrgT*>$FLQsxwTcrO-dZuMzv7oxakRoD_etzIZUr98*UCsQa<2_s}oulrs*;Z&p7 zJylPV%qq`neWp3d;UT)OA^e1L|A)ck_VXm8H|)>#lMXwdPgwFLlW)y{Aip$N{NByY ziG30b-Li3V${wJ`8T-&f)u=l$sV%&(lb&DRSUL9$vC!5W%@-@HJZ{QbQpy!~?F3Ew z_*AFZw+GMO`XmcUdtm#=hJWpk`tBjq_n5%fuGF5YtY^4WAt)0k{ayDHdOnOO{_+A4 z^SQ%FKX}B|+?5e&iRDuC)X}dKw^49apN6jP;$fa>u&nTJTjwNhXActwf|q(5e7!p@_uw7Z3#+umZSwxm8VVuDGTW$lxKjU1fDg$#3_M6tcz3ICATPK*z z5#~u|`RH74UZZrySZi?0p4`G@RNon@6vRoo`yScbLCvt1Lr*er0>k zTFH9@=Z0_fh`Y4k&ZUi0`cvDDK8_?z_#d?swEkP|GF#?bSbTis64&FmVm3$11gKKf zj}q7A=d-=9wwY-c+s3TOZu-!W8^tnp<>7{ax6apbn*mN<4t^_fs+X713R&JWFXYE# z^{)?qjY!U49OJ4x^ppOx&F}7NiR;p0M46<|?sgQPHBRIBCPBs_@MgD6)FOv-?lHq|r_zJKruCtO03sk_*ZGqBhQsoEp? zR(lkw$oayZ;k*}A*^-AogNCPa1I&wyi&@iIJ_ijTapsm*DUtExg-&^^LMRZCUzNEf ziRyGF|5mmkHSS?ZgX3xe57GcLNiz z1ecnTsnZ11mlpNBf@ZC-LIz@NJ8B=>*8P5+ArKUPYVXXdj{13`qpA8LdT!cch*5mij3py+cY{rs)O_FJ$9~P z^5%3q%Jgud!twh=+qp_r1@&_fWg_bm@JJU0F?kv7bLZ?B9oe%(WEDxiFSTYg zjy%izqGoexPn&MX9*V5kpQj5vodvZ_;ypd@`)EyREKy`d(5xIg3MjuUJeL%(*@`ec zq!THsjNhKw>J?z8xz-4!e0mW>lWKK**S#&?`kR!T8m-7|iow<3t}_j#=kLPMh@YFz z0+MIr%Zheo>C}0<#h3|JB~O)!dmR0=SC{$@KCW5ZHvvDk@NtzN67(#KGv}5-Aq?6Y z#I#LrX0c6ggH>&MK?p$=^}x^t+)-`b(B+gYdl3o>9UO8NG@YnO8vhzOyHZd^PQBj# zu6i~f%PkqFgDsX|MMnCNP(Ivnn*4B@d%7{2PbANG4yL0^&a~b~Etm8t-gmFe=NCB5 zg&ponNgexq(^Znb(N@)ouG@D%P_eu1H9JczjZ5UZ2ksXEqnT6ckO=32wp zDbpid^=Og~_dofct%Q9Ve1Fyvwp7W$Ec?sR!rPmFxp$BxwI+huc;-O-@TYp!E+g5yeAQ`1N=}bXge0yGiwvL98!5C{H6>YXt>t!>Tt1_Y5l8lR zYZ1At;=B(4Gi#oxtT}_LW*WcS{Mxc0!hE@XTz(YmcXt{O#oA|ty4r3Yy0<2wAIKMx z?Y~MF4FVr^7IiCx4|e!(=5q@LIG=W4_kc`LT_00uIn#K4KiiNJOyegZkJ-fIi;}rd zfm6O*gc`j)BC{Cab^m`#n|1OP7<-(w46#%gNIfY~sIMti=< z$?Pm@h#>unlozk(N$4QG!qLS(y*n;-SC@Par%moKNG`btrJ*a7L4Jv1Y*^(>5bE^-?#l#I=`B_mhA z_JFJGgYz4guYhsz4z6=e_+14#juHN%Vo-1+)T0%wtVdkFgPI;OboOjs*ZG>6LO4q5fQGHY+PW_S8 z^T?UiDj@HG&yDi`AV2)Hg5#Yv)%D)#?AF#aAm3GI70(JLm|u5^e!w)m=_spU>vaBqaev_^`~jHs-~n-#HQWo;bjC+$=KKZ(FSKPId*pC^uS=pP}85kETI zbS#UnZLNBp5C@yl+Uo^h8^E*yO!qdXU+?=AP5R&%R8N5N2HOrsF7sb1 zGnA`^HTav*%R$iLOqypB#&4l!dP@XAPQr`xGwpy8beLa4C_|2zn`6U zr;e=5D`$(jbihZ@huwAaZe7fLJcYKvJfvU&M>x+T{!hSLg&!dRkw!g<~#IxEqbjC5c2+li}froYZt zYNlfKzXxdkP?y@aqQ31y!-GK;_(Y<|djazD!%*OcOR4+Z^wJ>$gGcwx86t+{38mmy z23hJYQb*T$N6ViEGVM?HW7;+-#QfS^oAr#Z1`YBd5_PU)nMvW)eh0TKQxqKiui7_X zxQ}hIij3Hgh{NX$XxG2*Fe|*v@@wi9Z&_t-i9sLE-`gp@jNzxzg(G?o5EF~WZLX)5 zZ$|p392SJn$320^Q+yD(pSenRXn3U5+40t$iuc)&Gw`@p5)fS?gs7a0(Xga*tD^np zwpO^`SVNiwnap)EnXfA`h{PCm1TNGjAj0Zx)H*=&YQY{SI^&Jk&d<0zRj^7{%f~od z+BX7Og+E}$=NL}0+e7bcZFslg;l2%Vm z&Cl#y_#}pVd_r^Y(ws16olx_;b3usY1!{SH%*-qr)^;>vp3Sn;aRWaCx6j6sTBP3U z_?@Nh%YUEeaNPJ*QIa9uhX|d-rAsV$cE(I6)vFm~b!jO#7=BAXSe(vqHmw&KVMzR`6v6M)as6gBrtmAWY~W*f&2UQTI2im&ze?& zM~xNtQc`|O0#7D&CvE86HHY#IU<+4U3|;;CU@74K8L^6uqI;k`GJzBmehVJ_RG}^? ziTH9{Xw_5&+AV-MJFt8>PKN?(cfS_v2AFy`%>#KSw{=C8qf}M%xigOo4xkyLZi7`^ z7@Va85luab5GpiQMc0^vr&l9~TnZ3tN)QOh`C^VKJA3aK9v$WLh{zHrQR46dVO1J( zYzYgdYrD4SD*CiAxV*gZNp-%h>>B0Rb}eh2ioxKh$~ovE`g(G@MP^4<6SV2tY>-_J zlygkq@tXuuQ9&xOy)_|0(o(6-&30Nm)D&dR1PX!DZ>2Z3^hzcaLv5FYLJ-$Rx~L*^ zXL%!L1t^ibkmPl5;{=@+XRhflhBH-espbnehruin;IDwLW;-j?Mmn>mQfEL{$sn5` z^-)ZKl}KX%Y`y5!nIgGe!gj>ZiNk9@scW-U5QwyxR*O>Qs8Qj-ea-mNqJQxndJi-? zYm|un?#N-4n4jST1|Rqvv~7?>O~hF-veek=tpjn8seD4pNI&;$o| zz4sl3UW#T$tX8%6>q83h%!F4x+rrwn7{UELy5*AuIUP&vSlyYC2QGs4%LN7CM zvflQ*U2`fcnf;j}xWx)@W7g1BJ!OOOg!WjmWwuC|SmUEX=uT|Dt#2Zx@yQaqTRruqTj*e`Zr2!lY#@sYLhm5;8Sd)GXOEY_aONO`zg=>b^?GK)c>#aDrjMGar-K8??1Ne$uR zC)KW0R5s*Pb6t=20AZ+9G6)Dn_>~yCHSHFUh@ZFLf%@(gvc7c1q*DLJ0_cRK;C6^j z;=GgInvLSNvzdd5>Y>3;D`C&>y11vMh*09`m(lF%Sep2lGLnt(r2jLZI3oM_#jH*8 za}&oFRpZc=6<0Im{Q54)>Muv$tVhpRF$9>~Y))z9mRlMe_OqYW3v)+{QNK-PI0804 z9n~F#ngD;DT)MmkxpgZWHm9AhJXrsQS{BOU;9Alt5A21Y-XSzvGk6;|QU0OFj@`Lu zyen;;+!E8{@Kc7JKE3r|+)SoP19NDJ=ZIp&hDC)D|;;J^h&o*nVArr0uCj4B zXjx8BP&;Rp4)Q&cleXHC-`y8=bF0C-Md6H3576ua2^lqf*j>ua|AHRMMnDj2QwyII z+H~E2&kSrsL)|to;-nW6kneQKh6vR<=dTg80lC|=j>;fD zw_4<;vkxyw3bCkqN|3_OWUXj4KLI$Ft9ty*`?@n`&6-Uq$ow*H^fUa!awUksBLEdv zyfHkj3E}2$3aAg3r(aEYdgtrd^`a;J3t?d%p7Lg5oQ1o18dl=2CwK8X<049kKd>e& z=9v0y6PHlTYfwW`OCUn=vpJ2lJTtGsglsdaXt~P3uJ-}Vgqe|A4g;QvPIGA`S!=rn zPeeKeiti_>%{Bn{mKAMIJ*v^gF%nZ-`kzyJP2-*%1n!;*fgF*Q40RW+>Qcu#x&zF% zSshtNG{k6CD#& zCkAX+_LA$hB#XUr$My_g2YRm^cScvtN2K^YFNo?i=_3wd$c|~O9y5@3oi{Mm`I>*L zU0l<*8#QrnY)9$dyjxGvc-e*n9fTKi&U=P-f`6qNB+V>8Po;3#du$Q6i}9X8i~23d zw!Bnkwl8N{;(5jlS&;3q(8=7axJm}2y5^*fvquq;YCn=ws}5d{bt4Yuz1LAh=FkN> zCk$e0wyGOyG{o1OSSH`ej}B*UEPQ_2=veM^kQ$nb`?w{-1B~+BaobtIfUlbUbC2{H zJecXI(!tgj>~+T@V#t+l#A)C-l`_q7kcc^eoWDE!m0aP_sRU2> zJm+)lB8@5Po-k=^y_ZZaVD0j{u{}51_N$frIt%Q$Y={XsPb>gmbkcFw?Z6@CA;wsH zp`Tj;t6WfX4oKcMhIb7x!}A1t>SbcTsB1!z_n@2i*A<={a@lkFuKB4us}9Ya&+S%$ z&s#+A7@!)9A-b-JJcNJt|KexL1XyPM%guZxVEzJnxiz2)RT+|GriKPylH(ZrdaO)m zenrpNjK47y&*C!#l|?ziB~GpkLg$uj$`u2oxxLqdg$Qn(gn(6{^Bpmtt*>)916AIa zi>oly3bT~Y<#xsDz)F;b($Yt8?6^8`n3YIH^VL#I|)DqS0o@5P2wzPY%%`3?W__P zW9f$B6N&gn;Au{49_tOZLNRI#|VCJ$H5QxwctRP%h`lL>xzu9{{hd9SkKTLRxB zk16I(vB=_*sG4QP)DoZQ=hRm<2gxBl*_TJl1FEvNJlx=`4UP0P%F(3%&K_1b%n=u!6tz0J zFvF1l21ZDi-=JfQN{%L5)krvZ;Q$lUXl&ER*tT6X(Mhrr?_i?;Beq?1jrSVyQjPId zw$)9ta5_1_b&hW3rLlLiv;P&dvv?~jpPK{RJO+Y#U=n=et@C2rT8@d%|F$k3d8Ghp zql&7dwC2Gu4Z=y;ler;wBzpf9^LFM{#N5QGxgJgutOKmAket7l`Tp&~%d6KS zATd~5z+Ot+viGYZ+hgYL_Ydl3g}3wMUJIrb_UWcOB~0fwc^iHmXK_4&U7WFSW$~xs zVQ7UGt|a8@_Y+*D|3xrNFThZ7F$Avp=e8KSFoti|*w>}MFq-p~9CO6R6R6uBU7W5Y z0i@Q6`9#j@{!iITUCF@>$a4%QFzA?+jY6Gq6Z4}$IR6J@e1ec9<%|U`hVm1h|IyY! z8AD#gkiOeymdaN|GdrJssy*ED8y!M=doq~>nC@qE~>LwFHa?@jS9zSLw(+x&VA9Y9K znel&E#Rmd%kh!;y^%w$uTdo8^oWuIuP72PL3-DBo3{5)yRSFxRxzQMnXz;6&+0bFWa0$pXjdFzr`+QB=umI)5yK`C4Man1hIg{GcGrzYMT3fq> zL`^a2P+JF=%QP<-T%O6VYuHF2{|=r76a|Cr-;b)Wa-BMu)0Y%Y%soiTo?sn7RZWQQ(>d6}u{)nZS{u5E8!hZ->8S1Un z@{RmCp1)fRsHJ7?-bjz;8xuau`%xB;U8w1p&~Xc>*Hd?EEe`RIi3;4X;Tdk&mh1$Ukf0w&$mo#kXZp3X9Pw$1-gjyz*V*a|vbH!_ zwM=p!t={Aku&|~V^O`(5-g9%Z*3a6TT)*8|pCiO5C+CKEdd zrGxV{Z;6J;^uyckO*w9{$85*=Db;89Z&ho@0Jc*U4S%!uc&`*er-{Q zC1@@YT*(&azfWWS<5QPiogRmd)t`7e)`BT6P_A=El}?nIfbBkxC~|B(Uc)aPN{8Pl zwEsX?M_cQ_yKp#fIOMnFR_evVaB>k+pg|j-TPMOr_*%E^pRs^Z=xpgVZrB7TGhkA< zr)4FnHBgJy0yuEuH`mku7Dlq1V8m3rS(+j3rUkPrua80MAo?+Mo)+t(FIO1$S6EtU zixH^?Kgl8O0%%0S_@w%=z8oNNHfSHwFv!8G)EJ)@63;HSwuC?i80!=GoWts-r?mFp zc)j+Sn4kMzW&Zv6$FP^Pk5OltWj>_HDX~u9$Xnd*Wz~h z`vANzhaV9n{mwPieEm&~l<>FxQQrTV{`VRFg9<(rTAc@AfQ}A_Nt^!)!@sUv88L!D zh7UP{Ed>Oa+%~1*o@x{Y9sS*O-!V(|^M!9*Fh|4~`qAIJNtGaZ*Xgh>^;%v2y>HbQ z^XYJ}iw$A?waB%XJt!SNN9_Rfvzer4Zq+BICny3Zmp>M(Y3V+t(|wVdv1{b{R@Bax z!W|lf7hvx%(S5-bb6F<7@3VOPYnv>aXCm|%JKC3S`w3g5-{tn;I}OIQt+Wm~sz7iyIlLyiUU;L548Q;wO%9W`@@%);^(Q+i@>0wzkFm4DM7+W z+;7V5?-?uRj(;~MEyCK|Yk|vzQ#>1ijs};D`rreAlsI?9u4=!5N#hW!WFQQzNnQ!G z6{72FJBvfm%$8*1AYou1j&IA_YH}@$G)J89MNO_~FaIahH+Mr$Y>)2Z$4|c1F)}dH zd1B`m2(ULDHgW$i!mvzq$frOI94ZrglP!B^y)fT$ZeHvh6B8p{FYTbh&!aa4a+@{vymHBGH?@}+9W<%0Z=k#W_?8Jv=|~uVL|sd6ZpVuKJgBOZJbtgTHvCv41R|MeSYbGVs{LzSce9s1S^<`w zS$~I0Y}02Gtj>^z*2A0^Undt=p)CI&n-Z<(w3~C^`6A5Z2rw-47BYp=rwW~@^9?f4 zhz@vQ`H?&G>_ZyC+4)+?WP+#=ofqh8L6;Md^iM|gadXnI?aW;L(?6VOZOf7YvxLOD zLq|@|{U!D?rStKfo$$xSomOEX*O~hj6*O(t91iPZCgq+*^w@}DI<0R>M;M;@0!3EM zb35BfZOclTGU~n43r?9dOU3t|iMrZJDZ-e$>1zPG1u4l`S+;Vgh2@97x5*T8C*Rj7 zV;GVHC@%rOnj7*r2dGe|%5R<7vmg2s+Ty34E?O(+rX?h(Llz#}TGD4;Rj$EiUw8Li zHgu7!UVG1`Jl+5x~Zp}Lu!lvQ?3C`i;;|`nRV`g|Lr<%ZGwQ!=s0w=C- zJI=WEuu+mV0f6q{ir=%*pXFlv=yx%3vWkyA%u57UXFfR<8zOu%cC?xuovAIfQI5O{ zFqo=%Gg92svFWQ8I5W8@)wX31m(pmNBN1B-gqzzgE)F+<^oLT^=zI|uTiV#&)UEET zA$ju-I(2UZcf?#f$iGwDa~N!Y2b8%Fh3{Pyx=Spr(s_&&5oR_V+XJBBO4EiG9YuZn z?`+-QSN7NKI~S3&Whb?a?v1uv3q5p^2cPQg24v@_IaMkG)h7WkB6`}Z-}|z~8eLJ` z*DI^CJu;wX!E*3WBS+xW$@#K+lCK)I!lC^1yspW%*`R*IuqRy95}H_=v5z|Ro?icH zp=8qJD5UYF5S^9o%Q(WQstd*)%HQt*A4D0Z5NpA{6TMYHsW_? zWo{mRm%Xz=91UXca2^I%0}=9Jt~|bLa9Z8kEvyfAU&PF5h}uAkw5m=!66T0qMOr=@3Hb z1PJ9nz&ZCm`@hav=d88Qhm#LpmkCKm$#}>6Jnwz~?#)`!pN-4DYv)Dmab$Rh0gISo zaCOf(%~Ol3@yFER55mFsFxDp{cZdT;mfwD(fpoDHc1hsQBFc_DMu#_CR+QYVhDG#7 z)Ra}VYFnXp{fIvDAhcH6=%GvLTdnSl)%WFzYNKO(8mUKB$0LXeW0sO>r8R=;?fGF; zlxBLa36Tr>6`lEQ7t{$KHFB9)PeN$4hF?*TS zSEzFhujsbQSW$7ooD#zkH>?8(Ujtu<$j)is*6z&%HS`P^yn%dI!~O+8o9rI@YE4GI zle0gRyeqT3bC&64MM;^KaHzmEP~(@`)KK%5+LJc8G2>5QdOEyHR5+a&PtE?|LT#R) zAi|jS-B8?n^-j@v_q-NzTPutzge6M)g3*WqlB2Qg?T3o2cC&klS?GYrlwHJB;_=Sc z@^8<)?wIGN;+!0_nSt7*7A(P4Ec*pGC;V1NcDc^82IwkKyyI{!^t8}%U&Xs|7S5dw z*yY--+}7H@`f53fopk$5CtI+S^kaC}lWs(Tw^oez>9N=Ae!`@EyinWj-WL(K21{JvW)lsTZs0ah;wTrR5CUWDDo_@L1JgygxkUCU4b|j}0R}MELFK+fVybhSkI; z8wt}q7S^h2W9l%S2(}30S}kRnu3_3l;Res6sJoaZ+!ZarU{tyU7vY_xysccx#k2;x5mQDR#lc+c1;Fkbk@%a~pFYImSOe1@%-> z}At5)>R@J zdK^wN2)jD>Uucz=tbFdE!Nc{TX2pe*s@GfPMYkeB>=nmEHB~M+;#u!&;nl4AtV+D8 zQ^p2Tsv*m&9nby{2PDM9HBBZ#Cr?bjhUAtP%ki(xPYt0}c*%CE+K#Wu7A|WLzI6K=14@*5e~x?;Iq zy-%BtH9kzTgbUkZLgwB+&q?Zj{_vHRn3C>UPYAK7s&3hDD~AFO^bqxT@qA13W~Vie zV9TP&i?=6~l6{#X3)q%;b^UHcBglJdOJs6d^zI$snNg=sYnC6W8$P`EhbF_BgpJG2)%)eaqkz~#4o z0}H3yRti{Nbrk~4uqC7`VL!R`e$WAS0@KRzroFgR7UEa%g2%2%0{Cs0KdR)-Uh2rl z>%vt71pPG`-c*qaY>kP(UW#I75F)G6ndApQo|gts|NIT?A@!R5;hhEyPlPDhp2wM^ zOF{Q4`gX)B0oJE7Ra&{=(>o0{B{FkCvS{iVIlIm{tf+ZT`1F}Zq+=T%r^M*C8L~--R2$_$?nAD zFucHNp_zD|I8wyCuX-f~2ZqIE5H>4u)-+PjT+KXzUZ7@1>nB;PiG^znTKpGGhE^Kn zW-{6he%odDRLJksW?>)1a*0eQrJHF%Y*