// File: /workspace/github_cpp_makefile_star2_O3/SeanChao[P]KV-Store/persistence.cc
// Function: usage(char const*, char const*, char const*)
void usage(const char *prog, const char *verb, const char *mode)
{
	std::cout << "Usage: " << prog  << " [-t] [-v]" << std::endl;
	std::cout << "  -t: test mode for persistence test,"
		" if -t is not given, the program only prepares data for test."
		" [currently " << mode << "]" << std::endl;
	std::cout << "  -v: print extra info for failed tests [currently ";
	std::cout << verb << "]" << std::endl;
	std::cout << std::endl;
	std::cout << " NOTE: A normal usage is as follows:" << std::endl;
	std::cout << "    1. invoke `" << prog << "`;" << std::endl;
	std::cout << "    2. terminate (kill) the program when data is ready;";
	std::cout << std::endl;
	std::cout << "    3. invoke `" << prog << "-t ` to test." << std::endl;
	std::cout << std::endl;
	std::cout.flush();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
movq 0xb94c(%rip), %rbx      # 0xefd0
leaq 0x7999(%rip), %rsi      # 0xb024
movl $0x7, %edx
movq %rbx, %rdi
callq 0x32b0
testq %r14, %r14
je 0x36b9
movq %r14, %rdi
callq 0x3140
movq 0xb924(%rip), %rdi      # 0xefd0
movq %r14, %rsi
movq %rax, %rdx
callq 0x32b0
jmp 0x36d0
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x33c0
leaq 0x7955(%rip), %rsi      # 0xb02c
movl $0xa, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x7925(%rip), %rsi      # 0xb037
movl $0x6e, %edx
movq %rbx, %rdi
callq 0x32b0
testq %r12, %r12
je 0x3740
movq %r12, %rdi
callq 0x3140
movq 0xb89d(%rip), %rdi      # 0xefd0
movq %r12, %rsi
movq %rax, %rdx
callq 0x32b0
jmp 0x3757
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x33c0
leaq 0x7ae7(%rip), %rsi      # 0xb245
movl $0x1, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x790d(%rip), %rsi      # 0xb0a6
movl $0x33, %edx
movq %rbx, %rdi
callq 0x32b0
testq %r15, %r15
je 0x37c7
movq %r15, %rdi
callq 0x3140
movq 0xb816(%rip), %rdi      # 0xefd0
movq %r15, %rsi
movq %rax, %rdx
callq 0x32b0
jmp 0x37de
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x33c0
leaq 0x7a60(%rip), %rsi      # 0xb245
movl $0x1, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x7893(%rip), %rsi      # 0xb0da
movl $0x24, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x787d(%rip), %rsi      # 0xb0ff
movl $0xf, %edx
movq %rbx, %rdi
callq 0x32b0
testq %r14, %r14
je 0x38b0
movq %r14, %rdi
callq 0x3140
movq 0xb72d(%rip), %rdi      # 0xefd0
movq %r14, %rsi
movq %rax, %rdx
callq 0x32b0
jmp 0x38c7
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x33c0
leaq 0x7841(%rip), %rsi      # 0xb10f
movl $0x2, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x7809(%rip), %rsi      # 0xb112
movl $0x37, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
leaq 0x7806(%rip), %rsi      # 0xb14a
movl $0xf, %edx
movq %rbx, %rdi
callq 0x32b0
testq %r14, %r14
je 0x3972
movq %r14, %rdi
callq 0x3140
movq 0xb66b(%rip), %rdi      # 0xefd0
movq %r14, %rsi
movq %rax, %rdx
callq 0x32b0
jmp 0x3989
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x33c0
leaq 0x77ca(%rip), %rsi      # 0xb15a
movl $0xd, %edx
movq %rbx, %rdi
callq 0x32b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31b0
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x31b0