// File: /workspace/github_cpp_makefile_star2_O1/UTAP[P]APHTTP/utils/template_parser.cpp
// Function: TemplateParser::compileCode()
void TemplateParser::compileCode() {
  if (writeToFile(code, toCompileFile) < 0)
    throw Server::Exception("Can not write generated template code!");

  string cmd = mkdirNoErrors(outputFolder) + " && " + cc + " " + toCompileFile +
               " " + utilitiesPath + " -o " + outputFolder + SysCmd::slash + programName +
               "&& " + SysCmd::rm + toCompileFile;
  string error = "Can not compile template " + filePath;
  TemplateUtils::runSystemCommand(cmd, error);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rdi, %rbx
addq $0x28, %rdi
leaq 0x9922(%rip), %rsi      # 0x1ff50
callq 0xf96a
testl %eax, %eax
js 0x16e19
leaq -0x218(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x97e3(%rip), %rsi      # 0x1fe30
movq 0x97e4(%rip), %rdx      # 0x1fe38
addq %rsi, %rdx
leaq -0x228(%rbp), %r14
movq %r14, %rdi
callq 0x7e12
leaq 0x3494(%rip), %rsi      # 0x19b01
movq %r14, %rdi
callq 0x45f0
movq 0x9914(%rip), %rsi      # 0x1ff90
movq 0x9915(%rip), %rdx      # 0x1ff98
leaq -0x228(%rbp), %rdi
callq 0x4130
leaq -0x38(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x166b3
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x166ba
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x314c(%rip), %rsi      # 0x19828
callq 0x45f0
leaq -0x198(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1670e
movq %rdx, -0x1a8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x198(%rbp)
jmp 0x16716
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x1a0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x1673e
callq 0x4310
movq -0x228(%rbp), %rdi
cmpq %r15, %rdi
je 0x1674f
callq 0x4310
leaq 0x31c6(%rip), %rsi      # 0x1991c
leaq -0x1a8(%rbp), %rdi
callq 0x45f0
leaq -0x78(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16789
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x1678f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x88(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x975c(%rip), %rsi      # 0x1ff10
movq 0x975d(%rip), %rdx      # 0x1ff18
callq 0x4130
leaq -0x98(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x167ed
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x167f3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xa8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3146(%rip), %rsi      # 0x1995e
callq 0x45f0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1684a
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x16850
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xc8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x96db(%rip), %rsi      # 0x1ff50
movq 0x96dc(%rip), %rdx      # 0x1ff58
callq 0x4130
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x168ae
movq %rdx, -0xe8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xd8(%rbp)
jmp 0x168b4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xe8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3085(%rip), %rsi      # 0x1995e
callq 0x45f0
leaq -0xf8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1690b
movq %rdx, -0x108(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf8(%rbp)
jmp 0x16911
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x108(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x95ba(%rip), %rsi      # 0x1fef0
movq 0x95bb(%rip), %rdx      # 0x1fef8
callq 0x4130
leaq -0x118(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1696f
movq %rdx, -0x128(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x118(%rbp)
jmp 0x16975
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x128(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2f87(%rip), %rsi      # 0x19921
callq 0x45f0
leaq -0x138(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x169cc
movq %rdx, -0x148(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x138(%rbp)
jmp 0x169d2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x148(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x9599(%rip), %rsi      # 0x1ff90
movq 0x959a(%rip), %rdx      # 0x1ff98
callq 0x4130
leaq -0x158(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16a30
movq %rdx, -0x168(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x158(%rbp)
jmp 0x16a36
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x168(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x93f5(%rip), %rsi      # 0x1fe50
movq 0x93f6(%rip), %rdx      # 0x1fe58
callq 0x4130
leaq -0x178(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16a94
movq %rdx, -0x188(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x178(%rbp)
jmp 0x16a9a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x188(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xa0(%rbx), %rsi
movq 0xa8(%rbx), %rdx
callq 0x4130
leaq -0x1b8(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16af8
movq %rdx, -0x1c8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1b8(%rbp)
jmp 0x16aff
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x1c8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2df9(%rip), %rsi      # 0x1991d
callq 0x45f0
leaq -0x1d8(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16b57
movq %rdx, -0x1e8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1d8(%rbp)
jmp 0x16b5f
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq %r13, %r14
movq 0x8(%rax), %rdx
leaq -0x1e8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x9269(%rip), %rsi      # 0x1fdf0
movq 0x926a(%rip), %rdx      # 0x1fdf8
callq 0x4130
leaq -0x1f8(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16bc0
movq %rdx, -0x208(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1f8(%rbp)
jmp 0x16bc8
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq -0x208(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x9363(%rip), %rsi      # 0x1ff50
movq 0x9364(%rip), %rdx      # 0x1ff58
callq 0x4130
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x16c1d
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x16c23
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x208(%rbp), %rdi
cmpq %r13, %rdi
je 0x16c4b
callq 0x4310
movq -0x1e8(%rbp), %rdi
cmpq %r12, %rdi
je 0x16c5c
callq 0x4310
movq -0x1c8(%rbp), %rdi
cmpq %r15, %rdi
je 0x16c6d
callq 0x4310
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
leaq -0x78(%rbp), %r15
je 0x16c89
callq 0x4310
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x16ca1
callq 0x4310
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x16cb9
callq 0x4310
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x16cd1
callq 0x4310
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x16ce9
callq 0x4310
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0x16d01
callq 0x4310
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x16d19
callq 0x4310
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x16d31
callq 0x4310
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x16d42
callq 0x4310
movq -0x1a8(%rbp), %rdi
cmpq %r14, %rdi
je 0x16d53
callq 0x4310
addq $0x8, %rbx
leaq 0x2bc8(%rip), %rsi      # 0x19926
leaq -0x48(%rbp), %rdi
movq %rbx, %rdx
callq 0xa815
leaq -0x258(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x268(%rbp), %rdi
callq 0x7e12
leaq -0x238(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
leaq -0x248(%rbp), %rdi
callq 0x7e12
leaq -0x268(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x17b7e
movq -0x248(%rbp), %rdi
cmpq %r15, %rdi
je 0x16dd2
callq 0x4310
movq -0x268(%rbp), %rdi
cmpq %r14, %rdi
je 0x16de3
callq 0x4310
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x16df5
callq 0x4310
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x16e07
callq 0x4310
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x28, %edi
callq 0x41f0
movq %rax, %r14
leaq -0x278(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x2abc(%rip), %rsi      # 0x198f5
leaq 0x2adb(%rip), %rdx      # 0x1991b
leaq -0x288(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r15b
leaq -0x288(%rbp), %rsi
movq %r14, %rdi
callq 0x139e0
xorl %r15d, %r15d
leaq 0x7c68(%rip), %rsi      # 0x1ead0
leaq -0xf325(%rip), %rdx     # 0x7b4a
movq %r14, %rdi
callq 0x4570
movq %rax, %rbx
movq -0x288(%rbp), %rdi
cmpq %r12, %rdi
je 0x16e93
callq 0x4310
jmp 0x16e93
movq %rax, %rbx
movb $0x1, %r15b
testb %r15b, %r15b
je 0x1705e
movq %r14, %rdi
callq 0x4290
jmp 0x1705e
movq %rax, %rbx
movq -0x248(%rbp), %rdi
cmpq %r15, %rdi
je 0x16ec2
callq 0x4310
jmp 0x16ec2
movq %rax, %rbx
movq -0x268(%rbp), %rdi
cmpq %r14, %rdi
je 0x16ed8
callq 0x4310
jmp 0x16ed8
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x16eef
callq 0x4310
jmp 0x16eef
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
jne 0x17059
jmp 0x1705e
movq %rax, %rbx
movq -0x208(%rbp), %rdi
cmpq %r13, %rdi
je 0x16f1e
callq 0x4310
jmp 0x16f1e
movq %rax, %rbx
movq -0x1e8(%rbp), %rdi
cmpq %r12, %rdi
je 0x16f37
callq 0x4310
jmp 0x16f37
movq %r13, %r14
movq %rax, %rbx
movq -0x1c8(%rbp), %rdi
cmpq %r15, %rdi
je 0x16f50
callq 0x4310
jmp 0x16f50
movq %r13, %r14
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x16f70
callq 0x4310
jmp 0x16f70
movq %r13, %r14
movq %rax, %rbx
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x16f90
callq 0x4310
jmp 0x16f90
movq %r13, %r14
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x16fb0
callq 0x4310
jmp 0x16fb0
movq %r13, %r14
movq %rax, %rbx
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x16fd0
callq 0x4310
jmp 0x16fd0
movq %r13, %r14
movq %rax, %rbx
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x16ff0
callq 0x4310
jmp 0x16ff0
movq %r13, %r14
movq %rax, %rbx
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0x17008
callq 0x4310
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x17020
callq 0x4310
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x17038
callq 0x4310
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1704d
callq 0x4310
movq -0x1a8(%rbp), %rdi
cmpq %r14, %rdi
je 0x1705e
callq 0x4310
movq %rbx, %rdi
callq 0x45a0
movq %r13, %r14
movq %rax, %rbx
jmp 0x17008
movq %r13, %r14
movq %rax, %rbx
jmp 0x17020
movq %r13, %r14
movq %rax, %rbx
jmp 0x17038
movq %r13, %r14
movq %rax, %rbx
jmp 0x1704d
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x1709e
callq 0x4310
jmp 0x1709e
jmp 0x1709b
movq %rax, %rbx
movq -0x228(%rbp), %rdi
cmpq %r15, %rdi
jne 0x17059
jmp 0x1705e