// File: oknenavin[P]cxon/test/src/json/json.node-time.node.cxx
// Function: test::kind::time_cxon_node(test::test&)
void time_cxon_node(test& t) {
        std::ifstream is(t.source, std::ifstream::binary);
            if (!is) return t.error = "cannot be opened", void();
        std::string const json = std::string(std::istreambuf_iterator<char>(is), std::istreambuf_iterator<char>());
        // size
            t.size = json.size() - 1;
        // read
            std::vector<node> vo;
            {   // check
                vo.emplace_back();
                auto const r = cxon::from_bytes<TIME>(vo.back(), json);
                    if (!r) return t.error = format_error(r, json.begin()), void();
            }
            t.time.read.push_back(CXON_MEASURE(
                vo.emplace_back();
                auto const r = cxon::from_bytes<TIME>(vo.back(), json);
                if (!r) t.error = format_error(r, json.begin());
            ));
        // write
            auto o = vo.back(); vo.clear();
            std::vector<std::string> vs;
            {   // check
                vs.emplace_back();
                auto r = cxon::to_bytes<TIME>(vs.back(), o);
                    if (!r) return t.error = format_error(r, vs.back().begin()), void();
            }
            std::array<char, 4 * 1024> bf;
            t.time.write.push_back(CXON_MEASURE(
                vs.emplace_back();
                cxon::to_bytes<TIME>(cxon::cio::buffered_back_inserter(vs.back(), bf), o);
            ));
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x13e0, %rsp           # imm = 0x13E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x210(%rbp), %rdi
movl $0x4, %edx
callq 0xf660
movq -0x210(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x210(%rbp,%rax), %rdi
callq 0xf040
movb %al, -0x1381(%rbp)
jmp 0x241904
movb -0x1381(%rbp), %al
testb $0x1, %al
jne 0x241910
jmp 0x24194c
movq -0x8(%rbp), %rdi
addq $0x58, %rdi
leaq 0x7487(%rip), %rsi      # 0x248da6
callq 0xf2b0
jmp 0x241926
movl $0x1, -0x220(%rbp)
jmp 0x241d1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
jmp 0x241d4a
leaq -0x250(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x18790
leaq -0x260(%rbp), %rdi
callq 0x187f0
leaq -0x261(%rbp), %rdi
movq %rdi, -0x1390(%rbp)
callq 0xf5f0
movq -0x1390(%rbp), %r9
movq -0x250(%rbp), %rsi
movl -0x248(%rbp), %edx
movq -0x260(%rbp), %rcx
movl -0x258(%rbp), %r8d
leaq -0x240(%rbp), %rdi
callq 0x18fc0
jmp 0x2419ae
leaq -0x261(%rbp), %rdi
callq 0xf710
leaq -0x240(%rbp), %rdi
callq 0xf220
movq %rax, %rcx
decq %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
leaq -0x280(%rbp), %rdi
movq %rdi, -0x1398(%rbp)
callq 0xef770
movq -0x1398(%rbp), %rdi
callq 0x242840
jmp 0x2419f5
leaq -0x280(%rbp), %rdi
callq 0x1ff00
movq %rax, %rsi
leaq -0x298(%rbp), %rdi
leaq -0x240(%rbp), %rdx
callq 0x18940
jmp 0x241a19
leaq -0x298(%rbp), %rdi
callq 0x189a0
testb $0x1, %al
jne 0x241ac5
leaq -0x240(%rbp), %rdi
callq 0xf1e0
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rdx
leaq -0x2b8(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x189c0
jmp 0x241a5c
movq -0x8(%rbp), %rdi
addq $0x58, %rdi
leaq -0x2b8(%rbp), %rsi
callq 0xf3a0
leaq -0x2b8(%rbp), %rdi
callq 0xf490
movl $0x1, -0x220(%rbp)
jmp 0x241d05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x261(%rbp), %rdi
callq 0xf710
jmp 0x241d4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
jmp 0x241d32
movq -0x8(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x13a8(%rbp)
leaq -0x280(%rbp), %rax
movq %rax, -0x2e0(%rbp)
leaq -0x240(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x2d0(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x10(%rax)
movups -0x2e0(%rbp), %xmm0
movups %xmm0, (%rax)
callq 0x241d70
movsd %xmm0, -0x13a0(%rbp)
jmp 0x241b22
movq -0x13a8(%rbp), %rdi
movsd -0x13a0(%rbp), %xmm0
movsd %xmm0, -0x2c8(%rbp)
leaq -0x2c8(%rbp), %rsi
callq 0x1c8390
jmp 0x241b47
leaq -0x280(%rbp), %rdi
callq 0x1ff00
movq %rax, %rsi
leaq -0x308(%rbp), %rdi
callq 0x10e600
jmp 0x241b64
leaq -0x280(%rbp), %rdi
callq 0x2428a0
leaq -0x320(%rbp), %rdi
movq %rdi, -0x13b0(%rbp)
callq 0x28c40
movq -0x13b0(%rbp), %rdi
callq 0x1c83e0
jmp 0x241b91
leaq -0x320(%rbp), %rdi
callq 0x2a3e0
movq %rax, %rsi
leaq -0x338(%rbp), %rdi
leaq -0x308(%rbp), %rdx
callq 0xaad40
jmp 0x241bb5
leaq -0x338(%rbp), %rdi
callq 0x1c8470
testb $0x1, %al
jne 0x241c5e
leaq -0x320(%rbp), %rdi
callq 0x2a3e0
movq %rax, %rdi
callq 0xf320
movq %rax, -0x360(%rbp)
movq -0x360(%rbp), %rdx
leaq -0x358(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x1c8490
jmp 0x241c00
movq -0x8(%rbp), %rdi
addq $0x58, %rdi
leaq -0x358(%rbp), %rsi
callq 0xf3a0
leaq -0x358(%rbp), %rdi
callq 0xf490
movl $0x1, -0x220(%rbp)
jmp 0x241ced
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x28cf0
leaq -0x308(%rbp), %rdi
callq 0x18d50
jmp 0x241d32
movq -0x8(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x13c0(%rbp)
leaq -0x320(%rbp), %rax
movq %rax, -0x1380(%rbp)
leaq -0x1360(%rbp), %rax
movq %rax, -0x1378(%rbp)
leaq -0x308(%rbp), %rax
movq %rax, -0x1370(%rbp)
movq -0x1370(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x10(%rax)
movups -0x1380(%rbp), %xmm0
movups %xmm0, (%rax)
callq 0x241ef0
movsd %xmm0, -0x13b8(%rbp)
jmp 0x241cbe
movq -0x13c0(%rbp), %rdi
movsd -0x13b8(%rbp), %xmm0
movsd %xmm0, -0x1368(%rbp)
leaq -0x1368(%rbp), %rsi
callq 0x1c8390
jmp 0x241ce3
movl $0x0, -0x220(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x28cf0
leaq -0x308(%rbp), %rdi
callq 0x18d50
leaq -0x280(%rbp), %rdi
callq 0x1f390
leaq -0x240(%rbp), %rdi
callq 0xf490
leaq -0x210(%rbp), %rdi
callq 0xf050
addq $0x13e0, %rsp           # imm = 0x13E0
popq %rbp
retq
leaq -0x280(%rbp), %rdi
callq 0x1f390
leaq -0x240(%rbp), %rdi
callq 0xf490
leaq -0x210(%rbp), %rdi
callq 0xf050
movq -0x218(%rbp), %rdi
callq 0xf410
nopw %cs:(%rax,%rax)