// File: /workspace/github_cpp_makefile_star2_O1/hirakuni45[P]input_class/./input.hpp
// Function: utils::basic_input<utils::def_chainp>::next_()
void next_() noexcept
		{
			enum class fmm : uint8_t {
				none,
				type,
			};
			fmm cm = fmm::none;

			char ch;
			bool esc = false;
			while((ch = *form_++) != 0) {
				switch(cm) {
				case fmm::none:
					if(esc) {
						esc = false;
						if(ch != inp_()) {
							error_ = error::partition;
							return;
						}
						break;
					}
					if(ch == '\\') {
						esc = true;
					} else if(ch == '[') {
						auto a = inp_();
						const char* p = form_;
						bool ok = false;
						while((ch = *p++) != 0 && ch != ']') {
							if(ch == a) ok = true;
						}
						if(ch == 0) --p;
						form_ = p;
						if(!ok) {
							error_ = error::cha_sets;
							return;
						}
					} else if(ch == '%' && *form_ != '%') {
						cm = fmm::type;
						nbc_ = 0;
					} else if(ch != inp_()) {
						error_ = error::partition;
						return;
					}
					break;

				case fmm::type:
					if(ch >= 'a') ch -= 0x20;
					if(ch >= '0' && ch <= '9') {
						nbc_ *= 10;
						nbc_ += ch - '0';
					} else if(ch == 'B') {
						mode_ = mode::BIN;
						return;
					} else if(ch == 'O') {
						mode_ = mode::OCT;
						return;
					} else if(ch == 'D') {
						mode_ = mode::DEC;
						return;
					} else if(ch == 'X') {
						mode_ = mode::HEX;
						return;
					} else if(ch == 'F') {
						mode_ = mode::REAL;
						return;
					} else if(ch == 'C') {
						mode_ = mode::CHA;
						return;
					} else if(ch == 'A') {
						mode_ = mode::AUTO;
						return;
					} else {
						error_ = error::input_type;
						return;
					}
				}
			}
			if(ch == 0 && inp_() == 0) {

			} else {
				error_ = error::terminate;
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rax
leaq 0x1(%rax), %rcx
movq %rcx, (%rdi)
movb (%rax), %r12b
testb %r12b, %r12b
je 0xde9c
leaq 0x8(%rbx), %r14
xorl %eax, %eax
movl $0x1, %ebp
xorl %r15d, %r15d
testb %al, %al
je 0xddfd
leal -0x20(%r12), %eax
cmpb $0x61, %r12b
movzbl %r12b, %edx
movzbl %al, %ecx
cmovll %edx, %ecx
leal -0x30(%rcx), %eax
cmpb $0x9, %al
ja 0xdeb6
movzbl 0x1a(%rbx), %ecx
addl %ecx, %ecx
leal (%rcx,%rcx,4), %ecx
addb %al, %cl
movb %cl, 0x1a(%rbx)
movb $0x1, %al
jmp 0xde7b
testb $0x1, %r15b
je 0xde19
movq %r14, %rdi
callq 0xdf1c
cmpb %al, %r12b
jne 0xded7
xorl %r15d, %r15d
jmp 0xde79
cmpb $0x25, %r12b
je 0xde59
movzbl %r12b, %eax
cmpl $0x5c, %eax
je 0xde54
cmpl $0x5b, %eax
jne 0xde5e
movq %r14, %rdi
callq 0xdf1c
movq (%rbx), %rcx
xorl %edx, %edx
movzbl (%rcx), %esi
testl %esi, %esi
je 0xde6d
incq %rcx
cmpl $0x5d, %esi
je 0xde6d
cmpb %al, %sil
movzbl %dl, %edx
cmovel %ebp, %edx
jmp 0xde3a
movb $0x1, %r15b
jmp 0xde79
cmpb $0x25, (%rcx)
jne 0xde93
movq %r14, %rdi
callq 0xdf1c
cmpb %al, %r12b
je 0xde79
jmp 0xded7
movq %rcx, (%rbx)
testb $0x1, %dl
je 0xdf0c
xorl %eax, %eax
movq (%rbx), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, (%rbx)
movb (%rdx), %r12b
testb %r12b, %r12b
jne 0xddc9
jmp 0xde9c
movb $0x0, 0x1a(%rbx)
jmp 0xddf9
leaq 0x8(%rbx), %rdi
callq 0xdf1c
testb %al, %al
je 0xdead
movb $0x7, 0x19(%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movzbl %cl, %ecx
leal -0x41(%rcx), %eax
cmpl $0xe, %eax
ja 0xdedd
leaq 0x22d4(%rip), %rcx      # 0x1019c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x7, 0x18(%rbx)
jmp 0xdead
movb $0x2, 0x19(%rbx)
jmp 0xdead
cmpl $0x58, %ecx
jne 0xdee8
movb $0x5, 0x18(%rbx)
jmp 0xdead
movb $0x3, 0x19(%rbx)
jmp 0xdead
movb $0x1, 0x18(%rbx)
jmp 0xdead
movb $0x3, 0x18(%rbx)
jmp 0xdead
movb $0x4, 0x18(%rbx)
jmp 0xdead
movb $0x2, 0x18(%rbx)
jmp 0xdead
movb $0x6, 0x18(%rbx)
jmp 0xdead
movb $0x1, 0x19(%rbx)
jmp 0xdead
jmp 0xdf14
movq %rax, %rdi
callq 0x9b1f