o ckF[ @shddlmZddlZddlZz ddlZddlZdZWn ey%dZYnwddZddZ d d Z dS) )print_functionNTFcCstrt|dSt|dS)N) has_termios posix_shell windows_shell)chanr:/usr/lib/python3/dist-packages/boto/mashups/interactive.pyinteractive_shell s  r c Cs.ddl}ttj}zttjttj| d ||tjggg\}}}||vr]z | d}t |dkrFt dddWn/tj |tj Wn tjy\Ynwtj|vrttjd}t |dkron||q!Wttjtj|dSWttjtj|dSttjtj|w) NrgTiz *** EOF  )end)selecttermios tcgetattrsysstdinttysetrawfileno setcbreak settimeoutrecvlenprintstdoutwriteflushsockettimeoutreadsend tcsetattr TCSADRAIN)rr oldttyrwexrrrr's:           *rcCsnddl}tjddd}|j||fd}|z tjd}|s'WdS||qt y6YdSw)NrzALine-buffered terminal emulation. Press F6 or ^Z to send EOF. cSsB |d}|stjdtjdStj|tjq)NTz *** EOF *** )rrrrr)sockdatarrrwriteallLs     zwindows_shell..writeall)targetargsTr ) threadingrrrThreadstartrrr EOFError)rr.r+writerdrrrrGs     r) __future__rrrrrr ImportErrorr rrrrrrs