// File: /workspace/github_cpp_makefile_star2_O1/thierry7100[P]CutOptim/src/SvgDoc.cpp
// Function: SvgDoc::WritePath(std::ostream&, NSVGpath*, NSVGshape*)
void SvgDoc::WritePath(ostream &Out, NSVGpath *path, NSVGshape *shape)
{
    Out << "    <path" << endl;
    //  Line style from SVG file
    Out << std::hex;
    Out << "       style=\"fill:none;stroke:#" << setw(6) << setfill('0') << std::hex << (shape->stroke.color&0xFFFFFF);
    Out << std::dec;
    Out << ";stroke-width:" << shape->strokeWidth << "\"" << endl;
    // Then path itself
    Out << "       d=\"M " << path->StartX << "," << path->StartY;
    NSVGPathElt *Elt = path->PathElts;
    for (int i = 0; i < path->nElts; i++)
    {
        if ( Elt->Type == NSVG_PATH_BEZIER_C )
            Out << " C " << Elt->BzCtrl1X << "," << Elt->BzCtrl1Y << "," << Elt->BzCtrl2X << "," << Elt->BzCtrl2Y << "," << Elt->EndX << "," << Elt->EndY;
        else
            Out << " L " << Elt->EndX << "," << Elt->EndY;
        Elt = Elt->next;
    }
    if ( path->closed == 1 )
    {
        Out << " z";
    }
    Out << "\"" << endl;
    Out << "       id=\"" << path->id << "\"" << endl;
    Out << "       inkscape:connector-curvature=\"0\" />" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %rbx
leaq 0x1070f(%rip), %rsi     # 0x3f918
movl $0x9, %edx
movq %rbx, %rdi
callq 0x74d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x73f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7300
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x106c9(%rip), %rsi     # 0x3f922
movl $0x20, %edx
movq %rbx, %rdi
callq 0x74d0
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x6, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r12
cmpb $0x0, 0xe1(%rbx,%rax)
jne 0x2f2a6
movq %r12, %rdi
movl $0x20, %esi
callq 0x73f0
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x30, 0xe0(%r12)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x58(%r15), %esi
andl $0xffffff, %esi         # imm = 0xFFFFFF
movq %rbx, %rdi
callq 0x72f0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x1089c(%rip), %rsi     # 0x3fb8e
movl $0xe, %edx
movq %rbx, %rdi
callq 0x74d0
movsd 0x68(%r15), %xmm0
movq %rbx, %rdi
callq 0x7680
movq %rax, %r15
leaq 0x1064e(%rip), %rsi     # 0x3f965
movl $0x1, %edx
movq %rax, %rdi
callq 0x74d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x73f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7300
leaq 0x105f1(%rip), %rsi     # 0x3f943
movl $0xc, %edx
movq %rbx, %rdi
callq 0x74d0
movsd (%r14), %xmm0
movq %rbx, %rdi
callq 0x7680
movq %rax, %r15
leaq 0xe542(%rip), %rsi      # 0x3d8b8
movl $0x1, %edx
movq %rax, %rdi
callq 0x74d0
movsd 0x8(%r14), %xmm0
movq %r15, %rdi
callq 0x7680
cmpl $0x0, 0x18(%r14)
jle 0x2f4a8
leaq 0x10(%r14), %r15
xorl %r13d, %r13d
leaq 0xe50e(%rip), %r12      # 0x3d8b8
movq (%r15), %r15
cmpl $0x1, (%r15)
jne 0x2f451
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x1058a(%rip), %rsi     # 0x3f950
callq 0x74d0
movsd 0x18(%r15), %xmm0
movq %rbx, %rdi
callq 0x7680
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74d0
movsd 0x20(%r15), %xmm0
movq %rbp, %rdi
callq 0x7680
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74d0
movsd 0x28(%r15), %xmm0
movq %rbp, %rdi
callq 0x7680
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74d0
movsd 0x30(%r15), %xmm0
movq %rbp, %rdi
callq 0x7680
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74d0
jmp 0x2f468
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x104f4(%rip), %rsi     # 0x3f954
callq 0x74d0
movq %rbx, %rbp
movsd 0x8(%r15), %xmm0
movq %rbp, %rdi
callq 0x7680
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74d0
movsd 0x10(%r15), %xmm0
movq %rbp, %rdi
callq 0x7680
addq $0x38, %r15
incl %r13d
cmpl 0x18(%r14), %r13d
jl 0x2f3aa
cmpl $0x1, 0x1c(%r14)
jne 0x2f4c3
leaq 0x104a2(%rip), %rsi     # 0x3f958
movl $0x2, %edx
movq %rbx, %rdi
callq 0x74d0
leaq 0x1049b(%rip), %r15     # 0x3f965
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x74d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x73f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7300
leaq 0x10453(%rip), %rsi     # 0x3f95b
movl $0xb, %edx
movq %rbx, %rdi
callq 0x74d0
addq $0x90, %r14
movq %r14, %rdi
callq 0x71d0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x74d0
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x74d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x73f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7300
leaq 0x103f7(%rip), %rsi     # 0x3f967
movl $0x2a, %edx
movq %rbx, %rdi
callq 0x74d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x73f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7300