he:ddlZddlZddlZddlZ ddlmZdZejddZ ejdZ ejde dzZ ejd d Z d Z gZgZej j#d e zZgd ZdZdZdZdZeZej j#de zZeedkDserJej5dej5de zej5dej5de zeedkDrej6j9ddZedkrdZeD]'Zej6j9deefzedz Z) ededz zZ e re dk(rdZ nK e!e Z e dk\re ekrn7edz Zd Z ejFj9d edkrn eedk(rdZ e dk\rkee dz dk(r2e d k(rejLddde gnDejLdde gn.ee dz dk(rejLe e gneee dz e d k(rejLd d gyejLddd gy#e$rYhwxYw#e$rdZ Y wxYw#e$re!e"e Z YwxYw#e$$r1ej6j9dejJdYe$r5e dk(se d k(rdZ Yedz Zd Z ejFj9dYUwxYw)!N)inputbyobuSHELLz /bin/bashHOMEBYOBU_CONFIG_DIRz/.byobu BYOBU_BACKENDtmuxz%s/.reuse-session)DISPLAYDBUS_SESSION_BUS_ADDRESSSESSION_MANAGERGPG_AGENT_INFOXDG_SESSION_COOKIEXDG_SESSION_PATHGNOME_KEYRING_CONTROLGNOME_KEYRING_PIDr SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PIDWINDOWID UPSTART_JOBUPSTART_EVENTSUPSTART_SESSIONUPSTART_INSTANCEcg}d}d}tdk(rf tjddgtjj d}tjj|jd}n)|jtjj}|r|jD]}tjdd |}|s|d k7s#|jd dk(s8t!|dkDsG|j#d dk(s\|j#d dk(sqt$j'd |j)z|j+d }|j'd |dz|dz }tdk(rtjddgtjj d}tjj|jd}n)|jtjj}|r|jD]}}|s|j-dr|jddk(s-t$j'd|j)z|j'd|j+ddz|dz }|S#tj $r'}|j dk7r|j}Yd}~d}~wwxYw)NrFscreenz-lsstdoutUTF-8z\s+ z..z._z screen: %sz screen____%sr list-sessions_-r ztmux: %sz tmux____%s:)r subprocessPopenPIPE communicateCalledProcessError returncodeoutputsysrencodingdecode splitlinesresubfindlencounttextappendstripsplit startswith)sessionsir,cpesitemss (/usr/lib/byobu/include/select-session.py get_sessionsrA0sM  X   h.z G S S UVW X6 ZZ MM' "6 MM#**-- .6     q vsAAQ#X166#;!+A qwwt}PQ?QVWV]V]^bVcghVh [[ )* WWS\U __^eAh./!VQ V   V_5joo N Z Z \]^ _&ZZ MM' "6 MM#**-- .6     qc"qvvc{b'8 [[aggi'( __\AGGCLO34!VQ  A  & & nn ZZF s8J""K5KKc ntdk(r+tjddgtjj d}t j j|jd}n)|jt j j}|syd|z}tj||tj}|syd|d|jd d }tj||tjD]-}tjdd d |jd dg/yy)Nr r"rrr z^%s:.+\((group [^\)]+)\).*$z^_z -\d+:.+\(rz\)$z kill-session-tr%)rr&r'r(r)r-rr.r/r1search MULTILINEgroupfindallr9) session_namer,patternmasterr>s r@ cull_zombiesrKZsV   V_5joo N Z Z \]^ _&ZZ MM' "6 MM#**-- .6  -| ;' 99Wfbll 3&   (4V\\!_ E' ::gvr|| 4Ea V^T1773<?CDE'c|jdd\}}tD]`}tj|}|s|dk(r ddd|||g}n dd|dd||g}t j |t tjd  by) N____r setenvrCrz-Sz-Xwr)r9BYOBU_UPDATE_ENVVARSosgetenvr&callopendevnull)sessionbackendrHvarvaluecmds r@update_environmentr]us} vq1, 6S ))C.%   8T<e user_inputintevalstderrKeyboardInterruptexitrdrLr@rzs.   ';'ryy299/ 1AB /62    37G HIS'TE6 6 : > WW^^/3CD E x=1   . >?  - 56x=1+,  qy!  a::LAq6)*61 0,A67J  b( F # _F kfqj  QJE FJJ/0- qyB ]a  Q; VaZE!f 299Ww u56 299Ww&'vzg% "))EE7&1*%&F 6F8 8h)*gJ J # j! "F# ::D 388A; 0 lfl F A:5 6::./ 0swI85J J,J J,!"J,8JJJ J,JJ,J)%J,(J))J,,2L!L4"LL