eSrSSKJr SSKrSSKrSSKrSSKJrJr SSKJrJrJ r /SQr Sr Sr Sr SrS rS rS rS rS rSr\\4Sjr\\4Sjrg)zPseudo terminal utilities.)selectN)closewaitpid)setraw tcgetattr tcsetattr)openptyforkspawnc[R"5$![[4a Of=f[ 5up[ U5nX4$)z`openpty() -> (master_fd, slave_fd) Open a pty master/slave pair, using os.openpty() if possible.)osr AttributeErrorOSError_open_terminal slave_open) master_fd slave_nameslave_fds )/opt/imh/python3.13/lib/python3.13/pty.pyr r sH zz| G $   *,I*%H  s **cSSKnURS[SS9 [R"5up[R "U5n[R "U5 X4$![[4a [5$f=f)zmaster_open() -> (master_fd, slave_name) Open a pty master and return the fd, and the filename of the slave end. Deprecated, use openpty() instead.rNUse pty.openpty() instead.r  stacklevel) warningswarnDeprecationWarningrr ttynamerrrr)rrrrs r master_openr &sw  MM.0BqMQ% jjl ZZ)  $$ G $    sA!!A=<A=cSHFnSH=nSU-U-n[R"U[R5nUSU-U-4s s $ MH [S5e![a M]f=f)z1Open pty master and return (master_fd, tty_name).pqrstuvwxyzPQRST0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)ropenO_RDWRr)xypty_namefds rrr9su #A!A~)H WWXryy1 Q*+ + $  & ''  s%A A&%A&cSSKnURS[SS9 [R"U[R 5nSSKJnJn U"X$S5 U"X$S5 U$![a Us$f=f![a U$f=f) zslave_open(tty_name) -> slave_fd Open the pty slave and acquire the controlling terminal, returning opened filedescriptor. Deprecated, use openpty() instead.rNrr r)ioctlI_PUSHptemldterm) rrrrr$r%fcntlr+r, ImportErrorr)tty_namerresultr+r,s rrrEs  MM.0BqMQ WWXryy )F'  ff% fh' M     M s$A A/ A,+A,/ A=<A=c[R"5upU[:Xa[R"5 X4$X4$![a X4$f=f![ [4a Of=f[ 5up#[R"5nU[:Xa/[R"U5 [R"U5 X4$[R"U5 X4$)z`fork() -> (pid, master_fd) Fork and make the child a session leader with a controlling terminal.) rforkptyCHILDsetsidrrr r r login_tty)pidr)rrs rr r Zs **, %<  wsw w  G $   ")I '')C e|  X >  >s A? A AA$#A$c0[R"US5$)zDefault read function.i)rread)r)s r_readr;vs 772t c[R"U5(a:[R"US5 [XUS9 [R"US5 gSnU[:gnU[ :gnSnSn/n/n U(a$[ U5U:aUR[5 U(a [ U5U:aURU5 U(a$[ U5S:aU R[ 5 [ U5S:aU RU5 [X/5upn [ U ;a [R"[ U5n X{SnX;aU"U5n U (dgX|- nX ;a[R"X5n XkSnU(a$[U;aU"[5n U (dSnOXl- nGMA![R"US5 f=f![a SnNf=f![a Sn Nf=f)zParent copy loop. Copies pty master -> standard output (master_read) standard input -> pty master (stdin_read)F) master_read stdin_readTNir<r) r get_blocking set_blocking_copy STDIN_FILENO STDOUT_FILENOlenappendrwriter) rr>r?high_waterlevel stdin_avail stdout_availi_bufo_bufrfdswfds_xfdsndatas rrBrBzs  y!!  5) - ) L OOIt ,O|+K -L E E  3u:7 KK % CJ8 KK " CJN KK & u:> KK ""4r2E D  %HH]E2b    "9- ME  *A"IE <4/l+D#  U  OOIt ,2 %$  %  s/ F0*G G0G  GG G-,G-c,[U[5(aU4n[R"SU5 [ 5up4U[ :Xa[ R"US/UQ76 [[5n[[5 Sn[XAU5 U(a[[[RW5 [!U5 [#US5S$![Ra SnNef=f!U(a [[[RW5 ff=f)zCreate a spawned process.z pty.spawnrTFr ) isinstancestrsysauditr r5rexeclprrCrttyerrorrBr TCSAFLUSHrr)argvr>r?r8rmoderestores rr r s$wIIk4 VNC e| $q'!D!&|9 ij1  lCMM4 8 ) 3?1  99  lCMM4 8 s! C C*C'&C'*)D)__doc__rrrUrXrrrrr__all__rCrD STDERR_FILENOr5r r rrr r;rBr r<rrbsq  ,, &     & (*8"'5?B"er<