// File: /workspace/github_cpp_makefile_star2_O2/metopa[P]HTTP_Server/src/config/CConfig.cpp
// Function: CConfig::parseLogger(std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>>>>&)
void CConfig::parseLogger( map<string, map<string, vector<string>>>::iterator& data ) {
	try {
		vector<string> flags = data->second.at( "flags" );
		for ( int i = 0; i < E_LOG_FLAGS_MAX; i++ )
			logFlags_m[i] = false;

		for ( auto it = flags.begin(); it != flags.end(); it++ ) {
			ELogFlags eLogFlags = logflagsNS::logFlagsFromString( *it );

			switch ( eLogFlags ) {
				case SILENT:
					for ( int i = 0; i < E_LOG_FLAGS_MAX; i++ )
						logFlags_m[i] = false;
					break;

				case DEBUG_ALL:
					for ( int i = SILENT + 1; i < UNDEFINED; i++ )
						logFlags_m[i] = true;
					break;

				case UNDEFINED:
					break;

				default:
					logFlags_m[eLogFlags] = true;
					break;
			}
		}
	}
	catch ( out_of_range& e ) {
		throw ParamUndefinedException( "flags", "default: \"CRITICAL\"" );
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movq (%rsi), %r14
leaq 0xd734(%rip), %rsi      # 0x140fe
leaq 0x20(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x712a
addq $0x40, %r14
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x7240
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7408
leaq 0x20(%rsp), %rdi
callq 0x5210
xorl %eax, %eax
cmpq $0xc, %rax
je 0x6a12
movb $0x0, (%rbx,%rax)
incq %rax
jmp 0x6a03
movq 0x8(%rsp), %r14
pushq $0x1
popq %r15
cmpq 0x10(%rsp), %r14
je 0x6a67
movq %r14, %rdi
callq 0xdfec
testl %eax, %eax
je 0x6a4a
cmpl $0xb, %eax
je 0x6a61
cmpl $0x3, %eax
jne 0x6a5b
movq %r15, %rax
cmpq $0xb, %rax
je 0x6a61
movb $0x1, (%rbx,%rax)
incq %rax
jmp 0x6a3b
xorl %eax, %eax
cmpq $0xc, %rax
je 0x6a61
movb $0x0, (%rbx,%rax)
incq %rax
jmp 0x6a4c
movl %eax, %eax
movb $0x1, (%rbx,%rax)
addq $0x20, %r14
jmp 0x6a1b
leaq 0x8(%rsp), %rdi
callq 0x745c
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rdx, %r14
movq %rax, %rbx
jmp 0x6aa5
movq %rdx, %r14
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x5210
jmp 0x6aa5
movq %rdx, %r14
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x745c
cmpl $0x1, %r14d
jne 0x6aff
movq %rbx, %rdi
callq 0x51f0
pushq $0x48
popq %rdi
callq 0x5230
movq %rax, %r14
leaq 0xd639(%rip), %rsi      # 0x140fe
leaq 0xd638(%rip), %rdx      # 0x14104
movq %rax, %rdi
callq 0x735a
leaq 0x199cd(%rip), %rsi     # 0x204a8
leaq 0x902(%rip), %rdx       # 0x73e4
movq %r14, %rdi
callq 0x5740
movq %rax, %rbx
jmp 0x6afa
movq %rax, %rbx
movq %r14, %rdi
callq 0x5300
callq 0x5700
movq %rbx, %rdi
callq 0x5770
movq %rax, %rdi
callq 0x7285
nop