// File: /workspace/github_cpp_makefile_star2_O2/Laakeri[P]maxpre/src/main.cpp
// Function: parseProblemType(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
bool parseProblemType(map<string, string>& flags) {
	bool maxSat = true;
	if (flags.count("problemtype")) {
		for (char& c : flags["problemtype"]) {
			c = tolower(c);
		}
		if (flags["problemtype"] == "sat") {
			maxSat = false;
			cout<<"c Problem type is SAT"<<endl;
			cerr<<"Problem type is SAT"<<endl;
		}
		else if (flags["problemtype"] == "maxsat" || flags["problemtype"] == "max-sat") {
			maxSat = true;
			cout<<"c Problem type is Max-SAT"<<endl;
			cerr<<"Problem type is Max-SAT"<<endl;
		}
		else {
			cout<<"Invalid problemtype flag"<<endl;
			cerr<<"Invalid problemtype flag"<<endl;
			exit(0);
		}
	}
	else {
		cout<<"c No -problemtype given, defaulting to Max-SAT"<<endl;
		cerr<<"No -problemtype given, defaulting to Max-SAT"<<endl;
	}
	return maxSat;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %r14
leaq 0x2a187(%rip), %rsi     # 0x2e1c0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6788
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x682a
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x3130
movb $0x1, %bl
testq %r15, %r15
je 0x4117
leaq 0x2a14c(%rip), %rsi     # 0x2e1c0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6788
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x67c4
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x3130
movq (%r15), %r12
movq 0x8(%r15), %r15
xorl %r13d, %r13d
cmpq %r13, %r15
je 0x40bf
movsbl (%r12,%r13), %edi
callq 0x33c0
movb %al, (%r12,%r13)
incq %r13
jmp 0x40a7
leaq 0x2a0fa(%rip), %rsi     # 0x2e1c0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6788
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x67c4
leaq 0x2a104(%rip), %rsi     # 0x2e1ed
movq %rax, %rdi
callq 0x6844
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x3130
testb %bpl, %bpl
je 0x412a
leaq 0x2a0c5(%rip), %r14     # 0x2e1ce
leaq 0x2a0bc(%rip), %rsi     # 0x2e1cc
xorl %ebx, %ebx
jmp 0x41c7
leaq 0x2a108(%rip), %r14     # 0x2e226
leaq 0x2a0ff(%rip), %rsi     # 0x2e224
jmp 0x41c7
leaq 0x2a08f(%rip), %rsi     # 0x2e1c0
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x6788
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x67c4
leaq 0x2a08e(%rip), %rsi     # 0x2e1e2
movq %rax, %rdi
callq 0x6844
testb %al, %al
je 0x416c
leaq 0x8(%rsp), %rdi
callq 0x3130
jmp 0x41b9
leaq 0x2a04d(%rip), %rsi     # 0x2e1c0
leaq 0x28(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x6788
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x67c4
leaq 0x2a053(%rip), %rsi     # 0x2e1e9
movq %rax, %rdi
callq 0x6844
movl %eax, %ebp
leaq 0x28(%rsp), %rdi
callq 0x3130
leaq 0x8(%rsp), %rdi
callq 0x3130
testb %bpl, %bpl
je 0x4203
leaq 0x2a033(%rip), %r14     # 0x2e1f3
leaq 0x2a02a(%rip), %rsi     # 0x2e1f1
movq 0x3fdfa(%rip), %rdi     # 0x43fc8
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq 0x3fe0e(%rip), %rdi     # 0x43ff0
movq %r14, %rsi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x3fdbe(%rip), %rdi     # 0x43fc8
leaq 0x29ffa(%rip), %rbx     # 0x2e20b
movq %rbx, %rsi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq 0x3fdc8(%rip), %rdi     # 0x43ff0
movq %rbx, %rsi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
xorl %edi, %edi
callq 0x3340
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x3130
jmp 0x425f
jmp 0x425c
jmp 0x425c
jmp 0x426b
jmp 0x425c
jmp 0x426b
jmp 0x425c
jmp 0x426b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3130
jmp 0x426e
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3490