// File: /workspace/github_cpp_makefile_star2_O2/whitefusion[P]Jaipur_cardgame-/AllTokens.cpp
// Function: All_Tokens::printTokens()
void All_Tokens::printTokens(){
    int i, c, row, ts, tf;
    cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TOKENS<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << endl;
 //   cout << "============================================================================================================================================================================================" << endl;
    // output the first four types of tokens: diamond, gold, silver, leather

    for (row = 0; row < 2; ++row){
        if (row == 0){
            ts = 0;  
            tf = 4;
        }
        else {
            ts = 4;
            tf = 7;
        }
        for (i = ts; i < tf; ++i){
            cout << "  "; 
            for(c = 0; c < getSize(i+1)-1; ++c)
                cout << "  * *";
            if (getSize(i+1) > 0){
                cout << "  * * *";
                cout << "           ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*       *";
                cout << "         ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << " ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << allTokens.at(i).at(c).getVal() << "    ";
            if (getSize(i+1) > 0){
                if (i == 1)
                    cout << "*  " << allTokens.at(i).at(c).getType() << "   *";
                else 
                    cout << "*  " << allTokens.at(i).at(c).getType() << "  *";
                cout << "        ";
            }
            else
                cout << " ";
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << " ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*   -" << allTokens.at(i).at(c).getVal() << "-   *";
                cout << "        ";
            }
            else
                cout << " ";
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*       *";
                cout << "         ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  "; 
            for(c = 0; c < getSize(i+1)-1; ++c)
                cout << "  * *";
            if (getSize(i+1) > 0){
                cout << "  * * *";
                cout << "           ";
            }
        }
        cout << endl;
    }

//    cout << "============================================================================================================================================================================================" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq 0x1028a(%rip), %r14     # 0x14fd0
leaq 0x84f3(%rip), %rsi      # 0xd240
movq %r14, %rdi
callq 0x21b0
movq %rax, %rdi
callq 0x20f0
xorl %ecx, %ecx
leaq 0x85ae(%rip), %r12      # 0xd314
leaq 0x85aa(%rip), %r13      # 0xd317
cmpl $0x2, %ecx
je 0x51ad
xorl %eax, %eax
movq %rcx, 0x20(%rsp)
testl %ecx, %ecx
setne %al
leal (%rax,%rax,2), %ecx
addl $0x4, %ecx
movl %ecx, (%rsp)
movl %eax, %r15d
shll $0x2, %r15d
movl %r15d, %ebp
movl %r15d, 0x4(%rsp)
cmpl (%rsp), %ebp
je 0x4e07
movq %r14, %rdi
movq %r12, %rsi
callq 0x21b0
incl %ebp
xorl %r15d, %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
decl %eax
cmpl %eax, %r15d
jge 0x4dd4
movq %r14, %rdi
leaq 0x8533(%rip), %rsi      # 0xd2fd
callq 0x21b0
incl %r15d
jmp 0x4daf
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
testl %eax, %eax
movl 0x4(%rsp), %r15d
jle 0x4d9a
movq %r14, %rdi
leaq 0x8512(%rip), %rsi      # 0xd303
callq 0x21b0
movq %r14, %rdi
leaq 0x850b(%rip), %rsi      # 0xd30b
callq 0x21b0
jmp 0x4d9a
movq %r14, %rdi
callq 0x20f0
movl %r15d, %ebp
cmpl (%rsp), %ebp
je 0x4e7b
movq %r14, %rdi
movq %r12, %rsi
callq 0x21b0
incl %ebp
xorl %r15d, %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
decl %eax
cmpl %eax, %r15d
jge 0x4e48
movq %r14, %rdi
movq %r13, %rsi
callq 0x21b0
incl %r15d
jmp 0x4e27
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
testl %eax, %eax
movl 0x4(%rsp), %r15d
jle 0x4e12
movq %r14, %rdi
leaq 0x84b8(%rip), %rsi      # 0xd31d
callq 0x21b0
movq %r14, %rdi
leaq 0x8499(%rip), %rsi      # 0xd30d
callq 0x21b0
jmp 0x4e12
movq %r14, %rdi
callq 0x20f0
movl %r15d, %r15d
movl (%rsp), %eax
movq %rax, 0x18(%rsp)
movq %r15, 0x8(%rsp)
cmpq 0x18(%rsp), %r15
je 0x4fdf
movq %r14, %rdi
leaq 0x846d(%rip), %rsi      # 0xd315
callq 0x21b0
leaq 0x1(%r15), %r12
xorl %ebp, %ebp
movq %rbx, %rdi
movl %r12d, %esi
callq 0x4c28
decl %eax
cltq
movq %rbx, %rdi
cmpq %rax, %rbp
jge 0x4f03
movq %r15, %rsi
callq 0x541e
movq %rax, %rdi
movq %rbp, %rsi
callq 0x5444
movq %rax, %rdi
callq 0x3c78
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %rdi
leaq 0x8419(%rip), %rsi      # 0xd312
callq 0x21b0
incq %rbp
jmp 0x4eb3
movl %r12d, %esi
callq 0x4c28
leaq 0x8403(%rip), %rsi      # 0xd315
testl %eax, %eax
jle 0x4fc8
movq %r14, %rdi
leaq 0x8403(%rip), %rsi      # 0xd327
callq 0x21b0
movq %rax, 0x10(%rsp)
movq %rbx, %rdi
cmpq $0x1, %r15
jne 0x4f78
pushq $0x1
popq %rsi
callq 0x541e
movq %rax, %rdi
movq %rbp, %rsi
callq 0x5444
leaq 0x28(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x3c6a
movq 0x10(%rsp), %rdi
movq %r15, %rsi
callq 0x2180
movq %rax, %rdi
leaq 0x8610(%rip), %rsi      # 0xd581
callq 0x21b0
jmp 0x4fb7
movq %r15, %rsi
callq 0x541e
movq %rax, %rdi
movq %rbp, %rsi
callq 0x5444
leaq 0x28(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x3c6a
movq 0x10(%rsp), %rdi
movq %r15, %rsi
callq 0x2180
movq %rax, %rdi
leaq 0x85d0(%rip), %rsi      # 0xd582
callq 0x21b0
leaq 0x28(%rsp), %rdi
callq 0x20e0
leaq 0x8346(%rip), %rsi      # 0xd30e
movq %r14, %rdi
callq 0x21b0
movq %r12, %r15
leaq 0x833a(%rip), %r12      # 0xd314
jmp 0x4e93
movq %r14, %rdi
callq 0x20f0
movq 0x8(%rsp), %r15
cmpq 0x18(%rsp), %r15
je 0x50af
movq %r14, %rdi
leaq 0x8314(%rip), %rsi      # 0xd315
callq 0x21b0
movq %r15, 0x8(%rsp)
incq %r15
xorl %r12d, %r12d
movq %rbx, %rdi
movl %r15d, %esi
callq 0x4c28
decl %eax
cmpl %eax, %r12d
jge 0x5033
movq %r14, %rdi
movq %r13, %rsi
callq 0x21b0
incq %r12
jmp 0x5011
movq %rbx, %rdi
movl %r15d, %esi
callq 0x4c28
leaq 0x82d0(%rip), %rsi      # 0xd315
testl %eax, %eax
jle 0x509b
movq %r14, %rdi
leaq 0x82d8(%rip), %rsi      # 0xd32b
callq 0x21b0
movq %rax, %rbp
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x541e
movq %rax, %rdi
movq %r12, %rsi
callq 0x5444
movq %rax, %rdi
callq 0x3c78
movq %rbp, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %rdi
leaq 0x82a2(%rip), %rsi      # 0xd331
callq 0x21b0
leaq 0x8273(%rip), %rsi      # 0xd30e
movq %r14, %rdi
callq 0x21b0
leaq 0x826a(%rip), %r12      # 0xd314
jmp 0x4fec
movq %r14, %rdi
callq 0x20f0
movl 0x4(%rsp), %r15d
movl %r15d, %ebp
cmpl (%rsp), %ebp
je 0x5128
movq %r14, %rdi
movq %r12, %rsi
callq 0x21b0
incl %ebp
xorl %r15d, %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
decl %eax
cmpl %eax, %r15d
jge 0x50f5
movq %r14, %rdi
movq %r13, %rsi
callq 0x21b0
incl %r15d
jmp 0x50d4
movq %rbx, %rdi
movl %ebp, %esi
callq 0x4c28
testl %eax, %eax
movl 0x4(%rsp), %r15d
jle 0x50bf
movq %r14, %rdi
leaq 0x820b(%rip), %rsi      # 0xd31d
callq 0x21b0
movq %r14, %rdi
leaq 0x81ec(%rip), %rsi      # 0xd30d
callq 0x21b0
jmp 0x50bf
movq %r14, %rdi
callq 0x20f0
cmpl (%rsp), %r15d
je 0x5199
movq %r14, %rdi
movq %r12, %rsi
callq 0x21b0
incl %r15d
xorl %ebp, %ebp
movq %rbx, %rdi
movl %r15d, %esi
callq 0x4c28
decl %eax
cmpl %eax, %ebp
jge 0x516a
movq %r14, %rdi
leaq 0x819c(%rip), %rsi      # 0xd2fd
callq 0x21b0
incl %ebp
jmp 0x5146
movq %rbx, %rdi
movl %r15d, %esi
callq 0x4c28
testl %eax, %eax
jle 0x5130
movq %r14, %rdi
leaq 0x8180(%rip), %rsi      # 0xd303
callq 0x21b0
movq %r14, %rdi
leaq 0x8179(%rip), %rsi      # 0xd30b
callq 0x21b0
jmp 0x5130
movq %r14, %rdi
callq 0x20f0
movq 0x20(%rsp), %rcx
incl %ecx
jmp 0x4d6d
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x51be
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x20e0
movq %rbx, %rdi
callq 0x22a0
nop