Your IP : 3.133.136.95


Current Path : /opt/alt/python33/lib64/python3.3/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/__pycache__/copyreg.cpython-33.pyc

�
��f�c@s�dZdddddgZiZddd�Zdd�ZyeWnek
rXYnXdd	�Zeeee�d
d�Z	dZ
dd�Zdd�Zdd�Z
iZiZiZdd�Zdd�Zdd�ZdS(u�Helper to provide extensibility for pickle.

This is only useful to add pickle support for extension types defined in
C, not for instances of user-defined classes.
upickleuconstructoru
add_extensionuremove_extensionuclear_extension_cachecCsBt|�std��n|t|<|dk	r>t|�ndS(Nu$reduction functions must be callable(ucallableu	TypeErrorudispatch_tableuNoneuconstructor(uob_typeupickle_functionuconstructor_ob((u,/opt/alt/python33/lib64/python3.3/copyreg.pyupickles

cCst|�std��ndS(Nuconstructors must be callable(ucallableu	TypeError(uobject((u,/opt/alt/python33/lib64/python3.3/copyreg.pyuconstructorscCst|j|jffS(N(ucomplexurealuimag(uc((u,/opt/alt/python33/lib64/python3.3/copyreg.pyupickle_complex"supickle_complexcCsY|tkrtj|�}n7|j||�}|jtjkrU|j||�n|S(N(uobjectu__new__u__init__(uclsubaseustateuobj((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu_reconstructor)su_reconstructorii	cCs=|dkst�x;|jjD]'}t|d�r|jt@rPqqWt}|tkred}n1||jkr�td|j	��n||�}|j||f}y
|j
}Wn[tk
rt|dd�r�td��ny
|j
}Wntk
r
d}YnXYn
X|�}|r/t||fSt|fSdS(Niu	__flags__ucan't pickle %s objectsu	__slots__uNa class that defines __slots__ without defining __getstate__ cannot be pickled(uAssertionErroru	__class__u__mro__uhasattru	__flags__u	_HEAPTYPEuobjectuNoneu	TypeErroru__name__u__getstate__uAttributeErrorugetattru__dict__u_reconstructor(uselfuprotoubaseustateuargsugetstateudict((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu
_reduce_ex6s0	



	
u
_reduce_excGs|j||�S(N(u__new__(uclsuargs((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu
__newobj__Wsu
__newobj__c	Cs|jjd�}|dk	r"|Sg}t|d�s:n�x�|jD]�}d|jkrD|jd}t|t�r�|f}nxl|D]a}|dkr�q�q�|jd�r�|jd�r�|j	d|j
|f�q�|j	|�q�WqDqDWy
||_WnYnX|S(	u�Return a list of slot names for a given class.

    This needs to find slots defined by the class and its bases, so we
    can't simply return the __slots__ attribute.  We must walk down
    the Method Resolution Order and concatenate the __slots__ of each
    class found there.  (This assumes classes don't modify their
    __slots__ attribute to misrepresent their slots after the class is
    defined.)
    u
__slotnames__u	__slots__u__dict__u__weakref__u__u_%s%sN(u__dict__u__weakref__(u__dict__ugetuNoneuhasattru__mro__u
isinstanceustru
startswithuendswithuappendu__name__u
__slotnames__(uclsunamesucuslotsuname((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu
_slotnamesZs,


u
_slotnamescCs�t|�}d|ko#dkns7td��n||f}tj|�|krqtj|�|krqdS|tkr�td|t|f��n|tkr�td|t|f��n|t|<|t|<dS(uRegister an extension code.ii���ucode out of rangeNu)key %s is already registered with code %su$code %s is already in use for key %s(uintu
ValueErroru_extension_registryugetu_inverted_registry(umoduleunameucodeukey((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu
add_extension�s
cCsw||f}tj|�|ks6tj|�|krOtd||f��nt|=t|=|tkrst|=ndS(u0Unregister an extension code.  For testing only.u%key %s is not registered with code %sN(u_extension_registryugetu_inverted_registryu
ValueErroru_extension_cache(umoduleunameucodeukey((u,/opt/alt/python33/lib64/python3.3/copyreg.pyuremove_extension�scCstj�dS(N(u_extension_cacheuclear(((u,/opt/alt/python33/lib64/python3.3/copyreg.pyuclear_extension_cache�sNi(u__doc__u__all__udispatch_tableuNoneupickleuconstructorucomplexu	NameErrorupickle_complexu_reconstructoru	_HEAPTYPEu
_reduce_exu
__newobj__u
_slotnamesu_extension_registryu_inverted_registryu_extension_cacheu
add_extensionuremove_extensionuclear_extension_cache(((u,/opt/alt/python33/lib64/python3.3/copyreg.pyu<module>s,

	!8

?>