// File: /workspace/github_cpp_makefile_star2_O2/WilstonOreo[P]Log/logtest.cpp
// Function: main
int main(int ac, char* av[])
{
	LOG_MSG << "LogTestApp. -- written by Wilston Oreo.";

#ifdef TEST_THREADS

	srand ( time(NULL) );

	LOG_MSG_(1) << "Startup";  
	boost::thread thread1(threadLog);
	boost::thread thread2(threadLog);
	boost::thread thread3(threadLog);
	boost::thread thread4(threadLog);
	LOG_MSG_(1) << "Waiting for threads...";

	thread1.join();
	thread2.join();
	thread3.join();
	thread4.join();

#endif

	LOG_MSG_(1) << "Done";

	LOG->level(2);

	LOG_MSG_(1) << fmt("Log level: %") % LOG->level();
	LOG_WRN << fmt("Warning %") % 3;
	LOG_MSG_(3);
	LOG_MSG_(4);
	LOG_ERR << "ERROR";

	return 0;
}

// Assembly:
pushq %rbx
subq $0x2f0, %rsp            # imm = 0x2F0
callq 0x2a7e
movq %rax, %rbx
leaq 0x1c51(%rip), %rsi      # 0x4004
leaq 0x2d0(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2b44
leaq 0x1c44(%rip), %rsi      # 0x4010
leaq 0x2b0(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x2b44
leaq 0x1c30(%rip), %rsi      # 0x4015
leaq 0x290(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x2d0(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
pushq $0x3d
popq %rcx
leaq 0x290(%rsp), %r9
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x2aaa
leaq 0x1bf5(%rip), %rsi      # 0x4019
movq %rax, %rdi
callq 0x2b80
leaq 0x290(%rsp), %rdi
callq 0x2090
leaq 0x2b0(%rsp), %rdi
callq 0x2090
leaq 0x2d0(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movq %rax, %rbx
leaq 0x1ba2(%rip), %rsi      # 0x4004
leaq 0x270(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2b44
leaq 0x1b95(%rip), %rsi      # 0x4010
leaq 0x250(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x2b44
leaq 0x1b81(%rip), %rsi      # 0x4015
leaq 0x230(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x270(%rsp), %rsi
leaq 0x250(%rsp), %rdx
pushq $0x51
popq %rcx
pushq $0x1
popq %r8
leaq 0x230(%rsp), %r9
movq %rbx, %rdi
callq 0x2aaa
leaq 0x1b6d(%rip), %rsi      # 0x4041
movq %rax, %rdi
callq 0x2b98
leaq 0x230(%rsp), %rdi
callq 0x2090
leaq 0x250(%rsp), %rdi
callq 0x2090
leaq 0x270(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movl $0x2, (%rax)
callq 0x2a7e
movq %rax, %rbx
leaq 0x1ae7(%rip), %rsi      # 0x4004
leaq 0x210(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x1ada(%rip), %rsi      # 0x4010
leaq 0x1f0(%rsp), %rdi
leaq 0xb(%rsp), %rdx
callq 0x2b44
leaq 0x1ac6(%rip), %rsi      # 0x4015
leaq 0x1d0(%rsp), %rdi
leaq 0xa(%rsp), %rdx
callq 0x2b44
leaq 0x210(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
pushq $0x55
popq %rcx
pushq $0x1
popq %r8
leaq 0x1d0(%rsp), %r9
movq %rbx, %rdi
callq 0x2aaa
movq %rax, %rbx
leaq 0x1ab4(%rip), %rsi      # 0x4046
leaq 0x10(%rsp), %rdi
callq 0x2c04
callq 0x2a7e
movl (%rax), %eax
leaq 0xc(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x2c52
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2bb0
leaq 0x10(%rsp), %rdi
callq 0x2cea
leaq 0x1d0(%rsp), %rdi
callq 0x2090
leaq 0x1f0(%rsp), %rdi
callq 0x2090
leaq 0x210(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movq %rax, %rbx
leaq 0x1a05(%rip), %rsi      # 0x4004
leaq 0x1b0(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x19f8(%rip), %rsi      # 0x4010
leaq 0x190(%rsp), %rdi
leaq 0xb(%rsp), %rdx
callq 0x2b44
leaq 0x1a22(%rip), %rsi      # 0x4053
leaq 0x170(%rsp), %rdi
leaq 0xa(%rsp), %rdx
callq 0x2b44
leaq 0x1b0(%rsp), %rsi
leaq 0x190(%rsp), %rdx
pushq $0x56
popq %rcx
leaq 0x170(%rsp), %r9
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x2aaa
movq %rax, %rbx
leaq 0x19e4(%rip), %rsi      # 0x4057
leaq 0x10(%rsp), %rdi
callq 0x2c04
leaq 0xc(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x2c52
movq %rbx, %rdi
movq %rax, %rsi
callq 0x2bb0
leaq 0x10(%rsp), %rdi
callq 0x2cea
leaq 0x170(%rsp), %rdi
callq 0x2090
leaq 0x190(%rsp), %rdi
callq 0x2090
leaq 0x1b0(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movq %rax, %rbx
leaq 0x1927(%rip), %rsi      # 0x4004
leaq 0x150(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2b44
leaq 0x191a(%rip), %rsi      # 0x4010
leaq 0x130(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x2b44
leaq 0x1906(%rip), %rsi      # 0x4015
leaq 0x110(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x150(%rsp), %rsi
leaq 0x130(%rsp), %rdx
pushq $0x57
popq %rcx
pushq $0x3
popq %r8
leaq 0x110(%rsp), %r9
movq %rbx, %rdi
callq 0x2aaa
leaq 0x110(%rsp), %rdi
callq 0x2090
leaq 0x130(%rsp), %rdi
callq 0x2090
leaq 0x150(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movq %rax, %rbx
leaq 0x1886(%rip), %rsi      # 0x4004
leaq 0xf0(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2b44
leaq 0x1879(%rip), %rsi      # 0x4010
leaq 0xd0(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x2b44
leaq 0x1865(%rip), %rsi      # 0x4015
leaq 0xb0(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0xf0(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
pushq $0x58
popq %rcx
pushq $0x4
popq %r8
leaq 0xb0(%rsp), %r9
movq %rbx, %rdi
callq 0x2aaa
leaq 0xb0(%rsp), %rdi
callq 0x2090
leaq 0xd0(%rsp), %rdi
callq 0x2090
leaq 0xf0(%rsp), %rdi
callq 0x2090
callq 0x2a7e
movq %rax, %rbx
leaq 0x17e5(%rip), %rsi      # 0x4004
leaq 0x90(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2b44
leaq 0x17d8(%rip), %rsi      # 0x4010
leaq 0x70(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x2b44
leaq 0x1813(%rip), %rsi      # 0x4061
leaq 0x50(%rsp), %rdi
leaq 0x9(%rsp), %rdx
callq 0x2b44
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rdx
pushq $0x59
popq %rcx
leaq 0x50(%rsp), %r9
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x2aaa
leaq 0x17e1(%rip), %rsi      # 0x4065
movq %rax, %rdi
callq 0x2d00
leaq 0x50(%rsp), %rdi
callq 0x2090
leaq 0x70(%rsp), %rdi
callq 0x2090
leaq 0x90(%rsp), %rdi
callq 0x2090
xorl %eax, %eax
addq $0x2f0, %rsp            # imm = 0x2F0
popq %rbx
retq
movq %rax, %rbx
jmp 0x29ab
movq %rax, %rbx
jmp 0x29b5
jmp 0x2996
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x2090
jmp 0x28e2
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0x2090
jmp 0x28f4
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
jmp 0x2a70
jmp 0x2996
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x2090
jmp 0x291b
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x2090
jmp 0x292d
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
jmp 0x2a70
jmp 0x2996
jmp 0x293e
movq %rax, %rbx
jmp 0x29cf
movq %rax, %rbx
jmp 0x29dc
movq %rax, %rbx
jmp 0x29e9
jmp 0x2996
jmp 0x295a
movq %rax, %rbx
jmp 0x2a4e
movq %rax, %rbx
jmp 0x2a5b
movq %rax, %rbx
jmp 0x2a68
jmp 0x2996
movq %rax, %rbx
jmp 0x2a03
movq %rax, %rbx
jmp 0x2a10
jmp 0x2996
movq %rax, %rbx
jmp 0x2a2a
movq %rax, %rbx
jmp 0x2a37
movq %rax, %rbx
jmp 0x2a75
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x2090
leaq 0x70(%rsp), %rdi
callq 0x2090
leaq 0x90(%rsp), %rdi
jmp 0x2a70
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x2cea
leaq 0x170(%rsp), %rdi
callq 0x2090
leaq 0x190(%rsp), %rdi
callq 0x2090
leaq 0x1b0(%rsp), %rdi
jmp 0x2a70
movq %rax, %rbx
leaq 0x230(%rsp), %rdi
callq 0x2090
leaq 0x250(%rsp), %rdi
callq 0x2090
leaq 0x270(%rsp), %rdi
jmp 0x2a70
movq %rax, %rbx
leaq 0x290(%rsp), %rdi
callq 0x2090
leaq 0x2b0(%rsp), %rdi
callq 0x2090
leaq 0x2d0(%rsp), %rdi
jmp 0x2a70
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x2cea
leaq 0x1d0(%rsp), %rdi
callq 0x2090
leaq 0x1f0(%rsp), %rdi
callq 0x2090
leaq 0x210(%rsp), %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x2240
nop