// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::TokenInput::getXmlComment()
Token TokenInput::getXmlComment ()
{ 
  QC_ASSERT (last. empty ());

  // Embedded comments ??

  QC_ASSERT (ci. get () == '-');
  QC_ASSERT (ci. get () == '-');

  Token t;
  t. tp = ci. tp;
  array<char,4> lastChars {{'-', '-', '\0', '\0'}};
  size_t i = 2; 
	for (;;)
	{ 
	  char c = ci. get (); 
		if (ci. eof)
	    ci. error ("XML comment is not finished: end of file", false);
	  QC_ASSERT (c);
	  if (isSpace (c))
	    c = ' ';

    ASSERT (i < 4);
    lastChars [i] = c;
    i = (i + 1) % 4;
    if (   lastChars [(i + 1) % 4] == '-'
        && lastChars [(i + 2) % 4] == '-'
        && lastChars [(i + 3) % 4] == '>'
       )
      break;
      
    if (lastChars [i])
		  t. name += lastChars [i];
	}
	
	trim (t. name);
	if (! t. name. empty ())
    t. type = Token::eText;  
  else
    { ASSERT (t. empty ()); }
	
  return t;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rsi, %r12
movq %rdi, %rbx
callq 0xb060
andl $0x0, (%rax)
cmpl $0x1, 0x288(%r12)
jne 0x2dc49
cmpq $0x0, 0x298(%r12)
jne 0x2dc49
movq %rax, %r14
leaq 0x8(%r12), %r15
movq %r15, %rdi
callq 0x2ae60
cmpb $0x2d, %al
jne 0x2dd1d
andl $0x0, (%r14)
movq %r15, %rdi
callq 0x2ae60
cmpb $0x2d, %al
jne 0x2ddf1
movq %rbx, %rdi
callq 0x3cb88
movq 0x268(%r12), %rax
movq %rax, 0x54(%rbx)
movl $0x2d2d, 0x8(%rsp)      # imm = 0x2D2D
movq %rbx, 0x110(%rsp)
leaq 0x10(%rbx), %r13
pushq $0x2
popq %rbx
movq %r15, %rdi
callq 0x2ae60
cmpb $0x1, 0x220(%r12)
je 0x2db50
movl %eax, %ebp
andl $0x0, (%r14)
testb %al, %al
je 0x2db75
movsbl %bpl, %edi
callq 0x3c341
movzbl %bpl, %ecx
testb %al, %al
pushq $0x20
popq %rax
cmovnel %eax, %ecx
andl $0x0, (%r14)
movb %cl, 0x8(%rsp,%rbx)
movq %rbx, %rax
xorq $0x2, %rax
cmpb $0x2d, 0x8(%rsp,%rax)
jne 0x2daf6
cmpb $0x3e, %cl
jne 0x2daf6
leal -0x1(%rbx), %eax
andl $0x3, %eax
cmpb $0x2d, 0x8(%rsp,%rax)
je 0x2db10
incl %ebx
andl $0x3, %ebx
movb 0x8(%rsp,%rbx), %al
testb %al, %al
je 0x2da94
movsbl %al, %esi
movq %r13, %rdi
callq 0xb4e0
jmp 0x2da94
movq %r13, %rdi
callq 0x3c32f
movq 0x110(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x2db30
movl $0x2, 0x8(%rax)
jmp 0x2db3e
andl $0x0, (%r14)
cmpl $0x1, 0x8(%rax)
jne 0x2dec5
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2eeca(%rip), %rsi     # 0x5ca21
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x1b7b6
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
xorl %edx, %edx
callq 0x3c836
callq 0xb6c0
testl %eax, %eax
jne 0x2df99
leaq 0x2ddb8(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0xada, %esi            # imm = 0xADA
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2c012(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x2edf5(%rip), %rsi     # 0x5c9e2
leaq 0x50(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x2dd3b(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x2e1f3(%rip), %rdx     # 0x5be23
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x2df99
leaq 0x2dce4(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0xaca, %esi            # imm = 0xACA
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2bf3e(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x2ed21(%rip), %rsi     # 0x5c9e2
leaq 0x50(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x2dc67(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x2ebef(%rip), %rdx     # 0x5c8f3
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x2df99
leaq 0x2dc10(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0xace, %esi            # imm = 0xACE
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2be6a(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x2ec4d(%rip), %rsi     # 0x5c9e2
leaq 0x50(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x2db93(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x2ec37(%rip), %rdx     # 0x5ca0f
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x2df99
leaq 0x2db3c(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0xacf, %esi            # imm = 0xACF
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2bd96(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x2eb79(%rip), %rsi     # 0x5c9e2
leaq 0x50(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x2dabf(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x2eb63(%rip), %rdx     # 0x5ca0f
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
callq 0xb6c0
testl %eax, %eax
jne 0x2df99
leaq 0x2da68(%rip), %rsi     # 0x5b941
leaq 0xb0(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
movl $0xaef, %esi            # imm = 0xAEF
callq 0x1caa3
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2bcc2(%rip), %rdx     # 0x59be3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x2eaa5(%rip), %rsi     # 0x5c9e2
leaq 0x50(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0x2d9eb(%rip), %rdx     # 0x5b93e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1ca3c
leaq 0x312b1(%rip), %rdx     # 0x5f231
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
callq 0x224fc
pushq $0x1
popq %rdi
callq 0xb6d0
jmp 0x2e05c
jmp 0x2e06b
jmp 0x2e093
jmp 0x2dfb8
jmp 0x2dfc7
jmp 0x2dfb8
jmp 0x2dfc7
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2dfca
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2dfe2
jmp 0x2e0ab
jmp 0x2dfdf
jmp 0x2dfdf
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x2dffa
jmp 0x2e0bc
jmp 0x2dff7
jmp 0x2dff7
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x2e012
jmp 0x2e0ce
jmp 0x2e00f
jmp 0x2e00f
movq %rax, %r14
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x2e02d
jmp 0x2e0e0
jmp 0x2e02a
jmp 0x2e02a
movq %rax, %r14
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x2e048
jmp 0x2e0f2
jmp 0x2e045
jmp 0x2e045
movq %rax, %r14
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x2e081
jmp 0x2e112
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2e06e
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2e096
jmp 0x2e07e
jmp 0x2e07e
movq %rax, %r14
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x2e122
movq %rax, %r14
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x2e0ae
jmp 0x2e0a6
jmp 0x2e0a6
movq %rax, %r14
jmp 0x2e122
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x2e0bf
jmp 0x2e112
movq %rax, %r14
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x2e0d1
movq %rax, %r14
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x2e0e3
movq %rax, %r14
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x2e0f5
movq %rax, %r14
leaq 0xb0(%rsp), %rdi
jmp 0x2e109
jmp 0x2e112
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2e115
jmp 0x2e112
movq %rax, %r14
movq 0x110(%rsp), %rdi
callq 0x3cc0c
movq %r14, %rdi
callq 0xba30