// File: oknenavin[P]cxon/test/../src/cxon/lang/json/error.hxx
// Function: cxon::json::read_error_category::message[abi:cxx11](int) const
std::string message(int ev) const override {
            switch (static_cast<read_error>(ev)) {
                case read_error::ok:                        return "no error";
                case read_error::unexpected:                return "unexpected input";
                case read_error::character_invalid:         return "invalid character";
                case read_error::integral_invalid:          return "invalid integral or value out of range";
                case read_error::floating_point_invalid:    return "invalid floating point";
                case read_error::boolean_invalid:           return "invalid boolean";
                case read_error::escape_invalid:            return "invalid escape sequence";
                case read_error::surrogate_invalid:         return "invalid surrogate";
                case read_error::overflow:                  return "buffer overflow";
                default:                                    return "unknown error";
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq %rax, -0x38(%rbp)
subq $0x8, %rax
ja 0x1ac3f
movq -0x38(%rbp), %rax
leaq 0xa69e3(%rip), %rcx     # 0xc1370
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x15(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0xa80f9(%rip), %rsi     # 0xc2aab
callq 0x54f0
jmp 0x1a9b9
leaq -0x15(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x25(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0xa80b7(%rip), %rsi     # 0xc2ab4
callq 0x54f0
jmp 0x1aa04
leaq -0x25(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x26(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0xa807d(%rip), %rsi     # 0xc2ac5
callq 0x54f0
jmp 0x1aa4f
leaq -0x26(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x27(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0xa8044(%rip), %rsi     # 0xc2ad7
callq 0x54f0
jmp 0x1aa9a
leaq -0x27(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0xa8020(%rip), %rsi     # 0xc2afe
callq 0x54f0
jmp 0x1aae5
leaq -0x28(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x29(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0xa7fec(%rip), %rsi     # 0xc2b15
callq 0x54f0
jmp 0x1ab30
leaq -0x29(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x2a(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0xa7fb1(%rip), %rsi     # 0xc2b25
callq 0x54f0
jmp 0x1ab7b
leaq -0x2a(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x2b(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0xa7f78(%rip), %rsi     # 0xc2b3d
callq 0x54f0
jmp 0x1abcc
leaq -0x2b(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2b(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x2c(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0xa7f39(%rip), %rsi     # 0xc2b4f
callq 0x54f0
jmp 0x1ac1d
leaq -0x2c(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2c(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
leaq -0x2d(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x5670
movq -0x48(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0xa7efe(%rip), %rsi     # 0xc2b5f
callq 0x54f0
jmp 0x1ac68
leaq -0x2d(%rbp), %rdi
callq 0x53f0
jmp 0x1ac8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2d(%rbp), %rdi
callq 0x53f0
jmp 0x1ac97
movq -0x40(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x5660