// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::StreamWriterBuilder::newStreamWriter() const
StreamWriter* StreamWriterBuilder::newStreamWriter() const
{
  std::string indentation = settings_["indentation"].asString();
  std::string cs_str = settings_["commentStyle"].asString();
  bool eyc = settings_["enableYAMLCompatibility"].asBool();
  bool dnp = settings_["dropNullPlaceholders"].asBool();
  bool usf = settings_["useSpecialFloats"].asBool(); 
  unsigned int pre = settings_["precision"].asUInt();
  CommentStyle::Enum cs = CommentStyle::All;
  if (cs_str == "All") {
    cs = CommentStyle::All;
  } else if (cs_str == "None") {
    cs = CommentStyle::None;
  } else {
    throwRuntimeError("commentStyle must be 'All' or 'None'");
  }
  std::string colonSymbol = " : ";
  if (eyc) {
    colonSymbol = ": ";
  } else if (indentation.empty()) {
    colonSymbol = ":";
  }
  std::string nullSymbol = "null";
  if (dnp) {
    nullSymbol = "";
  }
  if (pre > 17) pre = 17;
  std::string endingLineFeedSymbol = "";
  return new BuiltStyledStreamWriter(
      indentation, cs,
      colonSymbol, nullSymbol, endingLineFeedSymbol, usf, pre);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %r15
addq $0x8, %r15
leaq 0x38b68(%rip), %rsi     # 0xc1a59
leaq 0x38b6c(%rip), %rdx     # 0xc1a64
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
leaq 0x38036(%rip), %r14     # 0xc0f40
cmoveq %r14, %rax
leaq 0x88(%rsp), %rdi
movq %rax, %rsi
callq 0x7b3a0
leaq 0x38b40(%rip), %rsi     # 0xc1a65
leaq 0x38b45(%rip), %rdx     # 0xc1a71
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
cmoveq %r14, %rax
leaq 0x68(%rsp), %rdi
movq %rax, %rsi
callq 0x7b3a0
leaq 0x38b23(%rip), %rsi     # 0xc1a72
leaq 0x38b33(%rip), %rdx     # 0xc1a89
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x8049c
movl %eax, %r12d
leaq 0x38b13(%rip), %rsi     # 0xc1a8a
leaq 0x38b20(%rip), %rdx     # 0xc1a9e
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x8049c
movl %eax, %ebp
leaq 0x38b01(%rip), %rsi     # 0xc1a9f
leaq 0x38b0a(%rip), %rdx     # 0xc1aaf
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x8049c
movl %eax, %ebx
leaq 0x38aeb(%rip), %rsi     # 0xc1ab0
leaq 0x38aed(%rip), %rdx     # 0xc1ab9
movq %r15, %rdi
callq 0x841d8
testq %rax, %rax
cmovneq %rax, %r14
movq %r14, %rdi
callq 0x82b10
movl %eax, %r15d
leaq 0x38acd(%rip), %rsi     # 0xc1aba
leaq 0x68(%rsp), %rdi
callq 0x111b0
testl %eax, %eax
je 0x8903e
leaq 0x38abc(%rip), %rsi     # 0xc1abe
leaq 0x68(%rsp), %rdi
callq 0x111b0
xorl %r14d, %r14d
testl %eax, %eax
je 0x89044
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x38aa0(%rip), %rsi     # 0xc1ac3
leaq 0x38abd(%rip), %rdx     # 0xc1ae7
leaq 0x8(%rsp), %rdi
callq 0x1ab58
leaq 0x8(%rsp), %rdi
callq 0x79c0a
movl $0x2, %r14d
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x389f8(%rip), %rsi     # 0xc1a4c
leaq 0x389f4(%rip), %rdx     # 0xc1a4f
leaq 0x8(%rsp), %rdi
callq 0x1ab58
testb %r12b, %r12b
je 0x89079
movl $0x2, %r8d
leaq 0x389d6(%rip), %rcx     # 0xc1a4d
jmp 0x89091
cmpq $0x0, 0x90(%rsp)
jne 0x890a1
movl $0x1, %r8d
leaq 0x389b4(%rip), %rcx     # 0xc1a45
leaq 0x8(%rsp), %rdi
movq 0x8(%rdi), %rdx
xorl %esi, %esi
callq 0x11920
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3895b(%rip), %rsi     # 0xc1a0d
leaq 0x38958(%rip), %rdx     # 0xc1a11
leaq 0x28(%rsp), %rdi
callq 0x1ab58
testb %bpl, %bpl
je 0x890e2
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x3555f(%rip), %rcx     # 0xbe637
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x11920
cmpl $0x11, %r15d
movl $0x11, %r13d
cmovbl %r15d, %r13d
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x35537(%rip), %rdx     # 0xbe637
leaq 0x48(%rsp), %rdi
movq %rdx, %rsi
callq 0x1ab58
movl $0xe0, %edi
callq 0x115b0
movq %rax, %r15
movzbl %bl, %eax
leaq 0x88(%rsp), %rsi
leaq 0x8(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0x48(%rsp), %r9
movq %r15, %rdi
movl %r14d, %edx
pushq %r13
pushq %rax
callq 0x87a86
addq $0x10, %rsp
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8915d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x115c0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x89174
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x115c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x89190
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x891ab
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x891cc
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x115c0
movq %r15, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x89252
jmp 0x8926c
jmp 0x89269
jmp 0x89224
jmp 0x89240
movq %rax, %rbx
movl $0xe0, %esi
movq %r15, %rdi
callq 0x115c0
jmp 0x8920b
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x89227
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x89227
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x89243
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x89243
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x8926c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x8926c
jmp 0x89269
jmp 0x89269
jmp 0x89269
jmp 0x89269
movq %rax, %rbx
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8928c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x8928c
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x892ad
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x115c0
movq %rbx, %rdi
callq 0x11a70
nop