// File: SYZYGYfpga[P]syzygy-tools/include/json.hpp
// Function: nlohmann::detail::parser<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>>::throw_exception() const
[[noreturn]] void throw_exception() const
    {
        std::string error_msg = "syntax error - ";
        if (last_token == token_type::parse_error)
        {
            error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
                         m_lexer.get_token_string() + "'";
        }
        else
        {
            error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
        }

        if (expected != token_type::uninitialized)
        {
            error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
        }

        JSON_THROW(parse_error::create(101, m_lexer.get_position(), error_msg));
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x34f0
movq -0x180(%rbp), %rdx
leaq 0x7b55(%rip), %rsi      # 0x16bad
leaq -0x28(%rbp), %rdi
callq 0x33b0
jmp 0xf063
leaq -0x29(%rbp), %rdi
callq 0x3330
movq -0x188(%rbp), %rax
cmpl $0xe, 0x28(%rax)
jne 0xf230
movq -0x188(%rbp), %rdi
addq $0x30, %rdi
callq 0xf4c0
movq %rax, -0x198(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x34f0
movq -0x198(%rbp), %rsi
movq -0x190(%rbp), %rdx
leaq -0xc0(%rbp), %rdi
callq 0x33b0
jmp 0xf0c3
leaq 0x7af3(%rip), %rdx      # 0x16bbd
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x7d70
jmp 0xf0df
movq -0x188(%rbp), %rsi
addq $0x30, %rsi
leaq -0xe8(%rbp), %rdi
callq 0xcbd0
jmp 0xf0f8
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
callq 0x7dc0
jmp 0xf111
leaq 0x7ab2(%rip), %rdx      # 0x16bca
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x7d70
jmp 0xf127
leaq -0x28(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x3370
jmp 0xf136
leaq -0x60(%rbp), %rdi
callq 0x3200
leaq -0x80(%rbp), %rdi
callq 0x3200
leaq -0xe8(%rbp), %rdi
callq 0x3200
leaq -0xa0(%rbp), %rdi
callq 0x3200
leaq -0xc0(%rbp), %rdi
callq 0x3200
leaq -0xc1(%rbp), %rdi
callq 0x3330
jmp 0xf31a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x3330
jmp 0xf4a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf21f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf213
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf207
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf1fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf1f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x3200
leaq -0x80(%rbp), %rdi
callq 0x3200
leaq -0xe8(%rbp), %rdi
callq 0x3200
leaq -0xa0(%rbp), %rdi
callq 0x3200
leaq -0xc0(%rbp), %rdi
callq 0x3200
leaq -0xc1(%rbp), %rdi
callq 0x3330
jmp 0xf49f
movq -0x188(%rbp), %rax
movl 0x28(%rax), %edi
callq 0xf4e0
movq %rax, -0x1a8(%rbp)
leaq -0x129(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x34f0
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
leaq -0x128(%rbp), %rdi
callq 0x33b0
jmp 0xf275
leaq 0x7950(%rip), %rsi      # 0x16bcc
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rdx
callq 0xcb80
jmp 0xf291
leaq -0x28(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x3370
jmp 0xf2a3
leaq -0x108(%rbp), %rdi
callq 0x3200
leaq -0x128(%rbp), %rdi
callq 0x3200
leaq -0x129(%rbp), %rdi
callq 0x3330
jmp 0xf31a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf309
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x3200
leaq -0x128(%rbp), %rdi
callq 0x3200
leaq -0x129(%rbp), %rdi
callq 0x3330
jmp 0xf49f
movq -0x188(%rbp), %rax
cmpl $0x0, 0xb4(%rax)
je 0xf41b
movq -0x188(%rbp), %rax
movl 0xb4(%rax), %edi
callq 0xf4e0
movq %rax, -0x1b8(%rbp)
leaq -0x171(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x34f0
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
leaq -0x170(%rbp), %rdi
callq 0x33b0
jmp 0xf376
leaq 0x785b(%rip), %rsi      # 0x16bd8
leaq -0x150(%rbp), %rdi
leaq -0x170(%rbp), %rdx
callq 0xcb80
jmp 0xf392
leaq -0x28(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3370
jmp 0xf3a4
leaq -0x150(%rbp), %rdi
callq 0x3200
leaq -0x170(%rbp), %rdi
callq 0x3200
leaq -0x171(%rbp), %rdi
callq 0x3330
jmp 0xf41b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf40a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xf3fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x3200
leaq -0x170(%rbp), %rdi
callq 0x3200
leaq -0x171(%rbp), %rdi
callq 0x3330
jmp 0xf49f
movl $0x28, %edi
callq 0x3190
movq -0x188(%rbp), %rdi
movq %rax, -0x1c0(%rbp)
movq %rax, -0x1c8(%rbp)
addq $0x30, %rdi
callq 0xf9a0
movq -0x1c0(%rbp), %rdi
movq %rax, %rdx
movl $0x65, %esi
leaq -0x28(%rbp), %rcx
callq 0xf600
jmp 0xf45d
movq -0x1c8(%rbp), %rdi
leaq 0x128bd(%rip), %rsi     # 0x21d28
leaq 0x54e(%rip), %rdx       # 0xf9c0
callq 0x34b0
jmp 0xf4b1
movq -0x1c8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0x3260
jmp 0xf49f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3200
movq -0x38(%rbp), %rdi
callq 0x34e0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)