// File: ncbi[P]amr/tsv.cpp
// Function: Common_sp::TextTable::find(Common_sp::Vector<unsigned long> const&, Common_sp::StringVector const&, unsigned long) const
TextTable::RowNum TextTable::find (const Vector<ColNum> &colNums,
                                   const StringVector &targetValues,
                                   RowNum row_num_start) const
{
  ASSERT (colNums. size () == targetValues. size ());
  ASSERT (row_num_start != no_index);
  StringVector values;
  FOR_START (RowNum, i, row_num_start, rows. size ())
  {
    colNumsRow2values (colNums, i, values);
    if (values == targetValues)
      return i;
  }
  return no_index;
}

// Assembly:
subq $0x2c8, %rsp            # imm = 0x2C8
movq %rdi, 0x2b8(%rsp)
movq %rsi, 0x2b0(%rsp)
movq %rdx, 0x2a8(%rsp)
movq %rcx, 0x2a0(%rsp)
movq 0x2b8(%rsp), %rax
movq %rax, 0x30(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x2b0(%rsp), %rdi
callq 0x82260
movq %rax, 0x38(%rsp)
movq 0x2a8(%rsp), %rdi
callq 0x2f390
movq %rax, %rcx
movq 0x38(%rsp), %rax
cmpq %rcx, %rax
je 0xbd0b6
callq 0xc8c0
cmpl $0x0, %eax
jne 0xbd0ac
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xcd00
movq 0x28(%rsp), %rdx
leaq 0x1486e(%rip), %rsi     # 0xd16c9
leaq 0x200(%rsp), %rdi
callq 0x29fd0
jmp 0xbce6a
leaq 0x1c8(%rsp), %rdi
movl $0x2af, %esi            # imm = 0x2AF
callq 0x2ded0
jmp 0xbce7e
leaq 0x220(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
callq 0x2dde0
jmp 0xbce9d
leaq 0xecfd(%rip), %rdx      # 0xcbba1
leaq 0x240(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x2a2f0
jmp 0xbcebb
leaq 0x187(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcd00
movq 0x20(%rsp), %rdx
leaq 0x14c44(%rip), %rsi     # 0xd1b1d
leaq 0x188(%rsp), %rdi
callq 0x29fd0
jmp 0xbcee8
leaq 0x10b27(%rip), %rdx     # 0xcda16
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x2a2f0
jmp 0xbcf06
leaq 0x260(%rsp), %rdi
leaq 0x240(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
callq 0x2dde0
jmp 0xbcf25
leaq 0x14c5a(%rip), %rdx     # 0xd1b86
leaq 0x280(%rsp), %rdi
leaq 0x260(%rsp), %rsi
callq 0x2a2f0
jmp 0xbcf43
leaq 0x280(%rsp), %rdi
callq 0x3e9b0
jmp 0xbcf52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd09a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd08d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd059
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd04c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd03f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd032
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0x280(%rsp), %rdi
callq 0xce98
leaq 0x260(%rsp), %rdi
callq 0xce98
leaq 0x1a8(%rsp), %rdi
callq 0xce98
leaq 0x188(%rsp), %rdi
callq 0xce98
leaq 0x187(%rsp), %rdi
callq 0xc7a0
leaq 0x240(%rsp), %rdi
callq 0xce98
leaq 0x220(%rsp), %rdi
callq 0xce98
leaq 0x1c8(%rsp), %rdi
callq 0xce98
leaq 0x200(%rsp), %rdi
callq 0xce98
leaq 0x1ff(%rsp), %rdi
callq 0xc7a0
jmp 0xbd442
movl $0x1, %edi
callq 0xc8d0
callq 0xc090
movl $0x0, (%rax)
cmpq $-0x1, 0x2a0(%rsp)
jne 0xbd348
callq 0xc8c0
cmpl $0x0, %eax
jne 0xbd33e
leaq 0xdf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x145cd(%rip), %rsi     # 0xd16c9
leaq 0xe0(%rsp), %rdi
callq 0x29fd0
jmp 0xbd10b
leaq 0xb8(%rsp), %rdi
movl $0x2b0, %esi            # imm = 0x2B0
callq 0x2ded0
jmp 0xbd11f
leaq 0x100(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x2dde0
jmp 0xbd13e
leaq 0xea5c(%rip), %rdx      # 0xcbba1
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x2a2f0
jmp 0xbd15c
leaq 0x77(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x149a6(%rip), %rsi     # 0xd1b1d
leaq 0x78(%rsp), %rdi
callq 0x29fd0
jmp 0xbd183
leaq 0x1088c(%rip), %rdx     # 0xcda16
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x2a2f0
jmp 0xbd19e
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x2dde0
jmp 0xbd1bd
leaq 0x149ec(%rip), %rdx     # 0xd1bb0
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x2a2f0
jmp 0xbd1db
leaq 0x160(%rsp), %rdi
callq 0x3e9b0
jmp 0xbd1ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd32c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd31f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd312
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd305
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd2ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd2e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd2d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0xbd2ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0x160(%rsp), %rdi
callq 0xce98
leaq 0x140(%rsp), %rdi
callq 0xce98
leaq 0x98(%rsp), %rdi
callq 0xce98
leaq 0x78(%rsp), %rdi
callq 0xce98
leaq 0x77(%rsp), %rdi
callq 0xc7a0
leaq 0x120(%rsp), %rdi
callq 0xce98
leaq 0x100(%rsp), %rdi
callq 0xce98
leaq 0xb8(%rsp), %rdi
callq 0xce98
leaq 0xe0(%rsp), %rdi
callq 0xce98
leaq 0xdf(%rsp), %rdi
callq 0xc7a0
jmp 0xbd442
movl $0x1, %edi
callq 0xc8d0
leaq 0x50(%rsp), %rdi
callq 0x2ef00
movq 0x2a0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x30(%rsp), %rdi
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
addq $0x50, %rdi
callq 0x380d0
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0xbd414
movq 0x30(%rsp), %rdi
movq 0x2b0(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x50(%rsp), %rcx
callq 0xbcce0
jmp 0xbd3a6
movq 0x2a8(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x382b0
movb %al, 0x7(%rsp)
jmp 0xbd3be
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0xbd3c8
jmp 0xbd3ff
movq 0x48(%rsp), %rax
movq %rax, 0x2c0(%rsp)
movl $0x1, 0x44(%rsp)
jmp 0xbd428
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x2eef0
jmp 0xbd442
jmp 0xbd401
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0xbd35f
movq $-0x1, 0x2c0(%rsp)
movl $0x1, 0x44(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x2eef0
movq 0x2c0(%rsp), %rax
addq $0x2c8, %rsp            # imm = 0x2C8
retq
movq 0x1f0(%rsp), %rdi
callq 0xccf0
nop