add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U


/�^�vc@sddlZddlZddlZddlmZdZe��dkZe��dkZe��dkZ	e��dkZ
dd	d
dg\ZZZ
ZeZeZGdd
�d
e�ZGdd�d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zdaa da!zddl"Z"Wne#k
�rdZ"YnXd$d%�Z$d&d'�Z%d(d)�Z&d*d+�Z'e	�rFeegZ(n>e�rXeeegZ(n,e
�rheegZ(ne�rvegZ(neeeeegZ(ej)d,k�r�e%ge(Z*nej)d-k�r�e&ge(Z*ne(Z*da+dd.�d/d0�Z,da-d=d1d2�Z.d3d4�Z/d5d6�Z0d7d8�Z1ed9�Z2ed:�Z3ed;�Z4ed<�Z5dS)>�N)�EnumzKa-Ping Yee <ping@zesty.ca>ZAIXZDarwinZLinuxZWindowszreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc@seZdZdZdZdZdS)�SafeUUIDr�����N)�__name__�
__module__�__qualname__ZsafeZunsafe�unknown�rr�/usr/lib64/python3.8/uuid.pyrFsrc@s6eZdZdZd<ejd�dd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zedd��Zed d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zed*d+��Zed,d-��Zed.d/��Zed0d1��Zed2d3��Zed4d5��Zed6d7��Z ed8d9��Z!ed:d;��Z"dS)=�UUID)�int�is_safeZ__weakref__N)rcCs�|||||g�d�dkr td��|dk	rl|�dd��dd�}|�d��dd�}t|�dkrbtd	��t|d
�}|dk	r�t|�d
kr�td��|ddd
�|ddd
�|ddd
�|dd�}|dk	r�t|�d
kr�td��tj|dd�}|dk	�rt|�dk�rtd��|\}}	}
}}}
d|k�r0dk�s:ntd��d|	k�rRdk�s\ntd��d|
k�rtdk�s~ntd��d|k�r�dk�s�ntd��d|k�r�dk�s�ntd��d|
k�r�dk�s�ntd ��|d>|B}|d!>|	d">B|
d#>B|d$>B|
B}|dk	�rDd|k�r:d%d&>k�sDntd'��|dk	�r�d%|k�rfdk�spntd(��|d)M}|d*O}|d+M}||d,>O}t�	|d-|�t�	|d.|�dS)/N�zGone of the hex, bytes, bytes_le, fields, or int arguments must be givenzurn:�zuuid:z{}�-� z$badly formed hexadecimal UUID string�z bytes_le is not a 16-char string�r���zbytes is not a 16-char string�big)Z	byteorder�zfields is not a 6-tuplerlz*field 1 out of range (need a 32-bit value)iz*field 2 out of range (need a 16-bit value)z*field 3 out of range (need a 16-bit value)iz*field 4 out of range (need an 8-bit value)z*field 5 out of range (need an 8-bit value)�z*field 6 out of range (need a 48-bit value)�`�P�@�0�i�z*int is out of range (need a 128-bit value)zillegal version numberl�����l�����Lrr)
�count�	TypeError�replace�strip�len�
ValueError�int_�
from_bytes�object�__setattr__)�self�hex�bytes�bytes_le�fieldsr�versionr�time_low�time_mid�time_hi_version�clock_seq_hi_variant�
clock_seq_low�node�	clock_seqrrr	�__init__�sx 
�
�
����

z
UUID.__init__cCs&d|ji}|jtjkr"|jj|d<|S�Nrr)rrrr�value)r*Zdrrr	�__getstate__�s
zUUID.__getstate__cCs:t�|d|d�t�|dd|kr.t|d�ntj�dSr8)r(r)rr)r*Zstaterrr	�__setstate__�s��zUUID.__setstate__cCst|t�r|j|jkStS�N�Z
isinstancer
rZNotImplemented�r*Zotherrrr	�__eq__��
zUUID.__eq__cCst|t�r|j|jkStSr<r=r>rrr	�__lt__�r@zUUID.__lt__cCst|t�r|j|jkStSr<r=r>rrr	�__gt__�r@zUUID.__gt__cCst|t�r|j|jkStSr<r=r>rrr	�__le__�r@zUUID.__le__cCst|t�r|j|jkStSr<r=r>rrr	�__ge__�r@zUUID.__ge__cCs
t|j�Sr<)�hashr�r*rrr	�__hash__�z
UUID.__hash__cCs|jSr<�rrFrrr	�__int__rHzUUID.__int__cCsd|jjt|�fS)Nz%s(%r))Z	__class__r�strrFrrr	�__repr__	rHz
UUID.__repr__cCstd��dS)NzUUID objects are immutable)r!)r*�namer9rrr	r)rHzUUID.__setattr__cCsDd|j}d|dd�|dd�|dd�|dd�|dd�fS)N�%032xz%s-%s-%s-%s-%sririrI)r*r+rrr	�__str__s





�zUUID.__str__cCs|j�dd�S)Nrr)rZto_bytesrFrrr	r,�z
UUID.bytescCs<|j}|ddd�|ddd�|ddd�|dd�S)Nrrrrr�r,)r*r,rrr	r-s(
�z
UUID.bytes_lecCs|j|j|j|j|j|jfSr<)r0r1r2r3r4r5rFrrr	r.s
�zUUID.fieldscCs
|jd?S)NrrIrFrrr	r0#rPz
UUID.time_lowcC�|jd?d@S)Nr���rIrFrrr	r1'rPz
UUID.time_midcCrR)NrrSrIrFrrr	r2+rPzUUID.time_hi_versioncCrR)Ni8��rIrFrrr	r3/rPzUUID.clock_seq_hi_variantcCrR)NrrTrIrFrrr	r43rPzUUID.clock_seq_lowcCs|jd@d>|jd>B|jBS)N��rr)r2r1r0rFrrr	�time7s
��z	UUID.timecCs|jd@d>|jBS)N�?r)r3r4rFrrr	r6<s�zUUID.clock_seqcCs
|jd@S)Nl���rIrFrrr	r5ArPz	UUID.nodecCs
d|jS)NrNrIrFrrr	r+ErPzUUID.hexcCsdt|�S)Nz	urn:uuid:)rKrFrrr	�urnIrPzUUID.urncCs2|jd@stS|jd@stS|jd@s*tStSdS)Nrll)r�RESERVED_NCS�RFC_4122�RESERVED_MICROSOFT�RESERVED_FUTURErFrrr	�variantMs


zUUID.variantcCs |jtkrt|jd?d@�SdS)Nri)r]rZrrFrrr	r/Xs
zUUID.version)NNNNNN)#rrrZ	__slots__rrr7r:r;r?rArBrCrDrGrJrLr)rOZpropertyr,r-r.r0r1r2r3r4rVr6r5r+rXr]r/rrrr	r
Lsb4��V














r
c	Gs�ddl}ddl}ddl}|�|�}|dkrP|j�d�}|j||d�}|dkrPdSt|j�}d|d<|j|f||j	|j
|d�}|S)Nr)z/sbinz	/usr/sbin)�pathZCZLC_ALL)�stdoutZstderr�env)�os�shutil�
subprocessZwhichZpathsep�joinZdictZenviron�Popen�PIPEZDEVNULL)	�command�argsrarbrcZ
executabler^r`�procrrr	�_popen^s

�rjcCs
|d@S)Nlr��macrrr	�
_is_universal�rHrmcCs�d}z�t|f|����}|s"WdS|��|jD]�}|������}tt|��D]x}|||krNzN|||�}	t|	�dd�d�}
t	|
�r�|
WW5QR�WS|p�|
}WqNt
tfk
r�YqNXqNq.W5QRXWntk
r�YnX|p�dS)N�:�r)
rj�splitr_�lower�rstrip�ranger$rr"rmr%�
IndexError�OSError)rgrhZhw_identifiersZ	get_index�first_local_macri�line�words�i�wordrlrrr	�	_find_mac�s*
r{cCs4d}dD]&}td||dd��}|r*|SdSdS)N)shwaddrsethersaddress:slladdr)rz-az-avZifconfigcS�|dS�Nrr�ryrrr	�<lambda>�roz#_ifconfig_getnode.<locals>.<lambda>�r{)Zkeywordsrhrlrrr	�_ifconfig_getnode�sr�cCs tdddgdd��}|r|SdS)NZipZlinks
link/ethercSr|r}rr~rrr	r�roz_ip_getnode.<locals>.<lambda>r�rkrrr	�_ip_getnode�sr�cCs�ddl}ddl}z|�|���}Wntk
r8YdSXtdd|�|�gdd��}|r\|Stdd|�|�gdd��}|r~|Stdd|�d|�gdd��}|r�|SdS)	NrZarpz-ancS�dS)Nrrr~rrr	r�roz_arp_getnode.<locals>.<lambda>cSr|r}rr~rrr	r�roz(%s)cSr|)Nirr~rrr	r�ro)ra�socketZ
gethostbynameZgethostnamerur{Zfsencode)rar�Zip_addrrlrrr	�_arp_getnode�s"�r�cCstdddgdd��S)NZlanscanz-aislan0cSr�)Nrrr~rrr	r�roz"_lanscan_getnode.<locals>.<lambda>r�rrrr	�_lanscan_getnode�sr�cCs&d}�z�tdd�}|sWdS|��|j������}z|�d�}Wn"tk
rdYW5QR�WdSX|jD]�}zl|����}||}t|�dkr�|�d�dkr�t	|�
dd�d�}t|�r�|WW5QR�WS|p�|}Wqlttfk
r�YqlXqlW5QRXWnt
k
�rYnX|�p$dS)	NZnetstatz-iasAddressirnrror)rjr_ZreadlinerrrpZindexr%r$r rr"rmrtru)rvrirxryrwrzrlrrr	�_netstat_getnode�s2

r�cCs<ddl}ddl}ddl}d}dddg}z:ddl}|�d�}|jj�|d�|�d|j	�
d��WnYnX|D]�}z$|j|j�
|d�dg|jd	d
�}Wntk
r�YqrYnX|�r|jD]d}	|	�d�d����}
|�d
|
�r�t|
�dd�d�}t|��r|W5QR�S|�p"|}q�W5QRXqr|�p:dS)Nrrzc:\windows\system32zc:\winnt\system32i,ZmbcsZipconfigz/allZoem)r_Zencodingz:rz((?:[0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]rr)ra�rerc�ctypes�create_string_buffer�windllZkernel32ZGetSystemDirectoryAZinsertr9Zdecoderer^rdrfrur_rpr#rqZ	fullmatchrr"rm)rar�rcrvZdirsr�ZbufferZdirrirwr9rlrrr	�_ipconfig_getnode�s6

�



r�c	Cs6ddl}ddl}d}|��}|j|_|��|_}|��|�|�dkrLdS|�	�t
|j�D]�}|��|j
|_t|j|�|_|�|�dkr�q^|��|j|_t|j|�|_d�d�|_|��|_}|�|�dkr�q^|�	�|jdd�}t|�dk�rq^t�|d�}t|��r |S|�p(|}q^|�p4dS)NrZ*rrr)�	win32wnet�netbiosZNCBZNCBENUMZCommandZ	LANA_ENUMZBufferZ_packZNetbiosZ_unpackrsZlengthZResetZNCBRESETZordZlanaZLana_numZNCBASTATZljustZCallnameZADAPTER_STATUSZadapter_addressr$rr'rm)	r�r�rvZncbZadaptersryZstatusr,rlrrr	�_netbios_getnode
s>
r�c
s�tdk	rdSdatjdkr8tt��j�d�d�dkr8ntdk	rPtj	a
tjadSz�ddl�ddl
�dg}tj�d�s~|�d�|D]�}z���j�|��}Wntk
r�Yq�YnXt|d	�r�|j���fd
d�a
da�qq�t|d
�r�|j�d�_��fdd�a
�qq�z�jj}Wnd}YnXt|dt|dd��aWn>tk
�r~}zddl}|�d|��t�W5d}~XYnXdS)NFZdarwinZ.ri	ZuuidZwinZc�uuid_generate_time_safecs ��d�}�|�}t|j�|fS�Nr�r�r,�raw)�_bufferZres)�_uuid_generate_time_safer�rr	�_generate_time_safef�
r�T�uuid_generate_timecs ��d�}�|�t|j�dfSr�r�)r�)�_uuid_generate_timer�rr	r�qr�ZUuidCreateSequentialZ
UuidCreatez/Could not find fallback ctypes uuid functions: )�_has_uuid_generate_time_safe�sys�platformrraZunameZreleaserp�_uuidZgenerate_time_safer�Zhas_uuid_generate_time_safer�Zctypes.utilZ
startswithZappendZCDLLZutilZfind_libraryZ	ExceptionZhasattrr�r�Zrestyper�Zrpcrt4Zgetattr�_UuidCreate�warningsZwarnZ
ImportWarning)Z	_libnamesZlibnameZlibZexcr�r)r�r�r�r	�_load_system_functions8sT&






��r�cCst�t�\}}t|d�jS)NrQ)r�r�r
r5)�	uuid_timeZ_rrr	�
_unix_getnode�s
r�cCs:ddl}t�|�d�}t|�dkr6tt|j�d�jSdS)NrrrQ)r�r�r�r�r
�bytes_r�r5)r�r�rrr	�_windll_getnode�s

r�cCsddl}|�d�dBS)Nrrl)�random�getrandbits)r�rrr	�_random_getnode�sr�ZposixZnt)�getterscCsdtdk	rtSttgD]H}z
|�aWnYqYnXtdk	rdtkrRdkrnqtSqdS)Nrr)�_node�_GETTERSr�)r�Zgetterrrr	�getnode�s	

 
r�cCst�tdk	rd||kr"dkrdnn>t�\}}zt|�}Wntk
rVtj}YnXt||d�Sddl}|��}|dd}tdk	r�|tkr�td}|a|dkr�ddl	}|�
d�}|d@}	|d?d	@}
|d
?d@}|d@}|d
?d@}
|dkr�t�}t|	|
||
||fdd�S)N)r,rridl@'Hw�
ril��rrSrrUrTrrW)r.r/)r�r�rr%rr
rVZtime_ns�_last_timestampr�r�r�)r5r6r�Zsafely_generatedrrVZnanosecondsZ	timestampr�r0r1r2r4r3rrr	�uuid1�s> 

��r�cC�8ddlm}||jt|d����}t|dd�dd�S)Nr)�md5�utf-8rr�r,r/)�hashlibr�r,�digestr
)�	namespacerMr�rErrr	�uuid3�r�cCstt�d�dd�S)Nrr
r�)r
raZurandomrrrr	�uuid4
rPr�cCr�)Nr)�sha1r�rrr�)r�r�r,r�r
)r�rMr�rErrr	�uuid5r�r�z$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8)NN)6rar�r�ZenumrZ
__author__ZsystemZ_AIXZ_DARWINZ_LINUXZ_WINDOWSrYrZr[r\rr&r,r�rr
rjrmr{r�r�r�r�r�r�r�r�r�r�r�ZImportErrorr�r�r�r�Z_OS_GETTERSrMr�r�r�r�r�r�r�r�Z
NAMESPACE_DNSZ
NAMESPACE_URLZ
NAMESPACE_OIDZNAMESPACE_X500rrrr	Z<module>/s��"
$
T

�
'