// File: /workspace/github_cpp_makefile_star2_O3/oknenavin[P]cxon/test/../src/cxon/lang/json/tidy.hxx
// Function: bool cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append<cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append(char const*, char const*)::'lambda'(std::ostreambuf_iterator<char, std::char_traits<char>>)>(cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append(char const*, char const*)::'lambda'(std::ostreambuf_iterator<char, std::char_traits<char>>))
bool append(A append) {
                    using cio::poke;
                    switch (cur()) {
                        case stt::lst:
                            return  (mut(stt::scl),     poke(o_, '\n') && poke(o_, lvl_ += tab_, pad_)   && append(o_));
                        case stt::qst: case stt::ast:
                            return  (                                                                       append(o_));
                        case stt::com:
                            return  (mut(stt::grn),     poke(o_, '\n') && poke(o_, lvl_, pad_)           && append(o_));
                        default:
                            return pre() == stt::scl ?
                                    (mut(stt::scl),     poke(o_, '\n') && poke(o_, lvl_, pad_)           && append(o_)) :
                                    (mut(stt::scl),                                                         append(o_))
                            ;
                    }
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movl 0x10(%rdi), %eax
leal -0x2(%rax), %ecx
cmpl $0x2, %ecx
jb 0x1f0aa
cmpl $0x6, %eax
je 0x1f100
cmpl $0x1, %eax
jne 0x1f18d
movabsq $0x100000004, %rax      # imm = 0x100000004
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
movl $0xa, %esi
callq 0x18f00
movl 0x18(%rbx), %r12d
addl 0x1c(%rbx), %r12d
movl %r12d, 0x18(%rbx)
je 0x1f054
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x18f00
decl %r12d
jne 0x1f045
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x1f268
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x1f086
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x1f093
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x1f06e
jmp 0x1f268
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x1f086
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x1f268
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x1f0dc
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x1f0e9
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x1f0c4
jmp 0x1f268
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x1f0dc
movabsq $0x600000000, %rax      # imm = 0x600000000
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
movl $0xa, %esi
callq 0x18f00
movl 0x18(%rbx), %r12d
testl %r12d, %r12d
je 0x1f137
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x18f00
decl %r12d
jne 0x1f128
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x1f268
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x1f169
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x1f176
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x1f151
jmp 0x1f268
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x1f169
cmpl $0x4, 0x14(%rbx)
movl %eax, 0x14(%rbx)
movl $0x4, 0x10(%rbx)
jne 0x1f219
movq %rbx, %rdi
movl $0xa, %esi
callq 0x18f00
movl 0x18(%rbx), %r12d
testl %r12d, %r12d
je 0x1f1c6
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x18f00
decl %r12d
jne 0x1f1b7
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x1f268
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x1f1f8
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x1f202
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x1f1e0
jmp 0x1f268
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x1f1f8
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x1f268
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x1f247
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x1f251
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x1f22f
jmp 0x1f268
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x1f247
movb $0x1, %al
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop