// File: /workspace/github_cpp_makefile_star2_O2/yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::parse_value(char const*&, yll::json&, bool)
static bool parse_value(const char*& s, json& v, bool strict) {
			skip_spaces(s);
			if (*s == '"') {
				return parse_string(s, v);
			}
			if (*s == '+' || *s == '-' || *s == '.' || isdigit(*s)) {
				const char* p = s;
				if (parse_number(p, v)) {
					if (strict) {
						s = p;
						return true;
					}
					if (is_valid_separator(*p)) {
						s = p;
						return true;
					}
				} else if (strict) {
					return false;
				}
				// otherwise, try to parse as string
			}
			if (*s == '{') {
				return parse_object(s, v, strict);
			} else if (*s == '[') {
				return parse_array(s, v, strict);
			} else if (match_symbol(s, text_null)) {
				v.clear(type::null);
				return true;
			} else if (match_symbol(s, text_true)) {
				v = true;
				return true;
			} else if (match_symbol(s, text_false)) {
				v = false;
				return true;
			} else if (!strict) {
				return parse_string(s, v, false);
			} else {
				return false;
			}
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
callq 0x8662
movq (%r14), %rcx
movb (%rcx), %al
movzbl %al, %edx
leal -0x2d(%rdx), %esi
cmpl $0x2, %esi
jb 0x8508
cmpl $0x2b, %edx
je 0x8508
cmpl $0x22, %edx
jne 0x84fd
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x86d0
movsbl %al, %edx
addl $-0x30, %edx
cmpl $0x9, %edx
ja 0x854d
leaq -0x28(%rbp), %rdi
movq %rcx, (%rdi)
movq %rbx, %rsi
callq 0x8938
movl %eax, %r12d
testb %al, %al
je 0x853f
movq -0x28(%rbp), %rax
testb %r15b, %r15b
jne 0x8537
movsbl (%rax), %edi
callq 0x8a52
testb %al, %al
je 0x8548
movq -0x28(%rbp), %rax
movq %rax, (%r14)
jmp 0x861f
testb %r15b, %r15b
jne 0x861f
movq (%r14), %rax
movb (%rax), %al
cmpb $0x5b, %al
je 0x856a
movzbl %al, %eax
cmpl $0x7b, %eax
jne 0x8581
movzbl %r15b, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x8a7a
jmp 0x8579
movzbl %r15b, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x8d1c
movl %eax, %r12d
jmp 0x861f
leaq 0x6c88(%rip), %rsi      # 0xf210
movq %r14, %rdi
callq 0x8ee0
testb %al, %al
je 0x85c3
leaq 0x2659(%rip), %rsi      # 0xabf4
leaq -0x48(%rbp), %r14
leaq -0x28(%rbp), %rdx
movq %r14, %rdi
callq 0x507a
movq %rbx, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x7eec
leaq -0x48(%rbp), %rdi
callq 0x23e8
jmp 0x861c
leaq 0x6c6e(%rip), %rsi      # 0xf238
movq %r14, %rdi
callq 0x8ee0
testb %al, %al
je 0x85e5
leaq -0x128(%rbp), %r14
pushq $0x1
popq %rsi
movq %r14, %rdi
jmp 0x8604
leaq 0x6c74(%rip), %rsi      # 0xf260
movq %r14, %rdi
callq 0x8ee0
testb %al, %al
je 0x8632
leaq -0xb8(%rbp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x5148
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7500
movq %r14, %rdi
callq 0x565a
movb $0x1, %r12b
movl %r12d, %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
testb %r15b, %r15b
je 0x863c
xorl %r12d, %r12d
jmp 0x861f
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x86d0
jmp 0x8579
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x2370