// File: /workspace/github_cpp_makefile_star2_O1/jweinst1[P]Pages/src/story/MakeStory.cpp
// Function: MakeStory::one()
void MakeStory::one(void)
{
        StoryEvent event;
        StoryMap smap;

        StoryObject obj1("ball");
        obj1.pushDeterminer("the");
        obj1.pushDeterminer("a");

        obj1.pushDescriptor("red");
        obj1.pushDescriptor("blue");
        obj1.pushDescriptor("pink");
        obj1.pushDescriptor("orange");
        obj1.pushDescriptor("fluffy");
        obj1.pushDescriptor("purple");
        obj1.pushDescriptor("round");
        obj1.pushDescriptor("dull");
        obj1.pushDescriptor("gloomy");
        obj1.pushDescriptor("dim");

        obj1.pushAction("bounces toward");
        //obj1.pushAction("bounces");
        obj1.pushAction("rolls toward");

        smap.putObject("ball", obj1);

        StoryAction act1("bounces toward");
        act1.pushAdverb("quickly");
        act1.pushAdverb("slowly");
        act1.pushAdverb("cautiously");
        act1.pushObject("school");
        act1.pushObject("park");
        smap.putAction("bounces toward", act1);

        StoryAction act2("rolls toward");
        act2.pushAdverb("quickly");
        act2.pushAdverb("swiftly");
        act2.pushAdverb("nervously");
        act2.pushObject("school");
        act2.pushObject("park");
        smap.putAction("rolls toward", act2);

        StoryObject obj2("school");
        obj2.pushDeterminer("a");

        obj2.pushDescriptor("large");
        obj2.pushDescriptor("huge");
        obj2.pushDescriptor("prestigious");

        smap.putObject("school", obj2);

        StoryObject obj3("park");
        obj3.pushDeterminer("a");

        obj3.pushDescriptor("small");
        obj3.pushDescriptor("lush");
        obj3.pushDescriptor("precious");
        obj3.pushDescriptor("greenish");
        obj3.pushDescriptor("quaint");

        smap.putObject("park", obj3);

        event << obj1;
        const StoryAction& newAction = smap.getAction(obj1.getAction());
        event << newAction << StoryPart::Space;
        const StoryObject& newObject = smap.getObject(newAction.getObject());
        event << newObject;
        event << StoryPart::Period << StoryPart::Newline;
        std::cout << event.getString();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
leaq -0x48(%rbp), %rdi
callq 0x2aa0
leaq -0x1d8(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x1a8(%rbp), %rax
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x2c36(%rip), %rsi      # 0x402a
leaq -0x118(%rbp), %rdi
callq 0x2df8
leaq 0x2c28(%rip), %rsi      # 0x402f
leaq -0x118(%rbp), %rdi
callq 0x1bac
leaq 0x2c19(%rip), %rsi      # 0x4033
leaq -0x118(%rbp), %rdi
callq 0x1bac
leaq 0x2c08(%rip), %rsi      # 0x4035
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bf9(%rip), %rsi      # 0x4039
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2beb(%rip), %rsi      # 0x403e
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bdd(%rip), %rsi      # 0x4043
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bd1(%rip), %rsi      # 0x404a
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bc5(%rip), %rsi      # 0x4051
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bb9(%rip), %rsi      # 0x4058
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2bac(%rip), %rsi      # 0x405e
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2b9e(%rip), %rsi      # 0x4063
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq 0x2b92(%rip), %rsi      # 0x406a
leaq -0x118(%rbp), %rdi
callq 0x1a38
leaq -0xd8(%rbp), %rbx
leaq 0x2b7c(%rip), %rsi      # 0x406e
movq %rbx, %rdi
callq 0x1bac
leaq 0x2b7c(%rip), %rsi      # 0x407d
movq %rbx, %rdi
callq 0x1bac
leaq 0x2b1a(%rip), %rsi      # 0x402a
leaq -0xb0(%rbp), %rdi
callq 0x2efc
leaq -0x1e0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0x118(%rbp), %rdx
callq 0x1a8c
leaq -0xb0(%rbp), %rdi
callq 0x3040
leaq 0x2b25(%rip), %rsi      # 0x406e
leaq -0x228(%rbp), %rdi
callq 0x2a78
leaq -0x200(%rbp), %rbx
leaq 0x2b27(%rip), %rsi      # 0x408a
movq %rbx, %rdi
callq 0x1bac
leaq 0x2b20(%rip), %rsi      # 0x4092
movq %rbx, %rdi
callq 0x1bac
leaq 0x2b18(%rip), %rsi      # 0x4099
movq %rbx, %rdi
callq 0x1bac
leaq -0x220(%rbp), %r14
leaq 0x2b0d(%rip), %rsi      # 0x40a4
movq %r14, %rdi
callq 0x1bac
leaq 0x2b05(%rip), %rsi      # 0x40ab
movq %r14, %rdi
callq 0x1bac
leaq 0x2ab9(%rip), %rsi      # 0x406e
leaq -0xb0(%rbp), %rdi
callq 0x2efc
leaq -0x1e0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0x228(%rbp), %rdx
callq 0x1af2
leaq -0xb0(%rbp), %rdi
callq 0x3040
leaq 0x2a8f(%rip), %rsi      # 0x407d
leaq -0x270(%rbp), %rdi
callq 0x2a78
leaq -0x248(%rbp), %r15
leaq 0x2a82(%rip), %rsi      # 0x408a
movq %r15, %rdi
callq 0x1bac
leaq 0x2a99(%rip), %rsi      # 0x40b0
movq %r15, %rdi
callq 0x1bac
leaq 0x2a92(%rip), %rsi      # 0x40b8
movq %r15, %rdi
callq 0x1bac
leaq -0x268(%rbp), %r12
leaq 0x2a68(%rip), %rsi      # 0x40a4
movq %r12, %rdi
callq 0x1bac
leaq 0x2a60(%rip), %rsi      # 0x40ab
movq %r12, %rdi
callq 0x1bac
leaq 0x2a23(%rip), %rsi      # 0x407d
leaq -0xb0(%rbp), %rdi
callq 0x2efc
leaq -0x1e0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0x270(%rbp), %rdx
callq 0x1af2
leaq -0xb0(%rbp), %rdi
callq 0x3040
leaq 0x2a11(%rip), %rsi      # 0x40a4
leaq -0xb0(%rbp), %rdi
callq 0x2df8
leaq 0x298d(%rip), %rsi      # 0x4033
leaq -0xb0(%rbp), %rdi
callq 0x1bac
leaq 0x2a09(%rip), %rsi      # 0x40c2
leaq -0xb0(%rbp), %rdi
callq 0x1a38
leaq 0x29fc(%rip), %rsi      # 0x40c8
leaq -0xb0(%rbp), %rdi
callq 0x1a38
leaq 0x29ee(%rip), %rsi      # 0x40cd
leaq -0xb0(%rbp), %rdi
callq 0x1a38
leaq 0x29b2(%rip), %rsi      # 0x40a4
leaq -0x180(%rbp), %rdi
callq 0x2efc
leaq -0x1e0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
callq 0x1a8c
leaq -0x180(%rbp), %rdi
callq 0x3040
leaq 0x2980(%rip), %rsi      # 0x40ab
leaq -0x180(%rbp), %rdi
callq 0x2df8
leaq 0x28f5(%rip), %rsi      # 0x4033
leaq -0x180(%rbp), %rdi
callq 0x1bac
leaq 0x2988(%rip), %rsi      # 0x40d9
leaq -0x180(%rbp), %rdi
callq 0x1a38
leaq 0x297b(%rip), %rsi      # 0x40df
leaq -0x180(%rbp), %rdi
callq 0x1a38
leaq 0x296d(%rip), %rsi      # 0x40e4
leaq -0x180(%rbp), %rdi
callq 0x1a38
leaq 0x2963(%rip), %rsi      # 0x40ed
leaq -0x180(%rbp), %rdi
callq 0x1a38
leaq 0x2959(%rip), %rsi      # 0x40f6
leaq -0x180(%rbp), %rdi
callq 0x1a38
leaq 0x28fb(%rip), %rsi      # 0x40ab
leaq -0x30(%rbp), %rdi
callq 0x2efc
leaq -0x1e0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x180(%rbp), %rdx
callq 0x1a8c
leaq -0x30(%rbp), %rdi
callq 0x3040
leaq -0x48(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x2d40
callq 0x1050
cltq
cqto
idivq -0xc0(%rbp)
leaq (,%rdx,8), %rsi
addq -0xd8(%rbp), %rsi
leaq -0x1b0(%rbp), %r13
movq %r13, %rdi
callq 0x2540
movq %rax, %r14
leaq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x2d90
movq %rax, %rdi
xorl %esi, %esi
callq 0x2bf6
callq 0x1050
cltq
cqto
idivq 0x20(%r14)
leaq (,%rdx,8), %rsi
addq 0x8(%r14), %rsi
leaq -0x1e0(%rbp), %rdi
callq 0x1e76
leaq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x2d40
leaq -0x48(%rbp), %rdi
movl $0x2, %esi
callq 0x2bf6
movq %rax, %rdi
movl $0x3, %esi
callq 0x2bf6
movq -0x48(%rbp), %r14
testq %r14, %r14
je 0x18a1
movq %r14, %rdi
callq 0x1090
movq 0x5744(%rip), %rdi      # 0x6fd8
movq %r14, %rsi
movq %rax, %rdx
callq 0x1120
jmp 0x18bf
movq 0x5730(%rip), %rax      # 0x6fd8
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x11b0
leaq -0x180(%rbp), %rdi
callq 0x1b42
leaq -0xb0(%rbp), %rdi
callq 0x1b42
movq %r15, %rdi
callq 0x294c
movq %r12, %rdi
callq 0x294c
leaq -0x270(%rbp), %rdi
callq 0x3040
movq %rbx, %rdi
callq 0x294c
leaq -0x220(%rbp), %rdi
callq 0x294c
leaq -0x228(%rbp), %rdi
callq 0x3040
leaq -0x118(%rbp), %rdi
callq 0x1b42
movq %r13, %rdi
callq 0x299c
leaq -0x1e0(%rbp), %rdi
callq 0x2a06
leaq -0x48(%rbp), %rdi
callq 0x2aea
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x3040
jmp 0x19cd
jmp 0x19ca
jmp 0x19b9
movq %rax, %rbx
leaq -0x180(%rbp), %rdi
callq 0x3040
jmp 0x19d9
jmp 0x19b9
jmp 0x19c0
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x3040
jmp 0x19e5
jmp 0x19c0
jmp 0x19c5
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x3040
jmp 0x19f1
jmp 0x19c5
jmp 0x19ff
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x3040
jmp 0x1a02
jmp 0x19ff
movq %rax, %rbx
jmp 0x1a0e
jmp 0x19ca
movq %rax, %rbx
jmp 0x19d9
jmp 0x19ca
movq %rax, %rbx
jmp 0x19e5
movq %rax, %rbx
jmp 0x19f1
movq %rax, %rbx
leaq -0x180(%rbp), %rdi
callq 0x1b42
leaq -0xb0(%rbp), %rdi
callq 0x1b42
leaq -0x270(%rbp), %rdi
callq 0x1b74
leaq -0x228(%rbp), %rdi
callq 0x1b74
jmp 0x1a02
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x1b42
leaq -0x1b0(%rbp), %rdi
callq 0x299c
leaq -0x1e0(%rbp), %rdi
callq 0x2a06
leaq -0x48(%rbp), %rdi
callq 0x2aea
movq %rbx, %rdi
callq 0x11c0
nop