// File: /workspace/github_cpp_makefile_star2_O2/yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::parse_string(char const*&, yll::json&, bool)
static bool parse_string(const char*& s, json& v, bool strict = true) {
			skip_spaces(s);
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			std::string text;
			while (*s) {
				if (strict) {
					if (*s == '"') break;
				} else {
					if (*s == ':' || *s == ',' || *s == '}' || *s == ']' || isspace(*s)) break;
				}
				if (*s == '\\') {
					switch (*(++s)) {
						case '"':
						case '\\':
						case '/': text += *s++; break;
						case 'b': text += '\b'; ++s; break;
						case 'f': text += '\f'; ++s; break;
						case 'n': text += '\n'; ++s; break;
						case 'r': text += '\r'; ++s; break;
						case 't': text += '\t'; ++s; break;
						case 'u':
								  if (!isxdigit(s[1])) return false;
								  if (!isxdigit(s[2])) return false;
								  if (!isxdigit(s[3])) return false;
								  if (!isxdigit(s[4])) return false;
								  text.push_back(static_cast<char>(
											  (hex_value(s[1]) << 12) +
											  (hex_value(s[2]) << 8) +
											  (hex_value(s[3]) << 4) +
											  hex_value(s[4])));
								  s += 5;
								  break;
						default: return false;
					}
				} else {
					text += *s++;
				}
			}
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			v = text;
			return true;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
callq 0x8662
testl %r15d, %r15d
je 0x8709
movq (%r14), %rax
cmpb $0x22, (%rax)
jne 0x88c0
incq %rax
movq %rax, (%r14)
movq %rbx, -0x30(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
pushq $0x1
popq %rbx
movq (%r14), %r12
movsbl (%r12), %r13d
testl %r13d, %r13d
je 0x88c5
testb %r15b, %r15b
je 0x8754
cmpb $0x5c, %r13b
je 0x8799
movzbl %r13b, %ecx
movq %rbx, %rdx
movq %r12, %rax
cmpl $0x22, %ecx
jne 0x87f7
jmp 0x88cf
movzbl %r13b, %eax
leal -0x2c(%rax), %ecx
cmpl $0x31, %ecx
ja 0x8774
movabsq $0x2000000004001, %rdx  # imm = 0x2000000004001
btq %rcx, %rdx
jb 0x88d5
cmpl $0x7d, %eax
je 0x88d5
movl %r13d, %edi
callq 0x2040
testl %eax, %eax
jne 0x88d5
movq %rbx, %rdx
movq %r12, %rax
cmpb $0x5c, %r13b
jne 0x87f7
leaq 0x1(%r12), %rax
movq %rax, (%r14)
movzbl 0x1(%r12), %ecx
xorl %r13d, %r13d
leal -0x6e(%rcx), %edx
cmpl $0x7, %edx
jbe 0x87dd
cmpl $0x22, %ecx
je 0x87f4
cmpl $0x2f, %ecx
je 0x87f4
cmpl $0x66, %ecx
je 0x88a7
movb $0x8, %dl
cmpl $0x62, %ecx
je 0x88a9
pushq $0x2
popq %rdx
cmpl $0x5c, %ecx
je 0x87f7
jmp 0x8903
leaq 0x188c(%rip), %rcx      # 0xa070
movslq (%rcx,%rdx,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0xa, %dl
jmp 0x88a9
pushq $0x2
popq %rdx
addq %rdx, %r12
movq %r12, (%r14)
movsbl (%rax), %esi
leaq -0x50(%rbp), %rdi
callq 0x21f0
jmp 0x8720
movb $0xd, %dl
jmp 0x88a9
movsbl 0x2(%r12), %r13d
movl %r13d, %edi
callq 0x2070
testl %eax, %eax
je 0x88ca
movsbl 0x3(%r12), %edi
callq 0x2070
testl %eax, %eax
je 0x88ca
movsbl 0x4(%r12), %edi
callq 0x2070
testl %eax, %eax
je 0x88ca
movsbl 0x5(%r12), %edi
callq 0x2070
testl %eax, %eax
je 0x88ca
movl %r13d, %edi
callq 0x8f2e
movq (%r14), %rax
movsbl 0x2(%rax), %edi
callq 0x8f2e
movq (%r14), %rax
movsbl 0x3(%rax), %edi
callq 0x8f2e
movl %eax, %r13d
shll $0x4, %r13d
movq (%r14), %rax
movsbl 0x4(%rax), %edi
callq 0x8f2e
addl %r13d, %eax
movsbl %al, %esi
leaq -0x50(%rbp), %rdi
callq 0x21f0
pushq $0x5
popq %rax
jmp 0x88b8
movb $0x9, %dl
jmp 0x88a9
movb $0xc, %dl
movzbl %dl, %esi
leaq -0x50(%rbp), %rdi
callq 0x21f0
movq %rbx, %rax
addq %rax, (%r14)
jmp 0x8720
xorl %r13d, %r13d
jmp 0x890c
testb %r15b, %r15b
je 0x88d5
xorl %r13d, %r13d
jmp 0x8903
incq %r12
movq %r12, (%r14)
leaq -0xc0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x5380
leaq -0xc0(%rbp), %r14
movq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x7500
movq %r14, %rdi
callq 0x565a
movb $0x1, %r13b
leaq -0x50(%rbp), %rdi
callq 0x23e8
movl %r13d, %eax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8923
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x23e8
movq %rbx, %rdi
callq 0x2370
nop