Cracking CodeWhisperer: Analyzing Developers' Interactions and Patterns During Programming Tasks