§ v<ˆj'1ãó"—ddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z m Z eje¦«Ze¦«Ze¦«ZdZgZdZdZdZGd„d e¦«ZGd „d e¦«Zd „Zd „ZGd„de¦«ZdS)éN)ÚLock)Úxauth)Ú get_helptextÚplatform_is_osxièé çš™™™™™¹?có—eZdZdS)ÚXStartTimeoutErrorN©Ú__name__Ú __module__Ú __qualname__©óúr/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pyvirtualdisplay/abstractdisplay.pyr r ó€€€€€Ø€Drr có—eZdZdS)Ú XStartErrorNr rrrrr$rrrcóò‡—dŠ tj‰¦«}n,#t$rt d¦«gcYSwxYwd}t j||¦«}ˆfd„|D¦«}d„|D¦«}|S)Nz/tmpz missing /tmpz.X*-lockcóP•—g|]"}tj ‰|¦«‘Œ#Sr)ÚosÚpathÚjoin)Ú.0ÚchildÚtmpdirs €rú z_lock_files..1s)ø€Ð 9Ð 9Ð 9¨%�"Œ'�,Š,�v˜uÑ %Ô %Ð 9Ð 9Ð 9rcóP—g|]#}tj |¦«¯!|‘Œ$Sr)rrÚisfile)rÚps rrz_lock_files..2s+€Ð -Ð -Ð -��2œ7Ÿ>š>¨!Ñ,Ô,Ð -ˆ!Ð -Ð -Ð -r)rÚlistdirÚFileNotFoundErrorÚlogÚwarningÚfnmatchÚfilter)ÚlsÚpatternÚnamesrs @rÚ _lock_filesr*(s�ø€Ø €FðÝ ŒZ˜Ñ Ô ˆˆøÝ ðððÝ � Š �NÑ#Ô#Ð#؈ ˆ ˆ ðøøøð€GÝ ŒN˜2˜wÑ 'Ô '€EØ 9Ð 9Ð 9Ð 9°5Ð 9Ñ 9Ô 9€BØ -Ð -�RÐ -Ñ -Ô -€BØ €Is…š&AÁAcóÒ—ttd„t¦«¦«¦«}t|¦«r&t t t |¦«dz¦«}nt }|S)Ncó„—t| d¦«d d¦«d¦«S)NÚXéú-r)ÚintÚsplit)Úxs rúz%_search_for_display..8s/€�C §¢¨¡ ¤ ¨Q¤× 5Ò 5°cÑ :Ô :¸1Ô =Ñ>Ô>€ré)ÚlistÚmapr*ÚlenÚmaxÚ_MIN_DISPLAY_NR)r'Údisplays rÚ_search_for_displayr;6sT€å �cÐ>Ð>Å Á Ä ÑNÔNÑ OÔ O€BÝ ˆ2�w„wð"Ý•o¥s¨2¡w¤w°¡{Ñ3Ô3ˆˆå!ˆà €NrcóŽ—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zed„¦«ZdS)ÚAbstractDisplayz8 Common parent for X servers (Xvfb,Xephyr,Xvnc) có¸—||_||_||_d|_d|_d|_d|_d|_d|_||_ d|_ d|_ d|_ t|¦«}d|v|_|jst d¦«t"j d¦«}|r=t d|¦«t)t+|¦«¦«|_nt-¦«rd|_| |¦«|r&t1j¦«st1j¦«‚||_d|_d|_dS)NFrz -displayfdz-displayfd flag is missing.ÚPYVIRTUALDISPLAY_DISPLAYFDzPYVIRTUALDISPLAY_DISPLAYFD=%s)Ú _extra_argsÚ_retriesÚ_programÚstdoutÚstderrÚold_display_varÚ_subprocr:Ú _is_startedÚ_manage_global_envÚ_reset_global_envÚ _pipe_wfdÚ_retries_currentrÚ_has_displayfdr#ÚdebugrÚenvironÚgetÚboolr0rÚ _check_flagsrÚ is_installedÚ NotFoundErrorÚ _use_xauthÚ _old_xauthÚ_xauth_filename)ÚselfÚprogramÚ use_xauthÚretriesÚ extra_argsÚmanage_global_envÚhelptextr?s rÚ__init__zAbstractDisplay.__init__FsY€Ø%ˆÔ؈Œ ؈Œ ؈Œ ؈Œ Ø#ˆÔ؈Œ ؈Œ Ø ˆÔØ"3ˆÔØ!&ˆÔ؈ŒØ !ˆÔå Ñ(Ô(ˆØ*¨hÐ6ˆÔØÔ"ð 5Ý �IŠIÐ3Ñ 4Ô 4Ð 4Ý%'¤Z§^¢^Ð4PÑ%QÔ%QÐ"Ø %ð ,Ý �IŠIÐ5Ð7QÑ RÔ RÐ Rå"&¥sÐ+EÑ'FÔ'FÑ"GÔ"GˆDÔ Ð õÑ Ô ð ,Ø&+�Ô#à ×Ò˜(Ñ#Ô#Ð#à ð (�UÔ/Ñ1Ô1ð (ÝÔ%Ñ'Ô'Ð 'à#ˆŒØˆŒØ#ˆÔÐÐrcó—dS©Nr)rWr]s rrQzAbstractDisplay._check_flagsls€Ø ˆrcó—t¦«‚r`)ÚNotImplementedError©rWs rÚ_cmdzAbstractDisplay._cmdos€Ý!Ñ#Ô#Ð#rcó(—|r|jn|j}|€Ut d¦« tjd=dS#t $rt d¦«YdSwxYwt d|¦«|tjd<dS)z” on: * True -> set $DISPLAY to virtual screen * False -> set $DISPLAY to original screen :param on: bool Nzunset $DISPLAYÚDISPLAYz$DISPLAY was already unset.zset $DISPLAY=%s)Únew_display_varrEr#rMrrNÚKeyErrorr$)rWÚonÚds rÚ_redirect_displayz!AbstractDisplay._redirect_displayrs¦€ð%'Ð @ˆDÔ Ð ¨DÔ,@ˆØ ˆ9Ý �IŠIÐ&Ñ 'Ô 'Ð 'ð ;Ý”J˜yÐ)Ð)Ð)øÝð ;ð ;ð ;Ý— ’ Ð9Ñ:Ô:Ð:Ð:Ð:Ð:ð ;øøøõ �IŠIÐ'¨Ñ +Ô +Ð +Ø$%�BŒJ�yÑ !Ð !Ð !s® =½$A%Á$A%cóV—tj ¦«}|j|d<|S)Nrf)rrNÚcopyrg)rWÚenvs rÚ_envzAbstractDisplay._env…s$€ÝŒj�oŠoÑÔˆØÔ-ˆˆI‰Øˆ rcóî—|jrt|d¦«‚d|_|jr| ¦«n•d} |dz|_ | ¦«nr#t$rdt  d|dz¦«tj d¦«|dz }||j krtd|j ›d|j ›�¦«‚YnwxYwŒ’|j r|  d¦«d|_d Sd S) z5 start display :rtype: self zDisplay was started twice.Trr.zstart failed %sçš™™™™™©?zNo success after z retries. Last stderr: N)rGrrLÚ_start1_has_displayfdrKÚ_start1r#r$ÚtimeÚsleeprArDrHrkrI)rWÚis rÚstartzAbstractDisplay.startŠs<€ð Ô ð BݘdÐ$@ÑAÔAÐ A؈Ôà Ô ð Ø × &Ò &Ñ (Ô (Ð (Ð (àˆAð Ø()¨A©�Ô%ð Ø—L’L‘N”N�NØøÝ"ðððÝ—K’KÐ 1°1°q±5Ñ9Ô9Ð9Ý”J˜tÑ$Ô$Ð$ؘ‘F�AؘDœMÒ)Ð)Ý)˜kà#œ}˜}˜}¨d¬k¨kð;ñôðð*Ð)ð øøøð ð Ô "ð *Ø × "Ò " 4Ñ (Ô (Ð (Ø%)ˆDÔ "Ð "Ð "ð *ð *sÁ AÁA+C à C có2—t5|r>tj|j|jgtjtjd¬¦«|_n6tj|jtjtjd¬¦«|_ddd¦«dS#1swxYwYdS)NF)Úpass_fdsrCrDÚshell)rCrDrz)Ú _mutex_popenÚ subprocessÚPopenÚ_commandrJÚPIPErF)rWÚ use_pass_fdss rÚ_popenzAbstractDisplay._popenªsÖ€Ý ð ð Øð Ý *Ô 0Ø”MØ"œnÐ-Ý%œ?Ý%œ?Øð !ñ!ô!�” � õ!+Ô 0Ø”MÝ%œ?Ý%œ?Øð !ñ!ô!�” ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sˆA7B  BÂBcóJ—tj¦«\}|_| ¦«|jz|_t  d|j¦«| d¬¦«t|  |¦«¦«|_ tj |¦«tj |j¦«dt|j ¦«z|_ |jr| ¦«tj dd¦«|_dS)Nú command: %sT©r€ú:%srf)rÚpiperJrdr@r~r#rMr�r0Ú_wait_for_pipe_textr:ÚclosergrTÚ _setup_xauthrNrOrE)rWÚrfds rrrz%AbstractDisplay._start1_has_displayfd¼sä€å œg™iœiшˆTŒ^àŸ š ™ œ  dÔ&6Ñ6ˆŒ Ý � Š �- ¤Ñ/Ô/Ð/à � Š  ˆ Ñ&Ô&Ð&å˜4×3Ò3°CÑ8Ô8Ñ9Ô9ˆŒ Ý Œ�‰ Œ ˆ Ý Œ�”Ñ Ô Ð à$¥s¨4¬<Ñ'8Ô'8Ñ8ˆÔà Œ?ð Ø × Ò Ñ Ô Ð õ "œzŸ~š~¨i¸Ñ>Ô>ˆÔÐÐrcó—t5t¦«|_|jtvr|xjdz c_|jtv°dt |j¦«z|_t |j¦«ddd¦«n #1swxYwY| ¦«|jz|_ t  d|j ¦«|  d¬¦«dt |j¦«z|_|j r| ¦«tj dd¦«|_t'j¦«}|j}d}t'jd¦« | ¦«s�n t-jd g| ¦«t,jt,jd¬ ¦«}| ¦«\}}|j}nE#t8$r8t d ¦«t'jt<¦«d}YndwxYw|d krnt d |¦«d}n;t'j¦«|z t@krnt'jtB¦«�Œ| ¦«s4t d|j"¦«d}tG||z¦«‚|sd}tI|||j"fz¦«‚dS)Nr.r…rƒFr„rfrqTÚxdpyinfo)rnrCrDrzzLxdpyinfo was not found, X start can not be checked! Please install xdpyinfo!rz)Successfully started X with display "%s".zprocess exited early. stderr:%szFailed to start process: %szGFailed to start X on display "%s" (xdpyinfo check failed, stderr:[%s]).)%Ú_mutexr;r:Ú_USED_DISPLAY_NR_LISTr0rgÚappendrdr@r~r#rMr�rTr‰rrNrOrErtruÚis_aliver|r}rorÚ communicateÚ returncoder"r$Ú _X_START_WAITÚinfoÚ_X_START_TIMEOUTÚ_X_START_TIME_STEPrDrr )rWÚ start_timerjÚokrŒÚ_Ú exit_codeÚmsgs rrszAbstractDisplay._start1Òs€Ý ð 7ð 7Ý.Ñ0Ô0ˆDŒLØ”,Õ"7Ð7Ð7Ø� ”  Ñ!� ” ð”,Õ"7Ð7Ð7à#(­3¨t¬|Ñ+<Ô+<Ñ#<ˆDÔ å !× (Ò (¨¬Ñ 6Ô 6Ð 6ð  7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7🠚 ™ œ  dÔ&6Ñ6ˆŒ Ý � Š �- ¤Ñ/Ô/Ð/à � Š  ˆ Ñ'Ô'Ð'à$¥s¨4¬<Ñ'8Ô'8Ñ8ˆÔà Œ?ð Ø × Ò Ñ Ô Ð õ "œzŸ~š~¨i¸Ñ>Ô>ˆÔõ”Y‘[”[ˆ à Ô ˆØ ˆÝ Œ �4ÑÔÐð+ +Ø—=’=‘?”?ð Ùð Ý%Ô+Ø�LØŸ š ™ œ Ý%œ?Ý%œ?Øð ñô�ð ×+Ò+Ñ-Ô-‘��1Ø$Ô/� � øÝ$ð ð ð Ý— ’ Øbñôðõ” �=Ñ)Ô)Ð)Ø�Ø�ð  øøøð(˜AŠ~ˆ~Øå—’ÐDÀaÑHÔHÐHØ�ØåŒy‰{Œ{˜ZÑ'Õ+;Ò;Ð;ØÝ ŒJÕ)Ñ *Ô *Ð *ñW+ +ðX�}Š}‰Œð *Ý �KŠKÐ9¸4¼;Ñ GÔ GÐ GØ/ˆCݘc D™jÑ)Ô)Ð )Øð AØ[ˆCÝ$ S¨A¨x¬Ð+?Ñ%?Ñ@Ô@Ð @ð Að As%ˆA;BÂBÂBÆAG4Ç4?H6È5H6có—d}tj¦«} tj|gggd¦«\}}}| ¦«s&t|j›d|j›d|j›�¦«‚||vr4tj|d¦«}|dkrnR||  d¦«z }tj¦«|z d krtd |j›d |j›�¦«‚ŒÈ|S) NÚTrz program closed. command: z stderr: r.ó ÚasciiiXzNo reply from program z . command:) rtÚselectr�rrBr~rDrÚreadÚdecoder )rWrŠÚsr—Úrfd_changed_lsr™Úcs rr‡z#AbstractDisplay._wait_for_pipe_text#s€Ø ˆÝ”Y‘[”[ˆ ð Ý%+¤]°C°5¸"¸bÀ#Ñ%FÔ%FÑ "ˆ^˜Q Ø—=’=‘?”?ð Ý!à”}�}�} d¤m m m°T´[°[ðBñôðð�nÐ$Ð$Ý”G˜C ‘O”O�ؘ’:�:ØØ�Q—X’X˜gÑ&Ô&Ñ&�õŒy‰{Œ{˜ZÑ'¨3Ò.Ð.Ý(Ð(𜠘 ˜ Øœ ˜ ðñôðð ð,ˆrcó¼—|jstd¦«‚|jr| d¦«| ¦«rz |j ¦«n2#t$r%}t  d|¦«Yd}~nd}~wwxYw|j  ¦«|  ¦«|j r|  ¦«|S)z4 stop display :rtype: self z stop() is called before start().Fzexception in terminate:%sN)rGrrIrkr�rFÚkillÚOSErrorr#rMÚwaitÚ_read_stdout_stderrrTÚ _clear_xauth)rWÚoserrors rÚstopzAbstractDisplay.stop>sû€ð Ôð BÝÐ@ÑAÔAÐ Aà Ô !ð *Ø × "Ò " 5Ñ )Ô )Ð )à �=Š=‰?Œ?ð 'ð @Ø” ×"Ò"Ñ$Ô$Ð$Ð$øÝð @ð @ð @Ý— ’ Ð5°wÑ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?øøøøð @øøøð ŒM× Ò Ñ Ô Ð Ø × $Ò $Ñ &Ô &Ð &Ø Œ?ð Ø × Ò Ñ Ô Ð Øˆ sÁA"Á" BÁ,B  Bcóä—|j€h|j ¦«\|_|_t d|j¦«t d|j¦«dSdS)Nz stdout=%sz stderr=%s)rCrFr‘rDr#rMrcs rrªz#AbstractDisplay._read_stdout_stderrVs`€Ø Œ;Ð Ø)-¬×)BÒ)BÑ)DÔ)DÑ &ˆTŒ[˜$œ+å �IŠI�k 4¤;Ñ /Ô /Ð /Ý �IŠI�k 4¤;Ñ /Ô /Ð /Ð /Ð /ð Ð rcó†—tjdd¬¦«\}}||_tj|¦«i|_tjd¦«|jd<tjd¦«|jd<|xtjd<tjd<tj ¦«}tj d|j d|¦«dS) zU Set up the Xauthority file and the XAUTHORITY environment variable. zPyVirtualDisplay.z .Xauthority)ÚprefixÚsuffixÚAUTHFILEÚ XAUTHORITYÚaddú.N) ÚtempfileÚmkstemprVrrˆrUÚgetenvrNrÚgenerate_mcookieÚcallrg)rWÚhandleÚfilenameÚcookies rr‰zAbstractDisplay._setup_xauth]s·€õ$Ô+Ø&¨}ð ñ ô ш�ð (ˆÔÝ Œ�ÑÔÐàˆŒÝ&(¤i° Ñ&;Ô&;ˆŒ˜ Ñ#Ý(*¬ °,Ñ(?Ô(?ˆŒ˜ Ñ%à•” ˜7Ñ#Ð#؈Œˆˆrcó.—| ¦«|S)ú%used by the :keyword:`with` statement)rwrcs rÚ __enter__zAbstractDisplay.__enter__{s€à � Š ‰ Œ ˆ ؈ rcó.—| ¦«dS)rÂN)r­)rWÚexc_infos rÚ__exit__zAbstractDisplay.__exit__€s€à � Š ‰ Œ ˆ ˆ ˆ rcóz—|jsdS|j ¦«}|�| ¦«|duS)NF)rFÚpollrª)rWÚrcs rr�zAbstractDisplay.is_alive„sE€ØŒ}ð Ø�5à Œ]× Ò Ñ !Ô !ˆØ ˆ>à × $Ò $Ñ &Ô &Ð &Ø�TˆzÐrcó,—|jr |jjSdS)zI PID (:attr:`subprocess.Popen.pid`) :rtype: int N)rFÚpidrcs rrËzAbstractDisplay.pid˜s#€ð Œ=ð %Ø”=Ô$Ð $ð %ð %rN)r r rÚ__doc__r^rQrdrkrorwr�rrrsr‡r­rªr‰r«rÃrÆr�ÚpropertyrËrrrr=r=AsA€€€€€ððð$$ð$$ð$$ðL ð ð ð$ð$ð$ð&ð&ð&ð&ððð *ð*ð*ð@ððð$?ð?ð?ð,OAðOAðOAðbððð6ððð00ð0ð0ð=ð=ð=ð$ ð ð ðððð ðððððð(ð%ð%ñ„Xð%ð%ð%rr=)r%Úloggingrr r|r¶rtÚ threadingrÚpyvirtualdisplayrÚpyvirtualdisplay.utilrrÚ getLoggerr r#r�r{r9rŽr•r–r“Ú Exceptionr rr*r;Úobjectr=rrrúrÕs{ðØ€€€Ø€€€Ø € € € Ø € € € ØÐÐÐØ€€€Ø € € € ØÐÐÐÐÐà"Ð"Ð"Ð"Ð"Ð"Ø?Ð?Ð?Ð?Ð?Ð?Ð?Ð?à€gÔ˜Ñ!Ô!€ð ˆ‰Œ€Øˆt‰vŒv€ ð€ØÐàÐØÐØ€ ð ð ð ð ð ˜ñ ô ð ð ð ð ð ð �)ñ ô ð ð ð ð ðððð_%ð_%ð_%ð_%ð_%�fñ_%ô_%ð_%ð_%ð_%r