// File: AraKhachatryan[P]GraphAlgo/graph.cpp
// Function: GraphAlgo::graph::add_edges(std::vector<std::pair<int, int>, std::allocator<std::pair<int, int>>> const&)
void graph::
add_edges( const edges& ed )
{
	edges::const_iterator it = ed.begin();
	for ( ; it != ed.end(); ++it ) 
	{
		if ( ! is_edge_in_graph(*it) ) 
		{
			m_edges.push_back(*it);
			add_vertex( it->first );
			add_vertex( it->second );
			
			vertices::iterator v_it = find( m_neighborhood[it->first].begin(), m_neighborhood[it->first].end(), it->second );
			if ( v_it == m_neighborhood[it->first].end() ) 
			{
				m_neighborhood[it->first].push_back( it->second );
			}
			
			v_it = find( m_neighborhood[it->second].begin(), m_neighborhood[it->second].end(), it->first );
			if ( v_it == m_neighborhood[it->second].end() ) 
			{
				m_neighborhood[it->second].push_back( it->first );
			}
		}
	}	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rdi
callq 0x173b0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x17420
movq %rax, -0x20(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x173e0
testb $0x1, %al
jne 0x1671b
jmp 0x169c5
leaq -0x18(%rbp), %rdi
callq 0x10560
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x15e30
testb $0x1, %al
jne 0x169b5
leaq -0x18(%rbp), %rdi
callq 0x10560
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x178d0
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x16590
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x68(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x16590
movq -0x68(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x80(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6050
movq %rax, %rcx
movq -0x68(%rbp), %rax
movq %rcx, -0x30(%rbp)
addq $0x30, %rax
movq %rax, -0x78(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6100
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq %rax, %rdx
addq $0x4, %rdx
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x170f0
movq %rax, %rcx
movq -0x68(%rbp), %rax
movq %rcx, -0x28(%rbp)
addq $0x30, %rax
movq %rax, -0x70(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6100
movq %rax, -0x40(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x17940
testb $0x1, %al
jne 0x1683c
jmp 0x16886
movq -0x68(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x90(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x5f70
movq %rax, -0x88(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x88(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x17760
movq -0x68(%rbp), %rax
addq $0x30, %rax
movq %rax, -0xa8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6050
movq %rax, %rcx
movq -0x68(%rbp), %rax
movq %rcx, -0x50(%rbp)
addq $0x30, %rax
movq %rax, -0xa0(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6100
movq %rax, -0x58(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq %rax, %rdx
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x170f0
movq %rax, %rcx
movq -0x68(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq -0x48(%rbp), %rcx
movq %rcx, -0x28(%rbp)
addq $0x30, %rax
movq %rax, -0x98(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0x98(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x5f70
movq %rax, %rdi
callq 0x6100
movq %rax, -0x60(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x17940
testb $0x1, %al
jne 0x16969
jmp 0x169b3
movq -0x68(%rbp), %rax
addq $0x30, %rax
movq %rax, -0xb8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x5f70
movq %rax, -0xb0(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x17450
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x17760
jmp 0x169b5
jmp 0x169b7
leaq -0x18(%rbp), %rdi
callq 0x105b0
jmp 0x166f8
addq $0xc0, %rsp
popq %rbp
retq
nop