// File: auton1[P]viterbi/vcf_entry_setters.cpp
// Function: vcf_entry::set_FORMAT(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void vcf_entry::set_FORMAT(const string &in)
{
	FORMAT.resize(0);
	FORMAT_to_idx.clear();

	if (in.size() > 0)
	{
		istringstream ss(in);
		string tmpstr;

		unsigned int pos=0;
		while(!ss.eof())
		{
			getline(ss, tmpstr, ':');
			add_FORMAT_entry(tmpstr, pos);
			pos++;
		}
	}

	GT_idx = -1;
	GQ_idx = -1;
	DP_idx = -1;
	FT_idx = -1;

	if (FORMAT_to_idx.find("GT") != FORMAT_to_idx.end())
		GT_idx = FORMAT_to_idx["GT"];
	if (FORMAT_to_idx.find("GQ") != FORMAT_to_idx.end())
		GQ_idx = FORMAT_to_idx["GQ"];
	if (FORMAT_to_idx.find("DP") != FORMAT_to_idx.end())
		DP_idx = FORMAT_to_idx["DP"];
	if (FORMAT_to_idx.find("FT") != FORMAT_to_idx.end())
		FT_idx = FORMAT_to_idx["FT"];

	parsed_FORMAT = true;
}

// Assembly:
subq $0x438, %rsp            # imm = 0x438
movq %rdi, 0x430(%rsp)
movq %rsi, 0x428(%rsp)
movq 0x430(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
addq $0x498, %rdi            # imm = 0x498
xorl %eax, %eax
movl %eax, %esi
callq 0x2a0f0
movq 0xe8(%rsp), %rdi
addq $0x600, %rdi            # imm = 0x600
callq 0x51bc0
movq 0x428(%rsp), %rdi
callq 0x6350
cmpq $0x0, %rax
jbe 0x500b5
movq 0x428(%rsp), %rsi
leaq 0x2a8(%rsp), %rdi
movl $0x8, %edx
callq 0x6930
leaq 0x288(%rsp), %rdi
callq 0x67e0
movl $0x0, 0x284(%rsp)
movq 0x2a8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x2a8(%rsp,%rax), %rdi
callq 0x6a70
movb %al, 0xe7(%rsp)
jmp 0x50006
movb 0xe7(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x50018
jmp 0x5009b
leaq 0x2a8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
movl $0x3a, %edx
callq 0x6a80
jmp 0x50034
movq 0xe8(%rsp), %rdi
movl 0x284(%rsp), %edx
leaq 0x288(%rsp), %rsi
callq 0x508d0
jmp 0x50052
movl 0x284(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x284(%rsp)
jmp 0x4ffe4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x288(%rsp), %rdi
callq 0x6b50
leaq 0x2a8(%rsp), %rdi
callq 0x6b48
jmp 0x508b8
leaq 0x288(%rsp), %rdi
callq 0x6b50
leaq 0x2a8(%rsp), %rdi
callq 0x6b48
movq 0xe8(%rsp), %rax
movl $0xffffffff, 0x630(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x634(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x638(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x63c(%rax) # imm = 0xFFFFFFFF
addq $0x600, %rax            # imm = 0x600
movq %rax, 0xd0(%rsp)
leaq 0x247(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x69f0
movq 0xd8(%rsp), %rdx
leaq 0x259a1(%rip), %rsi     # 0x75ab8
leaq 0x248(%rsp), %rdi
callq 0x67c0
jmp 0x50126
movq 0xd0(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x43430
movq %rax, 0xc8(%rsp)
jmp 0x50145
movq 0xe8(%rsp), %rdi
movq 0xc8(%rsp), %rax
movq %rax, 0x268(%rsp)
addq $0x600, %rdi            # imm = 0x600
callq 0x3b7e0
movq %rax, 0x238(%rsp)
leaq 0x268(%rsp), %rdi
leaq 0x238(%rsp), %rsi
callq 0x43410
movb %al, 0xc7(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x6b50
leaq 0x247(%rsp), %rdi
callq 0x65f0
movb 0xc7(%rsp), %al
testb $0x1, %al
jne 0x501b7
jmp 0x502e8
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0xb0(%rsp)
leaq 0x217(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x69f0
movq 0xb8(%rsp), %rdx
leaq 0x258c7(%rip), %rsi     # 0x75ab8
leaq 0x218(%rsp), %rdi
callq 0x67c0
jmp 0x50200
movq 0xb0(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x51bd0
movq %rax, 0xa8(%rsp)
jmp 0x5021f
movq 0xe8(%rsp), %rax
movq 0xa8(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x630(%rax)
leaq 0x218(%rsp), %rdi
callq 0x6b50
leaq 0x217(%rsp), %rdi
callq 0x65f0
jmp 0x502e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x5028d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x6b50
leaq 0x247(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x502d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x218(%rsp), %rdi
callq 0x6b50
leaq 0x217(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x98(%rsp)
leaq 0x1e7(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x69f0
movq 0xa0(%rsp), %rdx
leaq 0x25e34(%rip), %rsi     # 0x76156
leaq 0x1e8(%rsp), %rdi
callq 0x67c0
jmp 0x50331
movq 0x98(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x43430
movq %rax, 0x90(%rsp)
jmp 0x50350
movq 0xe8(%rsp), %rdi
movq 0x90(%rsp), %rax
movq %rax, 0x208(%rsp)
addq $0x600, %rdi            # imm = 0x600
callq 0x3b7e0
movq %rax, 0x1d8(%rsp)
leaq 0x208(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
callq 0x43410
movb %al, 0x8f(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x6b50
leaq 0x1e7(%rsp), %rdi
callq 0x65f0
movb 0x8f(%rsp), %al
testb $0x1, %al
jne 0x503c2
jmp 0x504e7
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x78(%rsp)
leaq 0x1b7(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x69f0
movq 0x80(%rsp), %rdx
leaq 0x25d5d(%rip), %rsi     # 0x76156
leaq 0x1b8(%rsp), %rdi
callq 0x67c0
jmp 0x50408
movq 0x78(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x51bd0
movq %rax, 0x70(%rsp)
jmp 0x50421
movq 0xe8(%rsp), %rax
movq 0x70(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x634(%rax)
leaq 0x1b8(%rsp), %rdi
callq 0x6b50
leaq 0x1b7(%rsp), %rdi
callq 0x65f0
jmp 0x504e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x5048c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x6b50
leaq 0x1e7(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x504d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x1b8(%rsp), %rdi
callq 0x6b50
leaq 0x1b7(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x60(%rsp)
leaq 0x187(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x69f0
movq 0x68(%rsp), %rdx
leaq 0x25c25(%rip), %rsi     # 0x7613d
leaq 0x188(%rsp), %rdi
callq 0x67c0
jmp 0x50527
movq 0x60(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x43430
movq %rax, 0x58(%rsp)
jmp 0x50540
movq 0xe8(%rsp), %rdi
movq 0x58(%rsp), %rax
movq %rax, 0x1a8(%rsp)
addq $0x600, %rdi            # imm = 0x600
callq 0x3b7e0
movq %rax, 0x178(%rsp)
leaq 0x1a8(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x43410
movb %al, 0x57(%rsp)
leaq 0x188(%rsp), %rdi
callq 0x6b50
leaq 0x187(%rsp), %rdi
callq 0x65f0
movb 0x57(%rsp), %al
testb $0x1, %al
jne 0x505a9
jmp 0x506c8
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x40(%rsp)
leaq 0x157(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x69f0
movq 0x48(%rsp), %rdx
leaq 0x25b63(%rip), %rsi     # 0x7613d
leaq 0x158(%rsp), %rdi
callq 0x67c0
jmp 0x505e9
movq 0x40(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x51bd0
movq %rax, 0x38(%rsp)
jmp 0x50602
movq 0xe8(%rsp), %rax
movq 0x38(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x638(%rax)
leaq 0x158(%rsp), %rdi
callq 0x6b50
leaq 0x157(%rsp), %rdi
callq 0x65f0
jmp 0x506c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x5066d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x188(%rsp), %rdi
callq 0x6b50
leaq 0x187(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x506b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x6b50
leaq 0x157(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x28(%rsp)
leaq 0x127(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x69f0
movq 0x30(%rsp), %rdx
leaq 0x253c2(%rip), %rsi     # 0x75abb
leaq 0x128(%rsp), %rdi
callq 0x67c0
jmp 0x50708
movq 0x28(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x43430
movq %rax, 0x20(%rsp)
jmp 0x50721
movq 0xe8(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x148(%rsp)
addq $0x600, %rdi            # imm = 0x600
callq 0x3b7e0
movq %rax, 0x118(%rsp)
leaq 0x148(%rsp), %rdi
leaq 0x118(%rsp), %rsi
callq 0x43410
movb %al, 0x1f(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x6b50
leaq 0x127(%rsp), %rdi
callq 0x65f0
movb 0x1f(%rsp), %al
testb $0x1, %al
jne 0x5078a
jmp 0x508a1
movq 0xe8(%rsp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, 0x8(%rsp)
leaq 0xf7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x69f0
movq 0x10(%rsp), %rdx
leaq 0x25300(%rip), %rsi     # 0x75abb
leaq 0xf8(%rsp), %rdi
callq 0x67c0
jmp 0x507ca
movq 0x8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x51bd0
movq %rax, (%rsp)
jmp 0x507e2
movq 0xe8(%rsp), %rax
movq (%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x63c(%rax)
leaq 0xf8(%rsp), %rdi
callq 0x6b50
leaq 0xf7(%rsp), %rdi
callq 0x65f0
jmp 0x508a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x5084c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x6b50
leaq 0x127(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
jmp 0x50892
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x278(%rsp)
movl %eax, 0x274(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x6b50
leaq 0xf7(%rsp), %rdi
callq 0x65f0
jmp 0x508b8
movq 0xe8(%rsp), %rax
movb $0x1, 0x3dd(%rax)
addq $0x438, %rsp            # imm = 0x438
retq
movq 0x278(%rsp), %rdi
callq 0x69e0
nopw %cs:(%rax,%rax)