403Webshell
Server IP : 74.208.236.16  /  Your IP : 216.73.217.15
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : u102440577 ( 7172810)
PHP Version : 8.4.26
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /kunden/lib/python3/dist-packages/mercurial/__pycache__/windows.cpython-313.pyc
�

6�h_����%SSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSK
JrJ
r
JrJrJrJrJrJrJrJrJrJrJr SSKJr SSKJrJrJrJrJ r J!r! \RD"S5r#\!RHr%\!RLr&\!RNr'\!RPr(\!RRr)\!RTr*\!RVr+\!RXr,\!RZr-\!R\r.\!R^r/\R`Rbr1\!Rdr2\!Rfr3\
Rh(aSESjr1S	r5S
\6S'"SS
5r7"SS5r8SFSjr9\#Rtr:SGSjr;"SS\ Rx5r=SHSjr>SISjr?SJSjr@SKSjrASLSMSjjrBSNSjrCSNSjrDSOSjrESPSjrFSPSjrGSPSjrHSPS jrI\R�"S!5rKS"\6S#'\R�"S$5rLS%\6S&'SQS'jrM\R�R�rPS
\6S('\R�rRSRS)jrSSSS*jrTSqUS+\6S,'SqVSTS-jrWSTS.jrXSUS/jrYSVS0jrZSWS1jr[\R�\R�1r^SXS2jr_SYSZS3jjr`SYS[S4jjraSPS5jrbS\S6jrcS]S7jrdS^S8jreS_S9jrfS`S:jrg"S;S<5rhSaSbS=jjriS>rjS\6S?'ScS@jrkScSAjrlSdSBjrmSGSCjrnSeSDjrog)f�)�annotationsN)
�Any�AnyStr�BinaryIO�Iterable�Iterator�List�Mapping�NoReturn�Optional�Pattern�Sequence�Tuple�Union�)�_)�encoding�error�policy�pycompat�typelib�win32�osutilc��[e�N��NotImplementedError)�ps �3/usr/lib/python3/dist-packages/mercurial/windows.py�splitr Cs��!�!���int�umaskc�l�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrg)�mixedfilemodewrapper�Ja	Wraps a file handle when it is opened in read/write mode.

fopen() and fdopen() on Windows have a specific-to-Windows requirement
that files opened with mode r+, w+, or a+ make a call to a file positioning
function when switching between reads and writes. Without this extra call,
Python will raise a not very intuitive "IOError: [Errno 0] Error."

This class wraps posixfile instances when the file is opened in read/write
mode and automatically adds checks or inserts appropriate file positioning
calls when necessary.
rr�c�`�[RUSU5 [RUSS5 g)N�_fp�_lastopr)�object�__setattr__��self�fps  r�__init__�mixedfilemodewrapper.__init__[s&�����4���+����4��A�.r!c�:�URR5 U$r�r*�	__enter__�r/s rr5�mixedfilemodewrapper.__enter___s���������r!c�<�URRXU5 gr�r*�__exit__)r/�exc_type�exc_val�exc_tbs    rr:�mixedfilemodewrapper.__exit__cs�������(�V�4r!c�.�[URU5$r��getattrr*�r/�names  r�__getattr__� mixedfilemodewrapper.__getattr__f����t�x�x��&�&r!c�8�URRX5$r)r*r-)r/rC�values   rr-� mixedfilemodewrapper.__setattr__is���x�x�#�#�D�0�0r!c�X�URRS[R5 g)Nr)r*�seek�os�SEEK_CURr6s r�	_noopseek�mixedfilemodewrapper._noopseekls�����
�
�a����%r!c�|�[RUSUR5 URR"U0UD6$�Nr+)r,r-�OPNONEr*rK�r/�args�kwargss   rrK�mixedfilemodewrapper.seekos0�����4��D�K�K�8��x�x�}�}�d�-�f�-�-r!c���URUR:XaUR5 [R	USUR
5 URRU5$rQ)r+�OPREADrNr,r-�OPWRITEr*�write)r/�ds  rrZ�mixedfilemodewrapper.writessE���<�<�4�;�;�&��N�N�����4��D�L�L�9��x�x�~�~�a� � r!c���URUR:XaUR5 [R	USUR
5 URR"U0UD6$rQ)r+rX�
_noopeseekr,r-rYr*�
writelinesrSs   rr_�mixedfilemodewrapper.writelineszsL���<�<�4�;�;�&��O�O�����4��D�L�L�9��x�x�"�"�D�3�F�3�3r!c���URUR:XaUR5 [R	USUR
5 URR"U0UD6$rQ)r+rYrNr,r-rXr*�readrSs   rrb�mixedfilemodewrapper.read�sJ���<�<�4�<�<�'��N�N�����4��D�K�K�8��x�x�}�}�d�-�f�-�-r!c���URUR:XaUR5 [R	USUR
5 URR"U0UD6$rQ)r+rYrNr,r-rXr*�readlinerSs   rre�mixedfilemodewrapper.readline�sL���<�<�4�<�<�'��N�N�����4��D�K�K�8��x�x� � �$�1�&�1�1r!c���URUR:XaUR5 [R	USUR
5 URR"U0UD6$rQ)r+rYrNr,r-rXr*�	readlinesrSs   rrh�mixedfilemodewrapper.readlines�sL���<�<�4�<�<�'��N�N�����4��D�K�K�8��x�x�!�!�4�2�6�2�2r!�N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rRrXrYr1r5r:rDr-rNrKrZr_rbrerh�__static_attributes__rjr!rr&r&JsT��
��F�
�F��G�/��5�'�1�&�.�!�4�.�2�3r!r&c�6�\rSrSrSrSrSrSrSrSr	Sr
g	)
�fdproxy�z]Wraps osutil.posixfile() to override the name attribute to reflect the
underlying file name.
c��XlX lgr)rCr*)r/rCr0s   rr1�fdproxy.__init__�s���	��r!c�:�URR5 U$rr4r6s rr5�fdproxy.__enter__�s���������r!c�<�URRXU5 grr9)r/r;�	exc_value�	tracebacks    rr:�fdproxy.__exit__�s�������(�y�9r!c�,�[UR5$r)�iterr*r6s r�__iter__�fdproxy.__iter__�s���D�H�H�~�r!c�.�[URU5$rr@rBs  rrD�fdproxy.__getattr__�rFr!)r*rCN)rkrlrmrnror1r5r:r~rDrprjr!rrrrr�s �����:��'r!rrc�R�[RXU5n[X5nSU;a URS[R
5 SU;a[
U5$U$![a@n[UR[R"U5<SUR<35eSnAff=f)z/Open a file with even more POSIX-like semantics�ar�+z: N)r�	posixfilerrrKrL�SEEK_ENDr&�OSError�errnor�strfromlocal�strerror)rC�mode�	bufferingr0�errs     rr�r��s���
�
�
�
�d�)�
4���T�
���4�<��G�G�A�r�{�{�#��4�<�'��+�+��	���
���I�I�8�#8�#8��#>����M�
�	
��
�s�AA�A�
B&�&;B!�!B&c��Sn[R"5nUS:XdUS:XaOUS:Xa[eUS:XaUSSnOX-nM@[R"S5 [R"S5 [R
"U5$)z�Prompt for password with echo off, using Windows getch().

This shouldn't be called directly- use ``ui.getpass()`` instead, which
checks if the session is interactive first.
��
�
��N���)�msvcrt�getwch�KeyboardInterrupt�putwchr�
unitolocal)�pw�cs  r�get_passwordr��s}��
�B�
��M�M�O����9��T�	����;�#�#���9��C�R��B���B���M�M�$��
�M�M�$�����r�"�"r!c�:�\rSrSrSrS
SjrSrSrSrSr	Sr
g	)�	winstdout��z�Some files on Windows misbehave.

When writing to a broken pipe, EINVAL instead of EPIPE may be raised.

When writing too many bytes to a console at the same, a "Not enough space"
error may happen. Python 3 already works around that.
c��Xlgr�r0r.s  rr1�winstdout.__init__�s���r!c�.�[URU5$r)rAr0)r/�keys  rrD�winstdout.__getattr__�s���t�w�w��$�$r!c�Z�URR5 g![a gf=fr)r0�closer�r6s rr��winstdout.close�s&��	��G�G�M�M�O���	��	�s��
*�*c�
�URRU5$![a[nURS:wa[R
"U5(deUR
5 [[RS5eSnAff=f)Nr�Broken pipe)r0rZr�r�r�lasterrorwaspipeerrorr��EPIPE)r/�s�insts   rrZ�winstdout.write�sb��	6��7�7�=�=��#�#���	6��z�z�Q��u�'B�'B�4�'H�'H���J�J�L��%�+�+�}�5�5��		6�s��
B�AA=�=Bc���URR5$![a;n[R"U5(de[[
RS5eSnAff=f)Nr�)r0�flushr�rr�r�r�)r/r�s  rr��winstdout.flushsL��	6��7�7�=�=�?�"���	6��.�.�t�4�4���%�+�+�}�5�5��	6�s��
A!�6A�A!r�N)r0r)rkrlrmrnror1rDr�rZr�rprjr!rr�r��s ����%��6�6r!r��boolc��g�NTrjrjr!r�
openhardlinksr�
���r!c�,�USSnUSS:XaUSSnU$)z<parses the output produced by patch and returns the filename�Nr�`rr�rj)�output_line�pfs  r�parsepatchoutputr�s)��	�R�S�	�B�	�!�u��}�
��"�X��
�Ir!c�b�SUR5;=(a S=(d SnU=(a SX!4-=(d UnURS5(dURS5(a"[R"[	S5U-5e[U5nU(aSU[U5U4-nU$)	z$Build argument list for ssh or Plinksplinks-Ps-ps%s@%s�-�/s9illegal ssh hostname or username starting with - or /: %ss%s %s %s)�lower�
startswithr�Abortr�
shellquote)�sshcmd�host�user�port�pflagrTs      r�sshargsr�s���
�����&�0�5�9�E�E��-�X���,�5��D����t������� 5� 5��k�k�
�J�K��
�
�	
��d��D���e�Z��%5�t�<�<���Kr!c��grrj)�f�l�xs   r�setflagsr�'s��r!c��grrj)�src�dstr��enforcewritables    r�copymoder�+s��	r!c��g�NFrj��paths r�	checkexecr�4���r!c��gr�rjr�s r�	checklinkr�8r�r!c��[USS5nUb7U"5S:�a+[R"U"5[R5 ggg)N�filenor)rAr��setmoderL�O_BINARY)�fd�fnos  r�	setbinaryr�<s:���"�h��
%�C�
��3�5�A�:����s�u�b�k�k�*�&�r!c�B�UR[RS5$)Nr�)�replacer�ossepr�s r�pconvertr�Ds���<�<�����-�-r!c�&�URSS5$)Nr��\)r�r�s r�	localpathr�Hs���<�<��e�$�$r!c�R�[[RRU55$r)r�rLr��normpathr�s rr�r�Ls���B�G�G�$�$�T�*�+�+r!c�.�[R"U5$r)r�upperr�s r�normcaser�Ps���>�>�$��r!s^[a-z]:zPattern[bytes]�
DRIVE_RE_Bz^[a-z]:zPattern[str]�
DRIVE_RE_Sc�>�[RRU5n[U[5(a5[
R
U5(aUSSR5USS-nU$[R
U5(aUSSR5USS-nU$)Nrr)	rLr��abspath�
isinstance�bytesr��matchr�r�)r��abs_paths  rr�r�Ys����w�w���t�$�H��(�E�"�"����H�%�%���!�}�*�*�,�x���|�;�H��O�
�	�	�(�	#�	#��A�a�=�&�&�(�8�A�B�<�7���Or!�normcasespecc��gr�rj)�s1�s2s  r�samestatr�mr�r!c�^�[U4SjS55(dT$[R"[R[R
-5S-nSnSn[
T5nXE:Ga�TXDS-nUS:Xa5TUS-Sm[
T5nTRS5nUS	TSU-S	--
nGOpUS
:Xa7TUS-Sm[
T5nTRS
5nTSUnUS
U-S
--
nGO3US:Xa�TUS-US-S
:XaXTUS-Sm[
T5nTRS5nTSUnURUS5S:waUS
U-S
--
nO�USU-S--
nO�SnUS-
nTXDS-nUS:wa"Xb;aXv-
nUS-
nTXDS-nUS:waXb;aMURUS5S:waUS
U-S
--
nOUSU--
nUS:waUS-nOZUS:XaUS-U:aTUS-US-S;aUS-
nO6US:Xa,US-U:a#TUS-US-S;aUTUS-US--
nUS-
nOX6-
nUS-
nXE:aGM�U$![a X6T--
nUS-
nN'f=f![a US
T--
nUS-
nNDf=f![a UST--
nUS-
nNaf=f)a=Convert shell variables in the form $var and ${var} inside ``path``
to %var% form.  Existing Windows style variables are left unchanged.

The variables are limited to the given environment.  Unknown variables are
left unchanged.

>>> e = {b'var1': b'v1', b'var2': b'v2', b'var3': b'v3'}
>>> # Only valid values are expanded
>>> shelltocmdexe(b'cmd $var1 ${var2} %var3% $missing ${missing} %missing%',
...               e)
'cmd %var1% %var2% %var3% $missing ${missing} %missing%'
>>> # Single quote prevents expansion, as does \$ escaping
>>> shelltocmdexe(b"cmd '$var1 ${var2} %var3%' \$var1 \${var2} \\", e)
'cmd "$var1 ${var2} %var3%" $var1 ${var2} \\'
>>> # $$ is not special. %% is not special either, but can be the end and
>>> # start of consecutive variables
>>> shelltocmdexe(b"cmd $$ %% %var1%%var2%", e)
'cmd $$ %% %var1%%var2%'
>>> # No double substitution
>>> shelltocmdexe(b"$var1 %var1%", {b'var1': b'%var2%', b'var2': b'boom'})
'%var1% %var1%'
>>> # Tilde expansion
>>> shelltocmdexe(b"~/dir ~\dir2 ~tmpfile \~/", {})
'%USERPROFILE%/dir %USERPROFILE%\\dir2 ~tmpfile ~/'
c3�,># �UH	oT;v� M g7frrj)�.0r�r�s  �r�	<genexpr>� shelltocmdexe.<locals>.<genexpr>�s����)�&�Q�D�y�&�s�s$'~s_-r!rr�'N�"�%�$r(�{�}s${�~)r�r�s
%USERPROFILE%r�)rr)
�anyr�sysbytes�string�
ascii_letters�digits�len�index�
ValueError�get)r��env�varchars�resr�pathlenr��vars`       r�
shelltocmdexerqsI���4�)�&�)�)�)���� � ��!5�!5��
�
�!E�F��N�H�

�C�
�E��$�i�G�
�/�����#����:����	��$�D��$�i�G�
$��
�
�5�)���t�d�6�E�l�*�T�1�1���$�Y����	��$�D��$�i�G�
)��
�
�4�(��
�6�E�l���t�c�z�D�(�(��
�$�Y��E�A�I���	�*�d�2��E�A�I�K�(���d�)��(� �J�J�t�,�E��v��,�C��w�w�s�C�(�C�/��t�c�z�D�0�0���u�s�{�T�1�1��
����
������+���3�h�1�=��H�C��Q�J�E��U�Q�Y�/�A��3�h�1�=��7�7�3��$��+��4�#�:��,�,�C��4�#�:�%�C���8��Q�J�E��
��I���	�G�#��U�Q�Y����+�}�<��#�#�C�
��J���	�G�#��U�Q�Y����+�|�;�
�4���	�E�A�I�.�.�C��Q�J�E��H�C�
��
��Y�/�Z�J��K�
$��4�x����!���
$���
$��t�d�{�"���!���
$��&"�(��5�4�<�'�C�#�a�K�E�(�s<�H,�I�7I%�I%�,I�I�I"�!I"�%I?�>I?zOptional[Pattern[bytes]]�_quoterec�"�[c[R"S5q[c [R"S5RqU(a,[U5(d[R	U5(dU$S[RSU5-$)aX
>>> shellquote(br'C:\Users\xyz')
'"C:\\Users\\xyz"'
>>> shellquote(br'C:\Users\xyz/mixed')
'"C:\\Users\\xyz/mixed"'
>>> # Would be safe not to quote too, since it is all double backslashes
>>> shellquote(br'C:\\Users\\xyz')
'"C:\\\\Users\\\\xyz"'
>>> # But this must be quoted
>>> shellquote(br'C:\\Users\\xyz/abc')
'"C:\\\\Users\\\\xyz/abc"'
s(\\*)("|\\$)s[^a-zA-Z0-9._:/-]s"%s"s\1\1\\\2)r�re�compile�_needsshellquote�search�sub�r�s rr�r��sn�����:�:�.�/�����:�:�&;�<�C�C���!�!�$�$�X�_�_�Q�-?�-?����X�\�\�,��2�2�2r!c�h�URS5(aURS5(aUSS$U$)Nrrr�)r��endswithrs r�_unquoter"s/���|�|�D���a�j�j��.�.���2�w���Hr!c�^�[R"[[R"USS95$)z3Parse a command string in cmd.exe way (best-effort)F)�posix)r�maplistr"�
shlexsplitrs r�
shellsplitr's"�����H�h�&9�&9�!�5�&I�J�Jr!c��gr�rj��sts r�isownerr+r�r!c��^�[RRSS5nUR5R	[
R5Vs/sHo"PM snm[RRU5SR5T;aS/mSU4Sjjn[
RU;aU"U5$[RRSS5R	[
R5H/nU"[RRX@55nUcM-Us $ U"[RR[RRU555$s snf)aFind executable for command searching like cmd.exe does.
If command is a basename then PATH is searched for command.
PATH isn't searched if command is an absolute or relative path.
An extension from PATHEXT is found and added if not present.
If command isn't found None is returned.sPATHEXTs.COM;.EXE;.BAT;.CMDrr!c�p>�TH/nX-n[RRU5(dM-Us $ g)z:Will append extension (if needed) and return existing fileN)rLr��exists)�pathcommand�ext�
executable�pathextss   �r�findexisting�findexe.<locals>.findexisting,s3����C�$�*�J��w�w�~�~�j�)�)�!�!��r!sPATH)r/r��return�Optional[bytes])r�environrr�r r�	ospathseprLr��splitextr��join�
expanduser�
expandvars)�command�pathextr0r3r�r1r2s      @r�findexer?!s������"�"�:�/E�F�G�&�}�}��4�4�X�5G�5G�H�I�H���H�I�H�	�w�w���� ��#�)�)�+�x�7��5����~�~�� ��G�$�$�� � �$�$�W�c�2�8�8��9K�9K�L��!�"�'�'�,�,�t�"=�>�
��!���M�����*�*�2�7�7�+=�+=�g�+F�G�H�H��'Js�E,c	#��# �0n[RnUH�n[U5n[RRU5upEU(dSnUR
US5nUc[[US5VVV	s0sH.upxn	U"U	R5[;dM"[U5U	_M0 n
nnn	URXJ5nUR
US5v� M� gs sn	nnf![[4a 0n
NEf=f7f)z�Stat each file in files. Yield each stat, or None if a file
does not exist or has a type we don't care about.

Cluster and cache stat per directory to minimize number of OS stat calls.�.NT)
�stat�S_IFMTr�rLr�r r�listdir�st_mode�_wantedkinds�FileNotFoundError�NotADirectoryError�
setdefault)�files�dircache�getkind�nf�dir�base�cache�n�kr��dmaps           r�	statfilesrTAs����
�H��k�k�G���
�b�\���G�G�M�M�"�%�	����C����S�$�'���=�
�$+�3��#5��#5���a��q�y�y�)�\�9�#�H�Q�K��N�#5����'�'��2�E��i�i��d�#�#�!����
&�'9�:�
���
�sB�A"C7�%C�5!C
�C
�*C�.*C7�C�C4�1C7�3C4�4C7c��U(d*[R"[R"55$g![a gf=f)zeReturn the name of the user with the given uid.

If uid is None, return the name of the current user.N)r�fsencode�getpass�getuser�ModuleNotFoundError)�uids r�usernamer[[sB���	��$�$�W�_�_�%6�7�7���#�	�
��	�s�(3�
A�Ac��g)zgReturn the name of the group with the given gid.

If gid is None, return the name of the current group.Nrj)�gids r�	groupnamer^js��r!c���[R"U5n[R"U5n[R"U5$![an[U5eSnAff=fr)r�fsdecoderL�readlinkr�AttributeErrorrV)r��path_str�link�es    rraraqsW��� � ��&�H� ��{�{�8�$�����T�"�"��
� �
�Q���� �s�A�
A�A�Ac���[U5(ag[R"U5 [RR	U5upU(d![RR	U5upU(acU(a[[U5(ag[R"U5 [RR	U5upU(a
U(aMYgggg![
[4a gf=f)z}special version of os.removedirs that does not remove symlinked
directories or junction points if they actually contain filesN)rDrL�rmdirr�r rr�)rC�head�tails   r�
removedirsrj~s����t�}�}���H�H�T�N������t�$�J�D���W�W�]�]�4�(�
��
�4�	��t�}�}���H�H�T�N��W�W�]�]�4�(�
���4�4�$�4�$��
�G�$�	��	�s�C�C�C/�.C/c��[R"X5 g![a$ [U5 [R"X5 gf=f)z=atomically rename file src to dst, replacing dst if it existsN)rL�rename�FileExistsError�unlink)r�r�s  rrlrl�s5���
�	�	�#������s��
�	�	�#���s��+A�Ac��[R/[RSS-Vs/sHn[R"U5PM sn$s snf)Nr)�sysr1�argvr�
strtolocal)�args r�gethgcmdrt�s=��14���0@�3�8�8�B�Q�<�0O�P�0O��H����$�0O�P�P��Ps� Ac��[er)�KeyError)rCs r�groupmembersrw�s��
�Nr!c��gr�rj)r�s r�isexecry�r�r!c�`�\rSrSr%S\S'S
SjrSSjr\RrSSjr	SSjr
Srg	)
�	cachestati��os.stat_resultrBc�:�[R"U5Ulgr)rLrB)r/r�s  rr1�cachestat.__init__�s���G�G�D�M��	r!c�@�[URR5$r)r�rB�st_inor6s r�	cacheable�cachestat.cacheable�s���D�I�I�$�$�%�%r!c��URRURR:H=(Ga� URRURR:H=(GaN URRURR:H=(Ga URRURR:H=(a� URR
URR
:H=(a� URRURR:H=(a} UR[RUR[R:H=(a; UR[RUR[R:H$![a gf=fr�)
rBr��st_dev�st_nlink�st_uid�st_gid�st_size�ST_MTIME�ST_CTIMErb�r/�others  r�__eq__�cachestat.__eq__�sT��	��	�	� � �E�J�J�$5�$5�5�J�J��I�I�$�$��
�
�(9�(9�9�J�J��I�I�&�&�%�*�*�*=�*=�=�J�J��I�I�$�$��
�
�(9�(9�9�J��I�I�$�$��
�
�(9�(9�9�	J�
�I�I�%�%����);�);�;�J��I�I�d�m�m�,��
�
�4�=�=�0I�I�
J��I�I�d�m�m�,��
�
�4�=�=�0I�I�	
���	��	�s�F7F:�:
G�Gc��X:X+$rrjr�s  r�__ne__�cachestat.__ne__�s��� � r!)rBN)r�r�r5�None�r5r�)r�rr5r�)rkrlrmrn�__annotations__r1r�r,�__hash__r�r�rprjr!rr{r{�s'��
��"�&����H��(!r!r{c���Uc![R[R4nO[U[[
45(dU4nUH�n[R"U[R"U55nSnUb[R"U5n[R"XE5Sn[R"U5sSSS5 s $ g!,(df   M�=f![a M�f=f)aLook up a key/value name in the Windows registry.

valname: value name. If unspecified, the default value for the key
is used.
scope: optionally specify scope for registry lookup, this can be
a sequence of scopes to look up in order. Default (CURRENT_USER,
LOCAL_MACHINE).
Nr)�winreg�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINEr��list�tuple�OpenKeyrr��QueryValueExr�r�)r��valname�scoper��hkeyrC�vals       r�	lookupregr��s���
�}��)�)�6�+D�+D�E��
���e�}�
-�
-����
��	�����8�#8�#8��#=�>�$����&�#�0�0��9�D��)�)�$�5�a�8�� �*�*�3�/�?�>��?�>���	��	�s1�	+C�4A
C
�>	C�
C	�C�C�
C-�,C-T�expandglobsc��g)z(check whether a stat result is a symlinkFrjr)s r�
statislinkr�����r!c��g)z1check whether a stat result is an executable fileFrjr)s r�
statisexecr��r�r!c��[5err)�fdss r�pollr��s��
�
�r!c��/n[R"U5nU(dO,URU5nU(dOURU5 MJSR	U5$)z$Read all available data from a pipe.r!)r�peekpiperb�appendr:)�pipe�chunks�sizer�s    r�readpiper�sS��
�F�
��~�~�d�#�����I�I�d�O�����
�
�a����8�8�F��r!c��[S5e)Nzunsupported platformr)�sockr�s  r�bindunixsocketr�s��
�4�
5�5r!)rr�r5zTuple[bytes, bytes])�rr�)r5r�r�)r�r�r5r�)
r�r�r�r�r�r6r�r6r5r�)r�r�r�r�r�r�r5r�r�)
r�r�r�r�r��
Optional[int]r�r�r5r�)r�r�r5r�)r5r�)r�r�r5r�)r�rr5r)r�r|r�r|r5r�)r�r�rzMapping[bytes, bytes]r5r�)r�r�r5r�)r�r�r5�List[bytes])r*r|r5r�)r=r�r5r6)rJzSequence[bytes]r5z"Iterator[Optional[os.stat_result]]r)rZr�r5r6)r]r�r5r6)rCr�r5r�)r�r�r�r�r5r�)r5r�)rCr�r5r�)r�r�r5r�)NN)r�r�r�r6r�z#Optional[Union[int, Iterable[int]]]r5r6)r*zOptional[os.stat_result]r5r�)r5r	)r�r�r5r)p�
__future__rr�rWr�rLrrBrrp�typingr�rrrrrr	r
rrr
rrr�i18nrr�rrrrrr�	importmodr�
getvolumename�getfsmountpoint�	getfstyperX�
hidewindow�makedir�nlinks�oslink�
samedevice�samefile�setsignalhandler�
spawndetachedr�r �testpidrn�
TYPE_CHECKINGr$r�r&rrr�rDr��BinaryIO_Proxyr�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r��
normcasespecsr�r��
upperfallback�normcasefallbackr�rrrr�r"r'r+r?�S_IFREG�S_IFLNKrFrTr[r^rarjrlrtrwryr{r�r�r�r�r�r�r�rjr!r�<module>r�s��#���
�	�	��
�
�
�
����� ���
�	�	�(�	#���%�%���O�O�	�
�-�-��
�
�
�
�
�-�-��	����	����
�
�
�
��>�>���)�)���#�#�
�
���
�
��
�-�-��	����	���"���s��J3�J3�Z'�'�2
�4�.�.��#�,$6��&�&�$6�N�������&5��=L��
��"	��!�		�	�	�	�	��	��		�

�	���+�.�%�,� � �Z�Z�
�3�
�N�3��:�:�i�0�
�L�0�� �*�*�0�0��c�0��)�)���o�z&*��
"�)���3�<
�K��I�:���d�l�l�+��$�4��
#�)�&�Q��
� !� !�J $�15�"�	�"�
�"�/�"��	"�J��T���
�
 �

� 6r!

Youez - 2016 - github.com/yon3zu
LinuXploit