// File: /workspace/github_cpp_makefile_star2_O3/grame-cncm[P]digraph/./dglib/digraphop.hh
// Function: std::ostream& operator<<<char, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, int>>>, int>>(std::ostream&, digraph<char, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, int>>>, int>> const&)
inline std::ostream& operator<<(std::ostream& file, const digraph<N, A>& g)
{
    std::string sep = "";

    file << "Graph {";
    for (const N& n : g.nodes()) {
        bool hascnx = false;
        for (const auto& c : g.connections(n)) {
            hascnx = true;
            file << sep << n << '-' << (c.second) << "->" << (c.first);
            sep = ", ";
        }
        if (!hascnx) {
            file << sep << n;
        }
        sep = ", ";
    }

    return file << "}";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x198c2(%rip), %rdx     # 0x1c0c7
leaq 0x10(%rsp), %rdi
movq %rdx, %rsi
callq 0x3130
leaq 0x1984c(%rip), %rsi     # 0x1c065
movl $0x7, %edx
movq %rbx, 0x8(%rsp)
movq %rbx, %rdi
callq 0x21a0
movq (%r14), %rcx
movq 0x18(%rcx), %rax
addq $0x8, %rcx
movq %rcx, 0x38(%rsp)
cmpq %rcx, %rax
je 0x29d3
leaq 0x7(%rsp), %r12
leaq 0x19820(%rip), %r13     # 0x1c070
movq %r14, 0x30(%rsp)
movq %rax, 0x40(%rsp)
leaq 0x20(%rax), %r15
movq (%r14), %rdi
addq $0x30, %rdi
movq %r15, %rsi
callq 0x47dc
movq %rax, %r14
movq 0x18(%rax), %rbp
addq $0x8, %r14
cmpq %r14, %rbp
je 0x2974
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x8(%rsp), %rdi
callq 0x21a0
movb (%r15), %cl
movb %cl, 0x7(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movb $0x2d, 0x7(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movq %rax, %rbx
movl $0xa, %edx
movq %rax, %rdi
leaq 0x197a8(%rip), %rsi     # 0x1c07b
callq 0x21a0
leaq 0x28(%rbp), %rsi
movq %rbx, %rdi
callq 0x4822
movq %rax, %rbx
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21a0
movl 0x58(%rbp), %esi
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1a947(%rip), %rsi     # 0x1d25b
callq 0x21a0
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x19745(%rip), %rsi     # 0x1c06d
callq 0x21a0
movb 0x20(%rbp), %al
movb %al, 0x7(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21a0
movq 0x18(%rsp), %rdx
movl $0x2, %r8d
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
movq %r13, %rcx
callq 0x2200
movq %rbp, %rdi
callq 0x21b0
movq %rax, %rbp
cmpq %r14, %rax
jne 0x2881
jmp 0x299f
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x8(%rsp), %rdi
callq 0x21a0
movb (%r15), %cl
movb %cl, 0x7(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movq 0x18(%rsp), %rdx
movl $0x2, %r8d
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
movq %r13, %rcx
callq 0x2200
movq 0x40(%rsp), %rdi
callq 0x21b0
cmpq 0x38(%rsp), %rax
movq 0x30(%rsp), %r14
jne 0x2855
leaq 0x1a881(%rip), %rsi     # 0x1d25b
movl $0x1, %edx
movq 0x8(%rsp), %rdi
callq 0x21a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x29fd
callq 0x2150
movq 0x8(%rsp), %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2a17
jmp 0x2a17
jmp 0x2a17
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x2a2e
callq 0x2150
movq %rbx, %rdi
callq 0x2250