???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
]Z                 @   s  d  d l  Z  d Z d d d d g \ Z Z Z Z e Z e Z	 Gd d   d e
  Z d	 d
   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d Z Z y<d  d l Z d  d l Z d  d l Z d g Z e j j d  se j d  x^ e D]V Z y e j e j  j! e   Z" Wn e# k
 rZwYn Xe$ e" d  re" j% Z PqW[ e j d k rd  d l  Z  e e  j&   j' j( d   d   d! k rd Z y e j) j* Z" Wn d Z" Yn Xe+ e" d" e+ e" d# d   Z Wn Yn Xd$ d%   Z, d& d'   Z- d( d)   Z. d a/ d* d+   Z0 d a1 d d d, d-  Z2 d. d/   Z3 d0 d1   Z4 d2 d3   Z5 e d4  Z6 e d5  Z7 e d6  Z8 e d7  Z9 d S)8    NzKa-Ping Yee <ping@zesty.ca>zreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc               @   s  e  Z d  Z d d d d d d d d  Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z e d d    Z e d d    Z e d d    Z e d d    Z e d  d!    Z e d" d#    Z e d$ d%    Z e d& d'    Z e d( d)    Z e d* d+    Z e d, d-    Z e d. d/    Z e d0 d1    Z e d2 d3    Z e d4 d5    Z d S)6UUIDNc             C   sY  | | | | | g j  d   d k r0 t d   | d  k	 r | j d d  j d d  } | j d  j d d  } t |  d k r t d	   t | d
  } | d  k	 rt |  d
 k r t d   | d' d  d(  | d) d* d+  | d, d- d.  | d d   } | d  k	 rNt |  d
 k r9t d   t j | d d } | d  k	 rt |  d k rxt d   | \ } } }	 }
 } } d | k od/ k  n st d   d | k od0 k  n st d   d |	 k od1 k  n st d   d |
 k od2 k  n s0t d   d | k oGd3 k  n sXt d   d | k ood4 k  n st d   |
 d >| B} | d >| d >B|	 d >B| d >B| B} | d  k	 rd | k od5 k  n st d   | d  k	 rHd | k od  k n st d!   | d7 M} | d8 O} | d: M} | | d% >O} | |  j d& <d  S);N   zGone of the hex, bytes, bytes_le, fields, or int arguments must be givenzurn: zuuid:z{}-    z$badly formed hexadecimal UUID string   z bytes_le is not a 16-char string         zbytes is not a 16-char string	byteorderbigzfields is not a 6-tupler   z*field 1 out of range (need a 32-bit value)z*field 2 out of range (need a 16-bit value)z*field 3 out of range (need a 16-bit value)z*field 4 out of range (need an 8-bit value)z*field 5 out of range (need an 8-bit value)0   z*field 6 out of range (need a 48-bit value)`   P   @      z*int is out of range (need a 128-bit value)   zillegal version numberi   i   i   L   int   r   r   r      r   r   l        i   i      r   l          l	                    l            l        l            l              l          )	count	TypeErrorreplacestriplen
ValueErrorint_
from_bytes__dict__)selfhexbytesbytes_lefieldsr   versiontime_lowtime_midtime_hi_versionclock_seq_hi_variantclock_seq_lownode	clock_seq r/   )/opt/alt/python35/lib64/python3.5/uuid.py__init__j   sZ    $C&


zUUID.__init__c             C   s#   t  | t  r |  j | j k St S)N)
isinstancer   r   NotImplemented)r"   otherr/   r/   r0   __eq__   s    zUUID.__eq__c             C   s#   t  | t  r |  j | j k  St S)N)r2   r   r   r3   )r"   r4   r/   r/   r0   __lt__   s    zUUID.__lt__c             C   s#   t  | t  r |  j | j k St S)N)r2   r   r   r3   )r"   r4   r/   r/   r0   __gt__   s    zUUID.__gt__c             C   s#   t  | t  r |  j | j k St S)N)r2   r   r   r3   )r"   r4   r/   r/   r0   __le__   s    zUUID.__le__c             C   s#   t  | t  r |  j | j k St S)N)r2   r   r   r3   )r"   r4   r/   r/   r0   __ge__   s    zUUID.__ge__c             C   s   t  |  j  S)N)hashr   )r"   r/   r/   r0   __hash__   s    zUUID.__hash__c             C   s   |  j  S)N)r   )r"   r/   r/   r0   __int__   s    zUUID.__int__c             C   s   d |  j  j t |   f S)Nz%s(%r))	__class____name__str)r"   r/   r/   r0   __repr__   s    zUUID.__repr__c             C   s   t  d   d  S)NzUUID objects are immutable)r   )r"   namevaluer/   r/   r0   __setattr__   s    zUUID.__setattr__c             C   sV   d |  j  } d | d  d  | d d  | d d  | d d  | d d   f S)Nz%032xz%s-%s-%s-%s-%sr
      r      )r   )r"   r#   r/   r/   r0   __str__   s    zUUID.__str__c             C   s   |  j  j d d  S)Nr   r   )r   to_bytes)r"   r/   r/   r0   r$      s    z
UUID.bytesc             C   sJ   |  j  } | d d  d  | d d d	  | d
 d d  | d d   S)Nr   r   r	   r
   r   r   r   r   r   r   r   r   )r$   )r"   r$   r/   r/   r0   r%      s    	2zUUID.bytes_lec             C   s(   |  j  |  j |  j |  j |  j |  j f S)N)r(   r)   r*   r+   r,   r-   )r"   r/   r/   r0   r&      s    zUUID.fieldsc             C   s   |  j  d ?S)Nr   )r   )r"   r/   r/   r0   r(      s    zUUID.time_lowc             C   s   |  j  d ?d @S)Nr   i  )r   )r"   r/   r/   r0   r)      s    zUUID.time_midc             C   s   |  j  d ?d @S)Nr   i  )r   )r"   r/   r/   r0   r*      s    zUUID.time_hi_versionc             C   s   |  j  d ?d @S)N8      )r   )r"   r/   r/   r0   r+     s    zUUID.clock_seq_hi_variantc             C   s   |  j  d ?d @S)Nr   rI   )r   )r"   r/   r/   r0   r,     s    zUUID.clock_seq_lowc             C   s!   |  j  d @d >|  j d >B|  j BS)Ni  r   r   )r*   r)   r(   )r"   r/   r/   r0   time
  s    z	UUID.timec             C   s   |  j  d @d >|  j BS)N?   r
   )r+   r,   )r"   r/   r/   r0   r.     s    zUUID.clock_seqc             C   s   |  j  d @S)Nl    )r   )r"   r/   r/   r0   r-     s    z	UUID.nodec             C   s   d |  j  S)Nz%032x)r   )r"   r/   r/   r0   r#     s    zUUID.hexc             C   s   d t  |   S)Nz	urn:uuid:)r?   )r"   r/   r/   r0   urn  s    zUUID.urnc             C   s;   |  j  d @s t S|  j  d @s" t S|  j  d @s3 t St Sd  S)Ni   r   i @  i    l            l            l            )r   RESERVED_NCSRFC_4122RESERVED_MICROSOFTRESERVED_FUTURE)r"   r/   r/   r0   variant   s    zUUID.variantc             C   s(   |  j  t k r$ t |  j d ?d @ Sd  S)Nr      )rQ   rN   r   )r"   r/   r/   r0   r'   +  s    zUUID.version)r>   
__module____qualname__r1   r5   r6   r7   r8   r9   r;   r<   r@   rC   rF   propertyr$   r%   r&   r(   r)   r*   r+   r,   rJ   r.   r-   r#   rL   rQ   r'   r/   r/   r/   r0   r   :   s6   0Or   c       	      G   s   d d  l  } d d  l } d d  l } | j |   } | d  k rv | j j d
  } | j |  d | } | d  k rv d  St | j  } d | d <| j | f | d | j	 d | j
 d	 | } | S)Nr   /sbin	/usr/sbinpathCLC_ALLstdoutstderrenv)rV   rW   )osshutil
subprocesswhichpathsepjoindictenvironPopenPIPEDEVNULL)	commandargsr^   r_   r`   
executablerX   r]   procr/   r/   r0   _popen1  s    $
			rm   c       
      C   s   y t  |  | j    } | s" d  S|  x | j D] } | j   j   j   } x~ t t |   D]j } | | | k rd y9 | | |  } t | j d d  d  }	 |	 r |	 SWqd t	 t
 f k
 r Yqd Xqd Wq3 WWd  QRXWn t k
 r Yn Xd  S)N   :    r   )rm   splitr[   lowerrstripranger   r   r   r   
IndexErrorOSError)
ri   rj   Zhw_identifiersZ	get_indexrl   linewordsiwordmacr/   r/   r0   	_find_macD  s$    r{   c              C   s@   x9 d	 D]1 }  t  d |  d d g d d    } | r | Sq Wd  S)
Nr   -a-avZifconfigs   hwaddrs   etherc             S   s   |  d S)Nr   r/   )rx   r/   r/   r0   <lambda>a  s    z#_ifconfig_getnode.<locals>.<lambda>)r   r|   r}   )r{   )rj   rz   r/   r/   r0   _ifconfig_getnode]  s    !r   c              C   s,   t  d d d g d d    }  |  r( |  Sd  S)NZipz	link lists
   link/etherc             S   s   |  d S)Nr   r/   )rx   r/   r/   r0   r~   h  s    z_ip_getnode.<locals>.<lambda>)r{   )rz   r/   r/   r0   _ip_getnodee  s    r   c              C   so   d d  l  }  d d  l } y | j | j    } Wn t k
 rI d  SYn Xt d d |  j |  g d d    S)Nr   Zarpz-anc             S   s   d S)Nr   r   r/   )rx   r/   r/   r0   r~   u  s    z_arp_getnode.<locals>.<lambda>)r^   socketgethostbynamegethostnameru   r{   fsencode)r^   r   Zip_addrr/   r/   r0   _arp_getnodel  s    	r   c               C   s   t  d d d g d d    S)NZlanscanz-ais   lan0c             S   s   d S)Nr   r/   )rx   r/   r/   r0   r~   z  s    z"_lanscan_getnode.<locals>.<lambda>)r{   r/   r/   r/   r0   _lanscan_getnodew  s    r   c           "   C   s&  yt  d d  }  |  s d  S|   |  j j   j   j   } y | j d  } Wn t k
 ri d  SYn Xx |  j D] } yl | j   j   } | | } t |  d k r | j d  d k r t	 | j
 d d  d  } | r | SWqt t t f k
 r Yqt Xqt WWd  QRXWn t k
 r!Yn Xd  S)	NZnetstatz-ias   Address   rn   r   ro   r   )rm   r[   readlinerr   rp   indexr   r   r   r   r   rt   ru   )rl   rw   rx   rv   ry   rz   r/   r/   r0   _netstat_getnode|  s,    	
'r   c        	      C   s?  d d  l  }  d d  l } d d d g } yQ d d  l } | j d  } | j j j | d  | j d | j j	 d   Wn Yn Xx | D] } y& |  j
 |  j j | d  d  } Wn t k
 r w Yn X| ` xX | D]P } | j d	  d j   j   } | j d |  r t | j d d  d  Sq WWd  QRXq Wd  S)Nr   r   zc:\windows\system32zc:\winnt\system32i,  mbcsZipconfigz /all:r   z&([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]r   r   r   )r^   rectypescreate_string_bufferwindllZkernel32ZGetSystemDirectoryAinsertrB   decodepopenrX   rc   ru   rp   r   rq   matchr   r   )	r^   r   dirsr   bufferdirpiperv   rB   r/   r/   r0   _ipconfig_getnode  s&     &r   c              C   sz  d d  l  }  d d  l } | j   } | j | _ | j   | _ } | j   |  j |  d k rf d  S| j	   xt
 | j  D] } | j   | j | _ t | j |  | _ |  j |  d k r q | j   | j | _ t | j |  | _ d j d  | _ | j   | _ } |  j |  d k r3q | j	   | j d  d  } t |  d k req t j | d  SWd  S)Nr   *r   r	   r   )	win32wnetnetbiosZNCBZNCBENUMZCommandZ	LANA_ENUMZBufferZ_packZNetbiosZ_unpackrs   lengthZResetZNCBRESETordZlanaZLana_numZNCBASTATljustZCallnameZADAPTER_STATUSZadapter_addressr   r   r    )r   r   ZncbZadaptersrx   statusr$   r/   r/   r0   _netbios_getnode  s4    




r   Zuuidwincuuid_generate_timedarwin.	   ZUuidCreateSequentialZ
UuidCreatec              C   s2   t  j d  }  t |   t d t |  j   j S)Nr   r$   )r   r   _uuid_generate_timer   bytes_rawr-   )_bufferr/   r/   r0   _unixdll_getnode  s    
r   c              C   s>   t  j d  }  t |   d k r: t d t |  j   j Sd  S)Nr   r   r$   )r   r   _UuidCreater   r   r   r-   )r   r/   r/   r0   _windll_getnode  s    r   c              C   s   d d  l  }  |  j d  d BS)Nr   r   l        )randomgetrandbits)r   r/   r/   r0   _random_getnode  s    r   c           
   C   s   t  d  k	 r t  Sd d  l }  |  j d k r= t t t g } n t t t t	 t
 t g } x@ | t g D]1 } y |   a  Wn wc Yn Xt  d  k	 rc t  Sqc Wd  S)Nr   win32)_nodesysplatformr   r   r   r   r   r   r   r   r   r   )r   Zgettersgetterr/   r/   r0   getnode  s    
	r   c             C   sN  t  rQ |  | k o d  k n rQ t j d  } t  |  t d t | j   Sd d  l } t | j   d  } t | d  d } t d  k	 r | t k r t d } | a | d  k r d d  l	 } | j
 d  } | d	 @} | d
 ?d @} | d ?d @}	 | d @}
 | d ?d @} |  d  k r)t   }  t d | | |	 | |
 |  f d d  S)Nr   r$   r   g    eAd   l    @'Hwr      l    r   i  r   i  rI   r
   rK   r&   r'   )r   r   r   r   r   r   rJ   r   _last_timestampr   r   r   )r-   r.   r   rJ   ZnanosecondsZ	timestampr   r(   r)   r*   r,   r+   r/   r/   r0   uuid10  s,    "



	r   c             C   sO   d d l  m } | |  j t | d   j   } t d | d  d  d d  S)Nr   )md5zutf-8r$   r   r'   r   )hashlibr   r$   digestr   )	namespacerA   r   r:   r/   r/   r0   uuid3S  s    "r   c               C   s   t  d t j d  d d  S)Nr$   r   r'   r   )r   r^   urandomr/   r/   r/   r0   uuid4Y  s    r   c             C   sO   d d l  m } | |  j t | d   j   } t d | d  d  d d  S)Nr   )sha1zutf-8r$   r   r'   r   )r   r   r$   r   r   )r   rA   r   r:   r/   r/   r0   uuid5]  s    "r   z$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8):r^   
__author__rM   rN   rO   rP   r   r   r$   r   objectr   rm   r{   r   r   r   r   r   r   r   r   r   r   Zctypes.utilr   Z	_libnamesr   
startswithappendZlibnameZCDLLutilZfind_librarylib	Exceptionhasattrr   unamereleaserp   r   Zrpcrt4getattrr   r   r   r   r   r   r   r   r   r   ZNAMESPACE_DNSZNAMESPACE_URLZNAMESPACE_OIDZNAMESPACE_X500r/   r/   r/   r0   <module>/   sr   "
			(
	#