From c4cd094c8d323e319b803929b7314c77e0a78622 Mon Sep 17 00:00:00 2001 From: Urhengulas Date: Mon, 25 Jul 2022 14:16:50 +0200 Subject: [PATCH 1/5] Update snapshot test output --- tests/snapshots/test__panic_verbose.snap | 22 +- ...stack_overflow_can_suppress_backtrace.snap | 4324 +---------------- tests/test.rs | 1 + 3 files changed, 20 insertions(+), 4327 deletions(-) diff --git a/tests/snapshots/test__panic_verbose.snap b/tests/snapshots/test__panic_verbose.snap index cbacddef..892f2874 100644 --- a/tests/snapshots/test__panic_verbose.snap +++ b/tests/snapshots/test__panic_verbose.snap @@ -5,27 +5,27 @@ expression: run_result.output --- (HOST) DEBUG vector table: VectorTable { initial_stack_pointer: 2003fbc8, hard_fault: 15b1 } (HOST) DEBUG RAM region: 0x20000000-0x2003FFFF -(HOST) DEBUG section `.data` is in RAM at 0x2003FBC8 ..= 0x2003FBF7 -(HOST) DEBUG section `.bss` is in RAM at 0x2003FBF8 ..= 0x2003FBFF -(HOST) DEBUG section `.uninit` is in RAM at 0x2003FC00 ..= 0x2003FFFF -(HOST) DEBUG valid SP range: 0x20000000 ..= 0x2003FBC7 +(HOST) DEBUG section `.data` is in RAM at 0x2003FBC8..=0x2003FBF7 +(HOST) DEBUG section `.bss` is in RAM at 0x2003FBF8..=0x2003FBFF +(HOST) DEBUG section `.uninit` is in RAM at 0x2003FC00..=0x2003FFFF +(HOST) DEBUG valid SP range: 0x20000000..=0x2003FBC4 (HOST) DEBUG found 1 probes (HOST) DEBUG opened probe (HOST) DEBUG started session (HOST) INFO flashing program (2 pages / 8.00 KiB) -(HOST) DEBUG Erased sector of size 4096 bytes in 149 ms -(HOST) DEBUG Erased sector of size 4096 bytes in 113 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 96 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 80 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 138 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 108 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 82 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 71 ms (HOST) INFO success! -(HOST) DEBUG 261062 bytes of stack available (0x20000000 ..= 0x2003FBC7), using 1024 byte canary -(HOST) TRACE setting up canary took 0.011s (91.54 KiB/s) +(HOST) DEBUG 261060 bytes of stack available (0x20000000 ..= 0x2003FBC4), using 1024 byte canary +(HOST) TRACE setting up canary took 0.019s (53.36 KiB/s) (HOST) DEBUG starting device (HOST) DEBUG Successfully attached RTT ──────────────────────────────────────────────────────────────────────────────── ERROR panicked at 'explicit panic' ──────────────────────────────────────────────────────────────────────────────── -(HOST) TRACE reading canary took 0.010s (95.49 KiB/s) +(HOST) TRACE reading canary took 0.013s (78.04 KiB/s) (HOST) DEBUG stack canary intact (HOST) TRACE 0x000015b0: found FDE for 0x000015b0 .. 0x000015c4 at offset 6432 (HOST) TRACE uwt row for pc 0x000015b0: UnwindTableRow { start_address: 5552, end_address: 5572, saved_args_size: 0, cfa: RegisterAndOffset { register: Register(13), offset: 0 }, registers: RegisterRuleMap { rules: [] } } diff --git a/tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap b/tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap index 4bf56d6c..045621f9 100644 --- a/tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap +++ b/tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap @@ -3,4324 +3,16 @@ source: tests/test.rs expression: run_result.output --- -(HOST) INFO flashing program (6.25 KiB) +(HOST) INFO flashing program (2 pages / 8.00 KiB) (HOST) INFO success! ──────────────────────────────────────────────────────────────────────────────── - INFO ack(m=10, n=10) - INFO ack(m=10, n=9) - INFO ack(m=10, n=8) - INFO ack(m=10, n=7) - INFO ack(m=10, n=6) - INFO ack(m=10, n=5) - INFO ack(m=10, n=4) - INFO ack(m=10, n=3) - INFO ack(m=10, n=2) - INFO ack(m=10, n=1) - INFO ack(m=10, n=0) - INFO ack(m=9, n=1) - INFO ack(m=9, n=0) - INFO ack(m=8, n=1) - INFO ack(m=8, n=0) - INFO ack(m=7, n=1) - INFO ack(m=7, n=0) - INFO ack(m=6, n=1) - INFO ack(m=6, n=0) - INFO ack(m=5, n=1) - INFO ack(m=5, n=0) - INFO ack(m=4, n=1) - INFO ack(m=4, n=0) - INFO ack(m=3, n=1) - INFO ack(m=3, n=0) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=2, n=5) - INFO ack(m=2, n=4) - INFO ack(m=2, n=3) - INFO ack(m=2, n=2) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=3, n=13) - INFO ack(m=3, n=12) - INFO ack(m=3, n=11) - INFO ack(m=3, n=10) - INFO ack(m=3, n=9) - INFO ack(m=3, n=8) - INFO ack(m=3, n=7) - INFO ack(m=3, n=6) - INFO ack(m=3, n=5) - INFO ack(m=3, n=4) - INFO ack(m=3, n=3) - INFO ack(m=3, n=2) - INFO ack(m=3, n=1) - INFO ack(m=3, n=0) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=2, n=5) - INFO ack(m=2, n=4) - INFO ack(m=2, n=3) - INFO ack(m=2, n=2) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=2, n=13) - INFO ack(m=2, n=12) - INFO ack(m=2, n=11) - INFO ack(m=2, n=10) - INFO ack(m=2, n=9) - INFO ack(m=2, n=8) - INFO ack(m=2, n=7) - INFO ack(m=2, n=6) - INFO ack(m=2, n=5) - INFO ack(m=2, n=4) - INFO ack(m=2, n=3) - INFO ack(m=2, n=2) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=2, n=29) - INFO ack(m=2, n=28) - INFO ack(m=2, n=27) - INFO ack(m=2, n=26) - INFO ack(m=2, n=25) - INFO ack(m=2, n=24) - INFO ack(m=2, n=23) - INFO ack(m=2, n=22) - INFO ack(m=2, n=21) - INFO ack(m=2, n=20) - INFO ack(m=2, n=19) - INFO ack(m=2, n=18) - INFO ack(m=2, n=17) - INFO ack(m=2, n=16) - INFO ack(m=2, n=15) - INFO ack(m=2, n=14) - INFO ack(m=2, n=13) - INFO ack(m=2, n=12) - INFO ack(m=2, n=11) - INFO ack(m=2, n=10) - INFO ack(m=2, n=9) - INFO ack(m=2, n=8) - INFO ack(m=2, n=7) - INFO ack(m=2, n=6) - INFO ack(m=2, n=5) - INFO ack(m=2, n=4) - INFO ack(m=2, n=3) - INFO ack(m=2, n=2) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=1, n=55) - INFO ack(m=1, n=54) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=0, n=55) - INFO ack(m=0, n=56) - INFO ack(m=1, n=57) - INFO ack(m=1, n=56) - INFO ack(m=1, n=55) - INFO ack(m=1, n=54) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=0, n=55) - INFO ack(m=0, n=56) - INFO ack(m=0, n=57) - INFO ack(m=0, n=58) - INFO ack(m=1, n=59) - INFO ack(m=1, n=58) - INFO ack(m=1, n=57) - INFO ack(m=1, n=56) - INFO ack(m=1, n=55) - INFO ack(m=1, n=54) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=0, n=55) - INFO ack(m=0, n=56) - INFO ack(m=0, n=57) - INFO ack(m=0, n=58) - INFO ack(m=0, n=59) - INFO ack(m=0, n=60) - INFO ack(m=2, n=61) - INFO ack(m=2, n=60) - INFO ack(m=2, n=59) - INFO ack(m=2, n=58) - INFO ack(m=2, n=57) - INFO ack(m=2, n=56) - INFO ack(m=2, n=55) - INFO ack(m=2, n=54) - INFO ack(m=2, n=53) - INFO ack(m=2, n=52) - INFO ack(m=2, n=51) - INFO ack(m=2, n=50) - INFO ack(m=2, n=49) - INFO ack(m=2, n=48) - INFO ack(m=2, n=47) - INFO ack(m=2, n=46) - INFO ack(m=2, n=45) - INFO ack(m=2, n=44) - INFO ack(m=2, n=43) - INFO ack(m=2, n=42) - INFO ack(m=2, n=41) - INFO ack(m=2, n=40) - INFO ack(m=2, n=39) - INFO ack(m=2, n=38) - INFO ack(m=2, n=37) - INFO ack(m=2, n=36) - INFO ack(m=2, n=35) - INFO ack(m=2, n=34) - INFO ack(m=2, n=33) - INFO ack(m=2, n=32) - INFO ack(m=2, n=31) - INFO ack(m=2, n=30) - INFO ack(m=2, n=29) - INFO ack(m=2, n=28) - INFO ack(m=2, n=27) - INFO ack(m=2, n=26) - INFO ack(m=2, n=25) - INFO ack(m=2, n=24) - INFO ack(m=2, n=23) - INFO ack(m=2, n=22) - INFO ack(m=2, n=21) - INFO ack(m=2, n=20) - INFO ack(m=2, n=19) - INFO ack(m=2, n=18) - INFO ack(m=2, n=17) - INFO ack(m=2, n=16) - INFO ack(m=2, n=15) - INFO ack(m=2, n=14) - INFO ack(m=2, n=13) - INFO ack(m=2, n=12) - INFO ack(m=2, n=11) - INFO ack(m=2, n=10) - INFO ack(m=2, n=9) - INFO ack(m=2, n=8) - INFO ack(m=2, n=7) - INFO ack(m=2, n=6) - INFO ack(m=2, n=5) - INFO ack(m=2, n=4) - INFO ack(m=2, n=3) - INFO ack(m=2, n=2) - INFO ack(m=2, n=1) - INFO ack(m=2, n=0) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=1, n=55) - INFO ack(m=1, n=54) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) - INFO ack(m=0, n=1) - INFO ack(m=0, n=2) - INFO ack(m=0, n=3) - INFO ack(m=0, n=4) - INFO ack(m=0, n=5) - INFO ack(m=0, n=6) - INFO ack(m=0, n=7) - INFO ack(m=0, n=8) - INFO ack(m=0, n=9) - INFO ack(m=0, n=10) - INFO ack(m=0, n=11) - INFO ack(m=0, n=12) - INFO ack(m=0, n=13) - INFO ack(m=0, n=14) - INFO ack(m=0, n=15) - INFO ack(m=0, n=16) - INFO ack(m=0, n=17) - INFO ack(m=0, n=18) - INFO ack(m=0, n=19) - INFO ack(m=0, n=20) - INFO ack(m=0, n=21) - INFO ack(m=0, n=22) - INFO ack(m=0, n=23) - INFO ack(m=0, n=24) - INFO ack(m=0, n=25) - INFO ack(m=0, n=26) - INFO ack(m=0, n=27) - INFO ack(m=0, n=28) - INFO ack(m=0, n=29) - INFO ack(m=0, n=30) - INFO ack(m=0, n=31) - INFO ack(m=0, n=32) - INFO ack(m=0, n=33) - INFO ack(m=0, n=34) - INFO ack(m=0, n=35) - INFO ack(m=0, n=36) - INFO ack(m=0, n=37) - INFO ack(m=0, n=38) - INFO ack(m=0, n=39) - INFO ack(m=0, n=40) - INFO ack(m=0, n=41) - INFO ack(m=0, n=42) - INFO ack(m=0, n=43) - INFO ack(m=0, n=44) - INFO ack(m=0, n=45) - INFO ack(m=0, n=46) - INFO ack(m=0, n=47) - INFO ack(m=0, n=48) - INFO ack(m=0, n=49) - INFO ack(m=0, n=50) - INFO ack(m=0, n=51) - INFO ack(m=0, n=52) - INFO ack(m=0, n=53) - INFO ack(m=0, n=54) - INFO ack(m=0, n=55) - INFO ack(m=0, n=56) - INFO ack(m=1, n=57) - INFO ack(m=1, n=56) - INFO ack(m=1, n=55) - INFO ack(m=1, n=54) - INFO ack(m=1, n=53) - INFO ack(m=1, n=52) - INFO ack(m=1, n=51) - INFO ack(m=1, n=50) - INFO ack(m=1, n=49) - INFO ack(m=1, n=48) - INFO ack(m=1, n=47) - INFO ack(m=1, n=46) - INFO ack(m=1, n=45) - INFO ack(m=1, n=44) - INFO ack(m=1, n=43) - INFO ack(m=1, n=42) - INFO ack(m=1, n=41) - INFO ack(m=1, n=40) - INFO ack(m=1, n=39) - INFO ack(m=1, n=38) - INFO ack(m=1, n=37) - INFO ack(m=1, n=36) - INFO ack(m=1, n=35) - INFO ack(m=1, n=34) - INFO ack(m=1, n=33) - INFO ack(m=1, n=32) - INFO ack(m=1, n=31) - INFO ack(m=1, n=30) - INFO ack(m=1, n=29) - INFO ack(m=1, n=28) - INFO ack(m=1, n=27) - INFO ack(m=1, n=26) - INFO ack(m=1, n=25) - INFO ack(m=1, n=24) - INFO ack(m=1, n=23) - INFO ack(m=1, n=22) - INFO ack(m=1, n=21) - INFO ack(m=1, n=20) - INFO ack(m=1, n=19) - INFO ack(m=1, n=18) - INFO ack(m=1, n=17) - INFO ack(m=1, n=16) - INFO ack(m=1, n=15) - INFO ack(m=1, n=14) - INFO ack(m=1, n=13) - INFO ack(m=1, n=12) - INFO ack(m=1, n=11) - INFO ack(m=1, n=10) - INFO ack(m=1, n=9) - INFO ack(m=1, n=8) - INFO ack(m=1, n=7) - INFO ack(m=1, n=6) - INFO ack(m=1, n=5) - INFO ack(m=1, n=4) - INFO ack(m=1, n=3) - INFO ack(m=1, n=2) - INFO ack(m=1, n=1) - INFO ack(m=1, n=0) +INFO ack(m=10, n=10, SP=20037b88) +INFO ack(m=10, n=9, SP=2002fb60) +INFO ack(m=10, n=8, SP=20027b38) +INFO ack(m=10, n=7, SP=2001fb10) +INFO ack(m=10, n=6, SP=20017ae8) +INFO ack(m=10, n=5, SP=2000fac0) +INFO ack(m=10, n=4, SP=20007a98) ──────────────────────────────────────────────────────────────────────────────── (HOST) ERROR the program has overflowed its stack diff --git a/tests/test.rs b/tests/test.rs index c88f17a4..988e9478 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -179,6 +179,7 @@ fn stack_overflow_can_suppress_backtrace() { let run_result = run("--chip nRF52840_xxAA tests/test_elfs/overflow-rzcobs --backtrace=never"); assert_eq!(false, run_result.exit_status.success()); + insta::assert_snapshot!(run_result.output); } #[test] From f23026a965428603c9e62dafa7c96d26947d7eb5 Mon Sep 17 00:00:00 2001 From: Urhengulas Date: Mon, 25 Jul 2022 15:26:54 +0200 Subject: [PATCH 2/5] Greatly simplify snapshot tests by using `rstest` --- ...se_1_successful_run_has_no_backtrace.snap} | 0 ...ce.snap => test__case_2_raw_encoding.snap} | 0 ...successful_run_can_enforce_backtrace.snap} | 0 ...4_stack_overflow_is_reported_as_such.snap} | 0 ...st__case_5_panic_is_reported_as_such.snap} | 0 ...e.snap => test__case_6_panic_verbose.snap} | 12 +- ...uccessful_run_can_suppress_backtrace.snap} | 0 ...tack_overflow_can_suppress_backtrace.snap} | 0 tests/test.rs | 116 ++++-------------- 9 files changed, 28 insertions(+), 100 deletions(-) rename tests/snapshots/{test__raw_encoding.snap => test__case_1_successful_run_has_no_backtrace.snap} (100%) rename tests/snapshots/{test__successful_run_has_no_backtrace.snap => test__case_2_raw_encoding.snap} (100%) rename tests/snapshots/{test__successful_run_can_enforce_backtrace.snap => test__case_3_successful_run_can_enforce_backtrace.snap} (100%) rename tests/snapshots/{test__stack_overflow_is_reported_as_such.snap => test__case_4_stack_overflow_is_reported_as_such.snap} (100%) rename tests/snapshots/{test__panic_is_reported_as_such.snap => test__case_5_panic_is_reported_as_such.snap} (100%) rename tests/snapshots/{test__panic_verbose.snap => test__case_6_panic_verbose.snap} (95%) rename tests/snapshots/{test__unsuccessful_run_can_suppress_backtrace.snap => test__case_7_unsuccessful_run_can_suppress_backtrace.snap} (100%) rename tests/snapshots/{test__stack_overflow_can_suppress_backtrace.snap => test__case_8_stack_overflow_can_suppress_backtrace.snap} (100%) diff --git a/tests/snapshots/test__raw_encoding.snap b/tests/snapshots/test__case_1_successful_run_has_no_backtrace.snap similarity index 100% rename from tests/snapshots/test__raw_encoding.snap rename to tests/snapshots/test__case_1_successful_run_has_no_backtrace.snap diff --git a/tests/snapshots/test__successful_run_has_no_backtrace.snap b/tests/snapshots/test__case_2_raw_encoding.snap similarity index 100% rename from tests/snapshots/test__successful_run_has_no_backtrace.snap rename to tests/snapshots/test__case_2_raw_encoding.snap diff --git a/tests/snapshots/test__successful_run_can_enforce_backtrace.snap b/tests/snapshots/test__case_3_successful_run_can_enforce_backtrace.snap similarity index 100% rename from tests/snapshots/test__successful_run_can_enforce_backtrace.snap rename to tests/snapshots/test__case_3_successful_run_can_enforce_backtrace.snap diff --git a/tests/snapshots/test__stack_overflow_is_reported_as_such.snap b/tests/snapshots/test__case_4_stack_overflow_is_reported_as_such.snap similarity index 100% rename from tests/snapshots/test__stack_overflow_is_reported_as_such.snap rename to tests/snapshots/test__case_4_stack_overflow_is_reported_as_such.snap diff --git a/tests/snapshots/test__panic_is_reported_as_such.snap b/tests/snapshots/test__case_5_panic_is_reported_as_such.snap similarity index 100% rename from tests/snapshots/test__panic_is_reported_as_such.snap rename to tests/snapshots/test__case_5_panic_is_reported_as_such.snap diff --git a/tests/snapshots/test__panic_verbose.snap b/tests/snapshots/test__case_6_panic_verbose.snap similarity index 95% rename from tests/snapshots/test__panic_verbose.snap rename to tests/snapshots/test__case_6_panic_verbose.snap index 892f2874..4a262e01 100644 --- a/tests/snapshots/test__panic_verbose.snap +++ b/tests/snapshots/test__case_6_panic_verbose.snap @@ -13,19 +13,19 @@ expression: run_result.output (HOST) DEBUG opened probe (HOST) DEBUG started session (HOST) INFO flashing program (2 pages / 8.00 KiB) -(HOST) DEBUG Erased sector of size 4096 bytes in 138 ms -(HOST) DEBUG Erased sector of size 4096 bytes in 108 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 82 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 71 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 139 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 104 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 106 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 72 ms (HOST) INFO success! (HOST) DEBUG 261060 bytes of stack available (0x20000000 ..= 0x2003FBC4), using 1024 byte canary -(HOST) TRACE setting up canary took 0.019s (53.36 KiB/s) +(HOST) TRACE setting up canary took 0.019s (51.62 KiB/s) (HOST) DEBUG starting device (HOST) DEBUG Successfully attached RTT ──────────────────────────────────────────────────────────────────────────────── ERROR panicked at 'explicit panic' ──────────────────────────────────────────────────────────────────────────────── -(HOST) TRACE reading canary took 0.013s (78.04 KiB/s) +(HOST) TRACE reading canary took 0.013s (76.51 KiB/s) (HOST) DEBUG stack canary intact (HOST) TRACE 0x000015b0: found FDE for 0x000015b0 .. 0x000015c4 at offset 6432 (HOST) TRACE uwt row for pc 0x000015b0: UnwindTableRow { start_address: 5552, end_address: 5572, saved_args_size: 0, cfa: RegisterAndOffset { register: Register(13), offset: 0 }, registers: RegisterRuleMap { rules: [] } } diff --git a/tests/snapshots/test__unsuccessful_run_can_suppress_backtrace.snap b/tests/snapshots/test__case_7_unsuccessful_run_can_suppress_backtrace.snap similarity index 100% rename from tests/snapshots/test__unsuccessful_run_can_suppress_backtrace.snap rename to tests/snapshots/test__case_7_unsuccessful_run_can_suppress_backtrace.snap diff --git a/tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap b/tests/snapshots/test__case_8_stack_overflow_can_suppress_backtrace.snap similarity index 100% rename from tests/snapshots/test__stack_overflow_can_suppress_backtrace.snap rename to tests/snapshots/test__case_8_stack_overflow_can_suppress_backtrace.snap diff --git a/tests/test.rs b/tests/test.rs index 988e9478..5b8dff12 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -1,10 +1,12 @@ -use os_pipe::pipe; -use serial_test::serial; use std::{ io::Read, process::{Command, ExitStatus}, }; +use os_pipe::pipe; +use rstest::rstest; +use serial_test::serial; + struct RunResult { exit_status: ExitStatus, output: String, @@ -60,13 +62,13 @@ fn run_and_terminate(args: &str, timeout_s: u64) -> RunResult { fn run_command(args: &str) -> (os_pipe::PipeReader, std::process::Child) { // add prefix to run this repository's version of `probe-run` and // remove user-dependent registry and rustc information from backtrace paths - let complete_command = format!("run -- {} --shorten-paths", args); + let cmd = format!("run -- --chip nRF52840_xxAA tests/test_elfs/{args} --shorten-paths"); let (reader, writer) = pipe().unwrap(); let writer_clone = writer.try_clone().unwrap(); let handle = Command::new("cargo") - .args(complete_command.split(" ")) + .args(cmd.split(" ")) // capture stderr and stdout while preserving line order .stdout(writer) .stderr(writer_clone) @@ -93,104 +95,30 @@ fn truncate_output(probe_run_output: String) -> String { .collect() } -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn successful_run_has_no_backtrace() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/hello-rzcobs"); - - assert_eq!(true, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn raw_encoding() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/hello-raw"); - - assert_eq!(true, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn successful_run_can_enforce_backtrace() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/hello-rzcobs --backtrace=always"); - - assert_eq!(true, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] +#[rstest] +#[case::successful_run_has_no_backtrace("hello-rzcobs", true)] +#[case::raw_encoding("hello-raw", true)] +#[case::successful_run_can_enforce_backtrace("hello-rzcobs --backtrace=always", true)] +#[case::stack_overflow_is_reported_as_such("overflow-rzcobs", false)] +#[case::panic_is_reported_as_such("panic-rzcobs", false)] +// FIXME: Filter out timing related number +#[case::panic_verbose("panic-rzcobs --verbose", false)] +#[case::unsuccessful_run_can_suppress_backtrace("panic-rzcobs --backtrace=never", false)] +#[case::stack_overflow_can_suppress_backtrace("overflow-rzcobs --backtrace=never", false)] #[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn stack_overflow_is_reported_as_such() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/overflow-rzcobs"); - - assert_eq!(false, run_result.exit_status.success()); +#[ignore = "requires the target hardware to be present"] +fn snapshot_test(#[case] args: &str, #[case] success: bool) { + let run_result = run(args); + assert_eq!(success, run_result.exit_status.success()); insta::assert_snapshot!(run_result.output); } #[test] #[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn panic_is_reported_as_such() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/panic-rzcobs"); - - assert_eq!(false, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn panic_verbose() { - // record current verbose backtrace to catch deviations - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/panic-rzcobs --verbose"); - - assert_eq!(false, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn unsuccessful_run_can_suppress_backtrace() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/panic-rzcobs --backtrace=never"); - - assert_eq!(false, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] -fn stack_overflow_can_suppress_backtrace() { - let run_result = run("--chip nRF52840_xxAA tests/test_elfs/overflow-rzcobs --backtrace=never"); - - assert_eq!(false, run_result.exit_status.success()); - insta::assert_snapshot!(run_result.output); -} - -#[test] -#[serial] -// this test should not be run by default, as it requires the target hardware to be present -#[ignore] +#[ignore = "requires the target hardware to be present"] #[cfg(target_family = "unix")] fn ctrl_c_by_user_is_reported_as_such() { - let run_result = - run_and_terminate("--chip nRF52840_xxAA tests/test_elfs/silent-loop-rzcobs", 5); - + let run_result = run_and_terminate("silent-loop-rzcobs", 5); assert_eq!(false, run_result.exit_status.success()); insta::assert_snapshot!(run_result.output); } From 2b902d5906de36d7241124c75bf4e2dbd143c3a9 Mon Sep 17 00:00:00 2001 From: Urhengulas Date: Mon, 25 Jul 2022 15:58:14 +0200 Subject: [PATCH 3/5] Update CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a570fbc..e0802eb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ## [Unreleased] +- [#334] Simplify hardware in the loop tests - [#331] Refactor stack painting - [#330] Fix `fn round_up` - [#329] Update probe-rs to 0.13.0 (does not yet implement 64-bit support) @@ -18,6 +19,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p - [#314] Clarify documentation in README - [#293] Update snapshot tests to new TRACE output +[#334]: https://github.com/knurling-rs/probe-run/pull/334 [#331]: https://github.com/knurling-rs/probe-run/pull/331 [#330]: https://github.com/knurling-rs/probe-run/pull/330 [#329]: https://github.com/knurling-rs/probe-run/pull/329 From 8b1aa3f14d7061453a91c1bb9b5f34f85b644de7 Mon Sep 17 00:00:00 2001 From: Urhengulas Date: Tue, 26 Jul 2022 10:35:18 +0200 Subject: [PATCH 4/5] Rename `tests/test.rs` to `test/snapshot.rs` --- tests/{test.rs => snapshot.rs} | 0 ...t__case_1_successful_run_has_no_backtrace.snap} | 2 +- ...ing.snap => snapshot__case_2_raw_encoding.snap} | 2 +- ...se_3_successful_run_can_enforce_backtrace.snap} | 2 +- ...case_4_stack_overflow_is_reported_as_such.snap} | 2 +- ...napshot__case_5_panic_is_reported_as_such.snap} | 2 +- ...se.snap => snapshot__case_6_panic_verbose.snap} | 14 +++++++------- ...7_unsuccessful_run_can_suppress_backtrace.snap} | 2 +- ...e_8_stack_overflow_can_suppress_backtrace.snap} | 2 +- ...pshot__ctrl_c_by_user_is_reported_as_such.snap} | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) rename tests/{test.rs => snapshot.rs} (100%) rename tests/snapshots/{test__case_1_successful_run_has_no_backtrace.snap => snapshot__case_1_successful_run_has_no_backtrace.snap} (96%) rename tests/snapshots/{test__case_2_raw_encoding.snap => snapshot__case_2_raw_encoding.snap} (96%) rename tests/snapshots/{test__case_3_successful_run_can_enforce_backtrace.snap => snapshot__case_3_successful_run_can_enforce_backtrace.snap} (97%) rename tests/snapshots/{test__case_4_stack_overflow_is_reported_as_such.snap => snapshot__case_4_stack_overflow_is_reported_as_such.snap} (97%) rename tests/snapshots/{test__case_5_panic_is_reported_as_such.snap => snapshot__case_5_panic_is_reported_as_such.snap} (98%) rename tests/snapshots/{test__case_6_panic_verbose.snap => snapshot__case_6_panic_verbose.snap} (95%) rename tests/snapshots/{test__case_7_unsuccessful_run_can_suppress_backtrace.snap => snapshot__case_7_unsuccessful_run_can_suppress_backtrace.snap} (96%) rename tests/snapshots/{test__case_8_stack_overflow_can_suppress_backtrace.snap => snapshot__case_8_stack_overflow_can_suppress_backtrace.snap} (97%) rename tests/snapshots/{test__ctrl_c_by_user_is_reported_as_such.snap => snapshot__ctrl_c_by_user_is_reported_as_such.snap} (96%) diff --git a/tests/test.rs b/tests/snapshot.rs similarity index 100% rename from tests/test.rs rename to tests/snapshot.rs diff --git a/tests/snapshots/test__case_1_successful_run_has_no_backtrace.snap b/tests/snapshots/snapshot__case_1_successful_run_has_no_backtrace.snap similarity index 96% rename from tests/snapshots/test__case_1_successful_run_has_no_backtrace.snap rename to tests/snapshots/snapshot__case_1_successful_run_has_no_backtrace.snap index b274c5dc..811019d2 100644 --- a/tests/snapshots/test__case_1_successful_run_has_no_backtrace.snap +++ b/tests/snapshots/snapshot__case_1_successful_run_has_no_backtrace.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_2_raw_encoding.snap b/tests/snapshots/snapshot__case_2_raw_encoding.snap similarity index 96% rename from tests/snapshots/test__case_2_raw_encoding.snap rename to tests/snapshots/snapshot__case_2_raw_encoding.snap index b274c5dc..811019d2 100644 --- a/tests/snapshots/test__case_2_raw_encoding.snap +++ b/tests/snapshots/snapshot__case_2_raw_encoding.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_3_successful_run_can_enforce_backtrace.snap b/tests/snapshots/snapshot__case_3_successful_run_can_enforce_backtrace.snap similarity index 97% rename from tests/snapshots/test__case_3_successful_run_can_enforce_backtrace.snap rename to tests/snapshots/snapshot__case_3_successful_run_can_enforce_backtrace.snap index c7245984..3a083a33 100644 --- a/tests/snapshots/test__case_3_successful_run_can_enforce_backtrace.snap +++ b/tests/snapshots/snapshot__case_3_successful_run_can_enforce_backtrace.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_4_stack_overflow_is_reported_as_such.snap b/tests/snapshots/snapshot__case_4_stack_overflow_is_reported_as_such.snap similarity index 97% rename from tests/snapshots/test__case_4_stack_overflow_is_reported_as_such.snap rename to tests/snapshots/snapshot__case_4_stack_overflow_is_reported_as_such.snap index 823f4f67..005cb0e9 100644 --- a/tests/snapshots/test__case_4_stack_overflow_is_reported_as_such.snap +++ b/tests/snapshots/snapshot__case_4_stack_overflow_is_reported_as_such.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_5_panic_is_reported_as_such.snap b/tests/snapshots/snapshot__case_5_panic_is_reported_as_such.snap similarity index 98% rename from tests/snapshots/test__case_5_panic_is_reported_as_such.snap rename to tests/snapshots/snapshot__case_5_panic_is_reported_as_such.snap index b43b9663..857eaa20 100644 --- a/tests/snapshots/test__case_5_panic_is_reported_as_such.snap +++ b/tests/snapshots/snapshot__case_5_panic_is_reported_as_such.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_6_panic_verbose.snap b/tests/snapshots/snapshot__case_6_panic_verbose.snap similarity index 95% rename from tests/snapshots/test__case_6_panic_verbose.snap rename to tests/snapshots/snapshot__case_6_panic_verbose.snap index 4a262e01..fb72197d 100644 --- a/tests/snapshots/test__case_6_panic_verbose.snap +++ b/tests/snapshots/snapshot__case_6_panic_verbose.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- @@ -13,19 +13,19 @@ expression: run_result.output (HOST) DEBUG opened probe (HOST) DEBUG started session (HOST) INFO flashing program (2 pages / 8.00 KiB) -(HOST) DEBUG Erased sector of size 4096 bytes in 139 ms -(HOST) DEBUG Erased sector of size 4096 bytes in 104 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 106 ms -(HOST) DEBUG Programmed page of size 4096 bytes in 72 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 144 ms +(HOST) DEBUG Erased sector of size 4096 bytes in 109 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 79 ms +(HOST) DEBUG Programmed page of size 4096 bytes in 71 ms (HOST) INFO success! (HOST) DEBUG 261060 bytes of stack available (0x20000000 ..= 0x2003FBC4), using 1024 byte canary -(HOST) TRACE setting up canary took 0.019s (51.62 KiB/s) +(HOST) TRACE setting up canary took 0.020s (49.74 KiB/s) (HOST) DEBUG starting device (HOST) DEBUG Successfully attached RTT ──────────────────────────────────────────────────────────────────────────────── ERROR panicked at 'explicit panic' ──────────────────────────────────────────────────────────────────────────────── -(HOST) TRACE reading canary took 0.013s (76.51 KiB/s) +(HOST) TRACE reading canary took 0.010s (104.18 KiB/s) (HOST) DEBUG stack canary intact (HOST) TRACE 0x000015b0: found FDE for 0x000015b0 .. 0x000015c4 at offset 6432 (HOST) TRACE uwt row for pc 0x000015b0: UnwindTableRow { start_address: 5552, end_address: 5572, saved_args_size: 0, cfa: RegisterAndOffset { register: Register(13), offset: 0 }, registers: RegisterRuleMap { rules: [] } } diff --git a/tests/snapshots/test__case_7_unsuccessful_run_can_suppress_backtrace.snap b/tests/snapshots/snapshot__case_7_unsuccessful_run_can_suppress_backtrace.snap similarity index 96% rename from tests/snapshots/test__case_7_unsuccessful_run_can_suppress_backtrace.snap rename to tests/snapshots/snapshot__case_7_unsuccessful_run_can_suppress_backtrace.snap index a3426e00..d0dcc24f 100644 --- a/tests/snapshots/test__case_7_unsuccessful_run_can_suppress_backtrace.snap +++ b/tests/snapshots/snapshot__case_7_unsuccessful_run_can_suppress_backtrace.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__case_8_stack_overflow_can_suppress_backtrace.snap b/tests/snapshots/snapshot__case_8_stack_overflow_can_suppress_backtrace.snap similarity index 97% rename from tests/snapshots/test__case_8_stack_overflow_can_suppress_backtrace.snap rename to tests/snapshots/snapshot__case_8_stack_overflow_can_suppress_backtrace.snap index 045621f9..c1fb5401 100644 --- a/tests/snapshots/test__case_8_stack_overflow_can_suppress_backtrace.snap +++ b/tests/snapshots/snapshot__case_8_stack_overflow_can_suppress_backtrace.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- diff --git a/tests/snapshots/test__ctrl_c_by_user_is_reported_as_such.snap b/tests/snapshots/snapshot__ctrl_c_by_user_is_reported_as_such.snap similarity index 96% rename from tests/snapshots/test__ctrl_c_by_user_is_reported_as_such.snap rename to tests/snapshots/snapshot__ctrl_c_by_user_is_reported_as_such.snap index 412b00f4..99d567c3 100644 --- a/tests/snapshots/test__ctrl_c_by_user_is_reported_as_such.snap +++ b/tests/snapshots/snapshot__ctrl_c_by_user_is_reported_as_such.snap @@ -1,5 +1,5 @@ --- -source: tests/test.rs +source: tests/snapshot.rs expression: run_result.output --- From bdf9ef96eae0bea75801a409535cc07bbbe74981 Mon Sep 17 00:00:00 2001 From: Johann Hemmann Date: Tue, 26 Jul 2022 10:37:20 +0200 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0802eb3..b7ac15c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ## [Unreleased] -- [#334] Simplify hardware in the loop tests +- [#334] Simplify snapshot tests - [#331] Refactor stack painting - [#330] Fix `fn round_up` - [#329] Update probe-rs to 0.13.0 (does not yet implement 64-bit support)