// File: /workspace/github_cpp_makefile_star2_O2/statgen[P]statgen/lib/tclap-1.2.0/examples/../include/tclap/Arg.h
// Function: TCLAP::Arg::Arg(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>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool, TCLAP::Visitor*)
inline Arg::Arg(const std::string& flag,
         const std::string& name,
         const std::string& desc,
         bool req,
         bool valreq,
         Visitor* v) :
  _flag(flag),
  _name(name),
  _description(desc),
  _required(req),
  _requireLabel("required"),
  _valueRequired(valreq),
  _alreadySet(false),
  _visitor( v ),
  _ignoreable(true),
  _xorSet(false),
  _acceptsMultipleValues(false)
{
	if ( _flag.length() > 1 )
		throw(SpecificationException(
				"Argument flag can only be one character long", toString() ) );

	if ( _name != ignoreNameString() &&
		 ( _flag == Arg::flagStartString() ||
		   _flag == Arg::nameStartString() ||
		   _flag == " " ) )
		throw(SpecificationException("Argument flag cannot be either '" +
							Arg::flagStartString() + "' or '" +
							Arg::nameStartString() + "' or a space.",
							toString() ) );

	if ( ( _name.substr( 0, Arg::flagStartString().length() ) == Arg::flagStartString() ) ||
		 ( _name.substr( 0, Arg::nameStartString().length() ) == Arg::nameStartString() ) ||
		 ( _name.find( " ", 0 ) != std::string::npos ) )
		throw(SpecificationException("Argument name begin with either '" +
							Arg::flagStartString() + "' or '" +
							Arg::nameStartString() + "' or space.",
							toString() ) );

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movl %r9d, %ebp
movl %r8d, %r12d
movq %rcx, %r15
movq %rdx, %rbx
movq %rdi, %r13
leaq 0x758d(%rip), %rax      # 0xd8f8
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, 0x68(%rsp)
callq 0x3220
leaq 0x28(%r13), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3220
leaq 0x48(%r13), %rdi
movq %rdi, 0xd0(%rsp)
movq %r15, %rsi
callq 0x3220
movb %r12b, 0x68(%r13)
leaq 0x70(%r13), %r12
leaq 0x30e0(%rip), %rsi      # 0x948e
leaq 0x8(%rsp), %rdx
movq %r12, %rdi
callq 0x39b2
movq 0x130(%rsp), %rax
movb %bpl, 0x90(%r13)
xorl %ecx, %ecx
movb %cl, 0x91(%r13)
movq %rax, 0x98(%r13)
movw $0x1, 0xa0(%r13)
movb %cl, 0xa2(%r13)
cmpq $0x2, 0x10(%r13)
jae 0x6592
leaq 0x8(%rsp), %rdi
movq 0x68(%rsp), %rbx
callq 0x62ec
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6a56
testb %al, %al
je 0x648c
leaq 0x28(%rsp), %rdi
callq 0x54b6
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d8
testb %al, %al
jne 0x66e2
leaq 0x48(%rsp), %rdi
callq 0x5502
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d8
testb %al, %al
jne 0x66d8
leaq 0x2fbd(%rip), %rsi      # 0x9418
movq %rbx, %rdi
callq 0x6a60
movl %eax, %ebx
leaq 0x48(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x3348
leaq 0x8(%rsp), %rdi
callq 0x3348
testb %bl, %bl
je 0x6496
jmp 0x66f6
leaq 0x8(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x54b6
movq 0x30(%rsp), %rcx
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x31c0
leaq 0x48(%rsp), %rdi
callq 0x54b6
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x54d8
testb %al, %al
jne 0x65f3
leaq 0x70(%rsp), %rdi
callq 0x5502
movq 0x78(%rsp), %rcx
leaq 0x90(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x31c0
leaq 0xb0(%rsp), %rdi
callq 0x5502
leaq 0x90(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x54d8
movb $0x1, %bl
testb %al, %al
jne 0x6536
leaq 0x2ef3(%rip), %rsi      # 0x9418
movq %r14, %rdi
xorl %edx, %edx
callq 0x3330
cmpq $-0x1, %rax
setne %bl
leaq 0xb0(%rsp), %rdi
callq 0x3348
leaq 0x90(%rsp), %rdi
callq 0x3348
leaq 0x70(%rsp), %rdi
callq 0x3348
leaq 0x48(%rsp), %rdi
callq 0x3348
leaq 0x8(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x3348
testb %bl, %bl
jne 0x6611
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x68
popq %rdi
callq 0x30e0
movq %rax, %rbp
leaq 0x2bf8(%rip), %rsi      # 0x919c
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x39b2
movq (%r13), %rax
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq *0x38(%rax)
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %rbp, %rdi
callq 0x691e
xorl %ebx, %ebx
leaq 0x7631(%rip), %rsi      # 0xdc10
leaq 0x139c(%rip), %rdx      # 0x7982
movq %rbp, %rdi
callq 0x32b0
jmp 0x67b8
leaq 0x48(%rsp), %rdi
callq 0x3348
leaq 0x8(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x3348
pushq $0x68
popq %rdi
callq 0x30e0
movq %rax, %rbp
leaq 0x70(%rsp), %rdi
callq 0x54b6
leaq 0x2bd2(%rip), %rsi      # 0x91ff
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x5efc
leaq 0x2ba4(%rip), %rdx      # 0x91ea
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5886
leaq 0xb0(%rsp), %rdi
callq 0x5502
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x579b
leaq 0x2b9e(%rip), %rdx      # 0x9221
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5886
movq (%r13), %rax
leaq 0xd8(%rsp), %rdi
movq %r13, %rsi
callq *0x38(%rax)
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
movq %rbp, %rdi
callq 0x691e
xorl %ebx, %ebx
leaq 0x754c(%rip), %rsi      # 0xdc10
leaq 0x12b7(%rip), %rdx      # 0x7982
movq %rbp, %rdi
callq 0x32b0
jmp 0x67b8
leaq 0x48(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x3348
leaq 0x8(%rsp), %rdi
callq 0x3348
pushq $0x68
popq %rdi
callq 0x30e0
movq %rax, %rbp
leaq 0x70(%rsp), %rdi
callq 0x54b6
leaq 0x2ab7(%rip), %rsi      # 0x91c9
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x5efc
leaq 0x2abf(%rip), %rdx      # 0x91ea
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5886
leaq 0xb0(%rsp), %rdi
callq 0x5502
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x579b
leaq 0x2a89(%rip), %rdx      # 0x91f1
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5886
movq (%r13), %rax
leaq 0xd8(%rsp), %rdi
movq %r13, %rsi
callq *0x38(%rax)
movb $0x1, %bl
leaq 0x8(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
movq %rbp, %rdi
callq 0x691e
xorl %ebx, %ebx
leaq 0x7467(%rip), %rsi      # 0xdc10
leaq 0x11d2(%rip), %rdx      # 0x7982
movq %rbp, %rdi
callq 0x32b0
jmp 0x67bc
jmp 0x67ce
movq %rax, %r13
leaq 0xd8(%rsp), %rdi
callq 0x3348
jmp 0x67d3
movq %rax, %r13
movb $0x1, %bl
leaq 0x8(%rsp), %rdi
callq 0x3348
jmp 0x67e6
jmp 0x67e1
movq %rax, %r13
movb $0x1, %bl
leaq 0x28(%rsp), %rdi
callq 0x3348
jmp 0x67f9
jmp 0x67f4
movq %rax, %r13
movb $0x1, %bl
leaq 0xb0(%rsp), %rdi
callq 0x3348
jmp 0x680f
jmp 0x680a
movq %rax, %r13
movb $0x1, %bl
leaq 0x48(%rsp), %rdi
callq 0x3348
jmp 0x6822
jmp 0x681d
movq %rax, %r13
movb $0x1, %bl
leaq 0x90(%rsp), %rdi
callq 0x3348
jmp 0x6853
movq %rax, %r13
leaq 0x28(%rsp), %rdi
callq 0x3348
jmp 0x6845
movq %rax, %r13
movb $0x1, %bl
leaq 0x8(%rsp), %rdi
jmp 0x6858
jmp 0x684e
movq %rax, %r13
movb $0x1, %bl
leaq 0x70(%rsp), %rdi
callq 0x3348
testb %bl, %bl
jne 0x6895
jmp 0x68e0
movq %rax, %r13
leaq 0x28(%rsp), %rdi
callq 0x3348
jmp 0x6875
movq %rax, %r13
leaq 0x8(%rsp), %rdi
jmp 0x68d4
jmp 0x6892
jmp 0x6892
movq %rax, %r13
leaq 0x90(%rsp), %rdi
callq 0x3348
jmp 0x68a2
movq %rax, %r13
movq %rbp, %rdi
callq 0x3140
jmp 0x68e0
movq %rax, %r13
leaq 0x70(%rsp), %rdi
callq 0x3348
jmp 0x68b1
movq %rax, %r13
leaq 0x48(%rsp), %rdi
callq 0x3348
jmp 0x68c0
movq %rax, %r13
leaq 0x8(%rsp), %rdi
callq 0x3348
jmp 0x68cf
movq %rax, %r13
leaq 0x28(%rsp), %rdi
callq 0x3348
jmp 0x68e0
jmp 0x68dd
movq %rax, %r13
movq %r12, %rdi
callq 0x3348
movq 0xd0(%rsp), %rdi
callq 0x3348
movq %r14, %rdi
callq 0x3348
movq 0x68(%rsp), %rdi
callq 0x3348
movq %r13, %rdi
callq 0x32c0
movq %rax, %r13
jmp 0x68e8
movq %rax, %r13
jmp 0x68f5
movq %rax, %r13
jmp 0x68fd