// File: jo-qzy[P]MyJson/./json.hpp
// Function: JSON::Value::operator=(JSON::Value const&)
void operator=(const Value& other) {
            switch (other.get_type()) {
            case JSON_NULL: clear(); break;
            case JSON_TRUE: operator=(true); break;
            case JSON_FALSE: operator=(false); break;
            case JSON_NUMBER: operator=(other.asDouble()); break;
            case JSON_ARRAY:
                clear();
                for (size_t i = 0; i < other.size(); i++)
                    array.push_back(other[i]);
                break;
            case JSON_OBJECT:
                std::vector<std::string> names = other.getMemberNames();
                for (auto it : names)
                    object.insert(make_pair(it, other[it]));
                break;
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6fc0
movl %eax, %ecx
movq %rcx, -0x220(%rbp)
subl $0x6, %eax
ja 0x6fac
movq -0x220(%rbp), %rax
leaq 0x6321(%rip), %rcx      # 0xd038
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x228(%rbp), %rdi
callq 0x3700
jmp 0x6fac
movq -0x228(%rbp), %rdi
movl $0x1, %esi
callq 0x4d80
jmp 0x6fac
movq -0x228(%rbp), %rdi
xorl %esi, %esi
callq 0x4d80
jmp 0x6fac
movq -0x10(%rbp), %rdi
callq 0x7010
movq -0x228(%rbp), %rdi
callq 0x6fd0
jmp 0x6fac
movq -0x228(%rbp), %rdi
callq 0x3700
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x230(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7060
movq %rax, %rcx
movq -0x230(%rbp), %rax
cmpq %rcx, %rax
jae 0x6de7
movq -0x228(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x238(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x7110
movq -0x238(%rbp), %rdi
movq %rax, %rsi
callq 0x4e20
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x6d88
jmp 0x6fac
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x33b0
leaq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3510
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3540
movq %rax, -0x48(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3570
testb $0x1, %al
jne 0x6e31
jmp 0x6f96
leaq -0x40(%rbp), %rdi
callq 0x35b0
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x20b0
jmp 0x6e48
movq -0x228(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x248(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x240(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x20b0
jmp 0x6e77
movq -0x240(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rdx
callq 0x7220
jmp 0x6e93
leaq -0x140(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x1e8(%rbp), %rdx
callq 0x71e0
jmp 0x6eac
movq -0x248(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x71a0
movb %dl, -0x251(%rbp)
movq %rax, -0x250(%rbp)
jmp 0x6ece
movb -0x251(%rbp), %al
movq -0x250(%rbp), %rcx
movq %rcx, -0x218(%rbp)
movb %al, -0x210(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x72c0
leaq -0x1e8(%rbp), %rdi
callq 0x3010
leaq -0x208(%rbp), %rdi
callq 0x2120
leaq -0x68(%rbp), %rdi
callq 0x2120
leaq -0x40(%rbp), %rdi
callq 0x35d0
jmp 0x6e1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x6fa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x6f8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x6f7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x6f73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x72c0
leaq -0x1e8(%rbp), %rdi
callq 0x3010
leaq -0x208(%rbp), %rdi
callq 0x2120
leaq -0x68(%rbp), %rdi
callq 0x2120
jmp 0x6fa1
leaq -0x30(%rbp), %rdi
callq 0x3770
jmp 0x6fac
leaq -0x30(%rbp), %rdi
callq 0x3770
jmp 0x6fb5
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x22f0
nop