// File: /workspace/github_cpp_makefile_star2_O2/nwieder[P]SSTS/src/Input/Standard_Ipt.cpp
// Function: nw::Standard_Ipt::read_Species(pugi::xml_node const&)
void Standard_Ipt::read_Species(xml_node const& nod){
	cout << "read_Species...",
	info_path << "############ SPECIES ############" << endl;

	xml_node_iterator spc_it;  //voxel iterator, voxel element iterator, list iterator

//	read all Standard Species
	for (spc_it = nod.child("standardSpcList").begin(); spc_it !=
			nod.child("standardSpcList").end(); ++spc_it){
// 		create new standard species struct
		Standard_Ipt::xml_spc* xspc = new Standard_Ipt::xml_spc;
		xspc->xml_id = atol(spc_it->attribute("id").value());
		info_path<< "id: " << xspc->xml_id;
		xspc->xml_name = (string)spc_it->child_value("name");
		info_path<< ", name: " << xspc->xml_name;
		xspc->xml_init_conc = atof(spc_it->child_value("initialConcentration"));
		info_path<< ", initConc:" << xspc->xml_init_conc;
		info_path<< endl;
		xgd.xml_spc_list.push_back(xspc);
	}

//	read all Channel Species
	for (spc_it = nod.child("channelSpcList").begin(); spc_it !=
			nod.child("channelSpcList").end(); ++spc_it){
// 		create new channel species struct
		Standard_Ipt::xml_Ch_Spc* xspc = new Standard_Ipt::xml_Ch_Spc;
		xspc->xml_id = atol(spc_it->attribute("id").value());
		info_path<< "id: " << xspc->xml_id;
		xspc->xml_name = (string)spc_it->child_value("name");
		info_path<< ", name: " << xspc->xml_name;
		xspc->xml_init_conc = atof(spc_it->child_value("initialConcentration"));
		info_path<< ", initConc:" << xspc->xml_init_conc;
		xspc->xml_n_subunits = atol(spc_it->child_value("nSubUnits"));
		info_path<< ", n_subunits:" << xspc->xml_n_subunits;
		xspc->xml_n_suToOpen = atol(spc_it->child_value("nSubUnitsToOpen"));
		info_path<< ", n_suToOpen:" << xspc->xml_n_suToOpen;
		info_path<< endl;
		xgd.xml_ch_spc_list.push_back(xspc);
	}

	cout << "DONE" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x28861(%rip), %rdi     # 0x2efc8
leaq 0x17cc5(%rip), %rsi     # 0x1e433
callq 0x4240
leaq 0x248(%r14), %r15
leaq 0x17cc2(%rip), %rsi     # 0x1e443
movq %r15, %rdi
callq 0x4240
movq %rax, %rdi
callq 0x4100
leaq 0x38(%rsp), %r12
movq %r12, %rdi
callq 0x10efc
leaq 0x17cc0(%rip), %rsi     # 0x1e465
movq %rbx, %rdi
callq 0xd3d6
leaq 0x18(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, %rdi
callq 0xd348
movq %rax, (%r12)
movq %rdx, 0x8(%r12)
movq %r14, 0x10(%rsp)
addq $0x140, %r14            # imm = 0x140
movq %rsp, %r13
movq %rbx, %rdi
leaq 0x17c85(%rip), %rsi     # 0x1e465
callq 0xd3d6
movq %rax, (%rsp)
movq %r13, %rdi
callq 0xd358
movq %rax, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %r12, %rdi
movq %rbp, %rsi
callq 0x10f44
testb %al, %al
je 0x6942
pushq $0x30
popq %rdi
callq 0x4260
leaq 0x18(%rax), %rcx
movq %rcx, 0x8(%rax)
andq $0x0, 0x10(%rax)
movb $0x0, 0x18(%rax)
movq %rax, (%rsp)
movq %r12, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x180b7(%rip), %rsi     # 0x1e8f4
callq 0xd512
movq %rax, 0x18(%rsp)
movq %rbp, %rdi
callq 0xcc7a
movq %rax, %rdi
callq 0x42c0
movq (%rsp), %rcx
movq %rax, (%rcx)
movq %r15, %rdi
leaq 0x17c0d(%rip), %rsi     # 0x1e475
callq 0x4240
movq (%rsp), %rcx
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x4230
movq %r12, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x1a9a6(%rip), %rsi     # 0x21234
callq 0xd798
movq %rbp, %rdi
movq %rax, %rsi
leaq 0xf(%rsp), %rdx
callq 0x8e86
movq (%rsp), %rdi
addq $0x8, %rdi
movq %rbp, %rsi
callq 0x42e0
movq %rbp, %rdi
callq 0x4568
movq %r15, %rdi
leaq 0x17bb5(%rip), %rsi     # 0x1e47a
callq 0x4240
movq (%rsp), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x4210
movq %r12, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x17b97(%rip), %rsi     # 0x1e483
callq 0xd798
movq %rax, %rdi
callq 0x42f0
movq (%rsp), %rax
movsd %xmm0, 0x28(%rax)
movq %r15, %rdi
leaq 0x17b8c(%rip), %rsi     # 0x1e498
callq 0x4240
movq (%rsp), %rcx
movsd 0x28(%rcx), %xmm0
movq %rax, %rdi
callq 0x4460
movq %r15, %rdi
callq 0x4100
movq %r14, %rdi
movq %r13, %rsi
callq 0x8fec
movq %r12, %rdi
callq 0x10fb8
jmp 0x67d6
leaq 0x17b5b(%rip), %rsi     # 0x1e4a4
movq %rbx, %rdi
callq 0xd3d6
leaq 0x18(%rsp), %r13
movq %rax, (%r13)
movq %r13, %rdi
callq 0xd348
leaq 0x38(%rsp), %rbp
movq %rax, (%rbp)
movq %rdx, 0x8(%rbp)
movq 0x10(%rsp), %r14
addq $0x158, %r14            # imm = 0x158
movq %rsp, %r12
movq %rbx, %rdi
leaq 0x17b1c(%rip), %rsi     # 0x1e4a4
callq 0xd3d6
movq %rax, (%rsp)
movq %r12, %rdi
callq 0xd358
movq %rax, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rbp, %rdi
movq %r13, %rsi
callq 0x10f44
testb %al, %al
je 0x6b76
pushq $0x40
popq %rdi
callq 0x4260
leaq 0x18(%rax), %rcx
movq %rcx, 0x8(%rax)
andq $0x0, 0x10(%rax)
movb $0x0, 0x18(%rax)
movq %rax, (%rsp)
movq %rbp, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x17f0f(%rip), %rsi     # 0x1e8f4
callq 0xd512
movq %rax, 0x18(%rsp)
movq %r13, %rdi
callq 0xcc7a
movq %rax, %rdi
callq 0x42c0
movq (%rsp), %rcx
movq %rax, (%rcx)
movq %r15, %rdi
leaq 0x17a65(%rip), %rsi     # 0x1e475
callq 0x4240
movq (%rsp), %rcx
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x4230
movq %rbp, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x1a7fe(%rip), %rsi     # 0x21234
callq 0xd798
movq %r13, %rdi
movq %rax, %rsi
leaq 0xf(%rsp), %rdx
callq 0x8e86
movq (%rsp), %rdi
addq $0x8, %rdi
movq %r13, %rsi
callq 0x42e0
movq %r13, %rdi
callq 0x4568
movq %r15, %rdi
leaq 0x17a0d(%rip), %rsi     # 0x1e47a
callq 0x4240
movq (%rsp), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x4210
movq %rbp, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x179ef(%rip), %rsi     # 0x1e483
callq 0xd798
movq %rax, %rdi
callq 0x42f0
movq (%rsp), %rax
movsd %xmm0, 0x28(%rax)
movq %r15, %rdi
leaq 0x179e4(%rip), %rsi     # 0x1e498
callq 0x4240
movq (%rsp), %rcx
movsd 0x28(%rcx), %xmm0
movq %rax, %rdi
callq 0x4460
movq %rbp, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x179d7(%rip), %rsi     # 0x1e4b3
callq 0xd798
movq %rax, %rdi
callq 0x42c0
movq (%rsp), %rcx
movq %rax, 0x30(%rcx)
movq %r15, %rdi
leaq 0x179c2(%rip), %rsi     # 0x1e4bd
callq 0x4240
movq (%rsp), %rcx
movq 0x30(%rcx), %rsi
movq %rax, %rdi
callq 0x4230
movq %rbp, %rdi
callq 0x10f8e
movq %rax, %rdi
leaq 0x179a9(%rip), %rsi     # 0x1e4cb
callq 0xd798
movq %rax, %rdi
callq 0x42c0
movq (%rsp), %rcx
movq %rax, 0x38(%rcx)
movq %r15, %rdi
leaq 0x1799a(%rip), %rsi     # 0x1e4db
callq 0x4240
movq (%rsp), %rcx
movq 0x38(%rcx), %rsi
movq %rax, %rdi
callq 0x4230
movq %r15, %rdi
callq 0x4100
movq %r14, %rdi
movq %r12, %rsi
callq 0x900a
movq %rbp, %rdi
callq 0x10fb8
jmp 0x697e
movq 0x2844b(%rip), %rdi     # 0x2efc8
leaq 0x17965(%rip), %rsi     # 0x1e4e9
callq 0x4240
movq %rax, %rdi
callq 0x4100
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq