§
    ´³Ùg“  ã                   ó¸  — d dl mZmZmZmZ d dl mZ d dlmZ d dlZdZ	d„ Z
d„ Zd„ Z G d	„ d
e¦  «        Z e¦   «         Zd„ Zd„ Z G d„ d¦  «        Z e¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedk    r\ e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «          dS dS )é    )Ú	getsourceÚgetnameÚ_wrapÚ	getimport)Ú
importable)ÚIS_PYPYNi± 
c                 ó   — | dz  S ©Né   © ©Úxs    úL/granary/edev/quantum/lib/python3.11/site-packages/dill/tests/test_source.pyú<lambda>r      s
   € ˆa�‰d€ ó    c                 ó&   — t          | ¦  «        | z
  S ©N)Úfr   s    r   Úgr      s   € •�1‘”˜‘ˆ/r   c                 ó$   — d„ } || ¦  «        | z
  S )Nc                 ó   — | S r   r   r   s    r   r   zh.<locals>.g   s   € �1ˆHr   r   )r   r   s     r   Úhr      s   € ØÐÐØ	
ˆˆ1‰Œ�‰€/r   c                   ó   — e Zd Zd„ ZdS )ÚFooc                 ó   — ||z  |z   S r   r   )Úselfr   s     r   ÚbarzFoo.bar   s   € ØˆQ‰3ˆq‰5€Lr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s#   € € € € € ðð ð ð ð r   r   c                 ó   — | |z   S r   r   )r   Úys     r   Úaddr#      s   € Ø	
ˆ1‰€*r   c                 ó   — | dz  S r
   r   r   s    r   r   r       s
   € �1�a‘4€ r   c                   ó   — e Zd ZdS )ÚBarN)r   r   r    r   r   r   r&   r&   "   s   € € € € € Ø€$r   r&   c                  óà  — t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚ t          t          ¦  «        d¦  «        dk    sJ ‚ t          t          ¦  «        d¦  «        d	k    sJ ‚ t          t          ¦  «        d¦  «        d
k    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚d S )Nzf = lambda x: x**2
zdef g(x): return f(x) - x
z1def h(x):
  def g(x): return x
  return g(x) - x
r   r   r   é   é   é   r   r   r&   úclass Bar:
  pass
ú8class Foo(object):
  def bar(self, x):
    return x*x+x
)r   r   r   r   r   r   r   r&   r   r   r   Útest_getsourcer-   '   sP  € Ý	•1‰ŒÐ/Ò	/Ð	/Ð	/Ð	/Ý	•1‰ŒÐ6Ò	6Ð	6Ð	6Ð	6Ý	•1‰ŒÐOÒ	OÐ	OÐ	OÐ	OÝ	•‰Œ�sÒ	Ð	Ð	Ð	Ý	•‰Œ�sÒ	Ð	Ð	Ð	Ý	•‰Œ�sÒ	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	å	•‰Œ˜Ò	Ð	Ð	Ð	Ý	•‰Œ˜Ò	Ð	Ð	Ð	Ý	•3‰ŒÐ1Ò	1Ð	1Ð	1Ð	1Ý	•3‰ŒÐXÒ	XÐ	XÐ	XÐ	XÐ	XÐ	Xr   c                  ó:   — t          t           ¦  «        dk    sJ ‚d S )Nz"from dill.source import getimport
)r   r   r   r   Útest_itselfr/   9   s"   € Ý	•9Ñ	Ô	ÐDÒ	DÐ	DÐ	DÐ	DÐ	DÐ	Dr   c                  óz  — t          t          ¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          t          d¬¦  «        dk    sJ ‚t          dd¬¦  «        dk    sJ ‚t          dd¬¦  «        dk    sJ ‚t          d ¦  «        dk    sJ ‚t          d d¬¦  «        dk    sJ ‚d S )	Nzpow
éd   ú100
TzTrue
)Úbuiltinzfrom builtins import pow
úNone
)r   Úpowr   r   r   Útest_builtinr6   =   sÝ   € Ý	•3‰Œ˜7Ò	"Ð	"Ð	"Ð	"Ý	�3‰Œ˜7Ò	"Ð	"Ð	"Ð	"Ý	�4‰Œ˜HÒ	$Ð	$Ð	$Ð	$Ý	•3 Ð	%Ñ	%Ô	%Ð)EÒ	EÐ	EÐ	EÐ	EÝ	�3 Ð	%Ñ	%Ô	%¨Ò	0Ð	0Ð	0Ð	0Ý	�4 Ð	&Ñ	&Ô	&¨(Ò	2Ð	2Ð	2Ð	2å	�4‰Œ˜HÒ	$Ð	$Ð	$Ð	$Ý	�4 Ð	&Ñ	&Ô	&¨(Ò	2Ð	2Ð	2Ð	2Ð	2Ð	2r   c                  ó<   — ddl m}  t          | ¦  «        dk    sJ ‚d S )Nr   ©Úsinzfrom math import sin
)Úmathr9   r   r8   s    r   Útest_importedr;   J   s2   € ØÐÐÐÐÐÝ	�3‰ŒÐ3Ò	3Ð	3Ð	3Ð	3Ð	3Ð	3r   c                  óŽ   — t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚d S )Núfrom %s import add
úfrom %s import squared
)r   r#   r   Úsquaredr   r   r   Útest_dynamicr@   O   sD   € Ý	•3‰ŒÐ1µHÑ<Ò	<Ð	<Ð	<Ð	<å	•7Ñ	Ô	Ð9½HÑDÒ	DÐ	DÐ	DÐ	DÐ	DÐ	Dr   c                  óF  — ddl m}  d}t          st          j        t
          k    r|nd} | ¦   «         }t          | ¦  «        |k    sJ ‚t          |¦  «        |k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚d S )Nr   )ÚBytesIOzfrom _io import BytesIO
zfrom io import BytesIO
úfrom %s import Foo
)
ÚiorB   r   ÚsysÚ
hexversionÚPY310br   r   r   Ú_foo)ÚStringIOr"   r   Úss       r   Útest_classesrK   U   s¯   € Ø$Ð$Ð$Ð$Ð$Ð$Ø!€!ÝÐP•s”~­Ò/Ð/€a€aÐ6P€!Ø€h�j„j€!å	�8Ñ	Ô	 Ò	!Ð	!Ð	!Ð	!Ý	�1‰Œ˜Ò	Ð	Ð	Ð	å	•3‰ŒÐ1µHÑ<Ò	<Ð	<Ð	<Ð	<Ý	•4‰ŒÐ2µXÑ=Ò	=Ð	=Ð	=Ð	=Ð	=Ð	=r   c                  ó"  — t          t          d¬¦  «        dt          z  k    sJ ‚t          t          d¬¦  «        dt          z  k    sJ ‚t          t          d¬¦  «        dt          z  k    sJ ‚t          t          j        d¬¦  «        dt          z  k    sJ ‚t          t          j        d¬¦  «        dt          z  k    sJ ‚t          d d¬¦  «        dk    sJ ‚t          dd¬¦  «        d	k    sJ ‚t          t          d
¬¦  «        dk    sJ ‚t          t          d
¬¦  «        dk    sJ ‚t          d d
¬¦  «        dk    sJ ‚t          t          d
¬¦  «        dk    sJ ‚t          t          d
¬¦  «        dk    sJ ‚t          t          j        d
¬¦  «        dk    sJ ‚t          t          j        d¬¦  «        dt          z  k    sJ ‚t          t          j        dd¬¦  «        dt          z  k    sJ ‚t          t          dd¬¦  «        dt          z  k    sJ ‚t          t          dd¬¦  «        dt          z  k    sJ ‚t          t          dd
¬¦  «        dk    sJ ‚t          t          dd
¬¦  «        dk    sJ ‚t          d dd
¬¦  «        dk    sJ ‚t          ddd
¬¦  «        dk    sJ ‚t          t          d
d¬¦  «        dt          z  k    sJ ‚t          t          d
d¬¦  «        dt          z  k    sJ ‚t          t          d
d¬¦  «        dt          z  k    sJ ‚t          t          j        d
d¬¦  «        dt          z  k    sJ ‚t          t          j        d
d¬¦  «        dt          z  k    sJ ‚t          d d
d¬¦  «        dk    sJ ‚t          dd
d¬¦  «        d	k    sJ ‚d S )NF©Úsourcer=   r>   rC   zfrom %s import bar
r4   r1   r2   Tzdef add(x,y):
  return x+y
zsquared = lambda x:x**2
r+   r,   z!def bar(self, x):
  return x*x+x
Úmemo)ÚaliasrN   zfrom %s import bar as memo
zfrom %s import Foo as memo
zfrom %s import squared as memo
zmemo = squared = lambda x:x**2
z'def add(x,y):
  return x+y

memo = add
zmemo = None
zmemo = 100
)r3   rN   )r   r#   r   r?   r   r   rH   r&   r   r   r   Útest_importablerQ   c   sÝ  € Ý	•C Ð	&Ñ	&Ô	&Ð*@Å8Ñ*KÒ	KÐ	KÐ	KÐ	KÝ	•G EÐ	*Ñ	*Ô	*Ð.HÍ8Ñ.SÒ	SÐ	SÐ	SÐ	SÝ	•C Ð	&Ñ	&Ô	&Ð*@Å8Ñ*KÒ	KÐ	KÐ	KÐ	KÝ	•C”G EÐ	*Ñ	*Ô	*Ð.DÅxÑ.OÒ	OÐ	OÐ	OÐ	OÝ	•D”H UÐ	+Ñ	+Ô	+Ð/EÍÑ/PÒ	PÐ	PÐ	PÐ	PÝ	�D Ð	'Ñ	'Ô	'¨8Ò	3Ð	3Ð	3Ð	3Ý	�C Ð	&Ñ	&Ô	&¨'Ò	1Ð	1Ð	1Ð	1å	•C Ð	%Ñ	%Ô	%Ð)HÒ	HÐ	HÐ	HÐ	HÝ	•G DÐ	)Ñ	)Ô	)Ð-HÒ	HÐ	HÐ	HÐ	HÝ	�D Ð	&Ñ	&Ô	&¨(Ò	2Ð	2Ð	2Ð	2Ý	•C Ð	%Ñ	%Ô	%Ð)?Ò	?Ð	?Ð	?Ð	?Ý	•C Ð	%Ñ	%Ô	%Ð)fÒ	fÐ	fÐ	fÐ	fÝ	•C”G DÐ	)Ñ	)Ô	)Ð-RÒ	RÐ	RÐ	RÐ	RÝ	•C”G EÐ	*Ñ	*Ô	*Ð.DÅxÑ.OÒ	OÐ	OÐ	OÐ	OÝ	•C”G 6°%Ð	8Ñ	8Ô	8Ð<ZÕ]eÑ<eÒ	eÐ	eÐ	eÐ	eÝ	•C˜v¨eÐ	4Ñ	4Ô	4Ð8VÕYaÑ8aÒ	aÐ	aÐ	aÐ	aÝ	•G 6°%Ð	8Ñ	8Ô	8Ð<^ÕaiÑ<iÒ	iÐ	iÐ	iÐ	iÝ	•G 6°$Ð	7Ñ	7Ô	7Ð;]Ò	]Ð	]Ð	]Ð	]Ý	•C˜v¨dÐ	3Ñ	3Ô	3Ð7dÒ	dÐ	dÐ	dÐ	dÝ	�D ¨tÐ	4Ñ	4Ô	4¸Ò	GÐ	GÐ	GÐ	GÝ	�C˜v¨dÐ	3Ñ	3Ô	3°~Ò	EÐ	EÐ	EÐ	EÝ	•C ¨eÐ	4Ñ	4Ô	4Ð8NÕQYÑ8YÒ	YÐ	YÐ	YÐ	YÝ	•G T°%Ð	8Ñ	8Ô	8Ð<VÕYaÑ<aÒ	aÐ	aÐ	aÐ	aÝ	•C ¨eÐ	4Ñ	4Ô	4Ð8NÕQYÑ8YÒ	YÐ	YÐ	YÐ	YÝ	•C”G T°%Ð	8Ñ	8Ô	8Ð<RÕU]Ñ<]Ò	]Ð	]Ð	]Ð	]Ý	•D”H d°5Ð	9Ñ	9Ô	9Ð=SÕV^Ñ=^Ò	^Ð	^Ð	^Ð	^Ý	�D $¨uÐ	5Ñ	5Ô	5¸Ò	AÐ	AÐ	AÐ	AÝ	�C ¨eÐ	4Ñ	4Ô	4¸Ò	?Ð	?Ð	?Ð	?Ð	?Ð	?r   c                  óp  — 	 dd l } | j        } |g d¢¦  «        }t          |d¬¦  «        dk    sJ ‚t          |d¬¦  «        d|j        z  k    sJ ‚t          |d¬¦  «        dk    sJ ‚t          |d¬¦  «        d|j        z  k    sJ ‚| j        } |d¦  «        }t          |d¬¦  «        dk    sJ ‚t          |d¬¦  «        d	|j        z  k    sJ ‚t          |d¬¦  «        dk    sJ ‚t          |d¬¦  «        d	|j        z  k    sJ ‚| j        } |d¦  «        }dd l}|                     ¦   «         5  |                     d
t          ¬¦  «         |                     d
t          ¬¦  «         t          | d¦  «        r| j        t          u rdnd}nd}d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «        d|›d|›d�k    sJ ‚t          |d¬¦  «        d|j        ›d|›d�k    sJ ‚t          |d¬¦  «        d|›d|›d�k    sJ ‚t          |d¬¦  «        d|j        ›d|›d�k    sJ ‚d S # t          $ r Y d S w xY w)Nr   )é   r   é   FrM   z)from numpy import array
array([1, 2, 3])
zfrom %s import array
Tz!from numpy import int64
int64(0)
zfrom %s import int64
Úignore)ÚcategoryÚboolÚbool_zfrom numpy import ú
z(False)
zfrom z import )ÚnumpyÚarrayr   r   Úint64rX   ÚwarningsÚcatch_warningsÚfilterwarningsÚFutureWarningÚDeprecationWarningÚhasattrrW   ÚImportError)Únpr"   r   r]   Úbs        r   Ú
test_numpyrf   ƒ   s!  € ðØÐÐÐØ
Œ€AØ	ˆˆ'ˆ'ˆ'‰
Œ
€AÝ�a Ð&Ñ&Ô&Ð*WÒWÐWÐWÐWÝ�a Ð&Ñ&Ô&Ð*BÀQÄ\Ñ*QÒQÐQÐQÐQÝ�a Ð%Ñ%Ô%Ð)VÒVÐVÐVÐVÝ�a Ð%Ñ%Ô%Ð)AÀAÄLÑ)PÒPÐPÐPÐPØ
Œ€AØ	ˆˆ!‰Œ€AÝ�a Ð&Ñ&Ô&Ð*OÒOÐOÐOÐOÝ�a Ð&Ñ&Ô&Ð*BÀQÄ\Ñ*QÒQÐQÐQÐQÝ�a Ð%Ñ%Ô%Ð)NÒNÐNÐNÐNÝ�a Ð%Ñ%Ô%Ð)AÀAÄLÑ)PÒPÐPÐPÐPØ
Œ€AØ	ˆˆ!‰Œ€AØ€O€O€OØ	×	 Ò	 Ñ	"Ô	"ð ð Ø×Ò µ=ÐÑAÔAÐAØ×Ò Õ3EÐÑFÔFÐFÝ�2�vÑÔð 	¨r¬w½$¨¨ G GÀF  Øˆað	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 �a Ð&Ñ&Ô&Ð&ÐQRÐQRÐQRÐSTÐSTÐSTÐ*UÒUÐUÐUÐUÝ�a Ð&Ñ&Ô&Ð&À1Ä<À<À<ÐPQÐPQÐPQÐ*RÒRÐRÐRÐRÝ�a Ð%Ñ%Ô%Ð%ÐPQÐPQÐPQÐRSÐRSÐRSÐ)TÒTÐTÐTÐTÝ�a Ð%Ñ%Ô%Ð%À!Ä,À,À,ÈqÈqÈqÐ)QÒQÐQÐQÐQÐQÐQøÝ	ÐÐÐ�d�d�dÐøøøs8   ‚D,H' Ä.AFÆH' ÆFÆH' ÆFÆ BH' È'
H5È4H5c                  ó\   — t          t          d¬¦  «                             d¦  «        sJ ‚d S )NTrM   zOimport dill
class Foo(object):
  def bar(self, x):
    return x*x+x
dill.loads()r   rH   Ú
startswithr   r   r   Útest_foori   ¡   sH   € Ý	•D Ð	&Ñ	&Ô	&×	1Ò	1ð  3Hñ  
Iô  
Ið  Ið  Ið  Ið  Ið  Ir   Ú__main__)Údill.sourcer   r   r   r   r   Ú
dill._dillr   rE   rG   r   r   r   Úobjectr   rH   r#   r?   r&   Ú_barr-   r/   r6   r;   r@   rK   rQ   rf   ri   r   r   r   r   ú<module>ro      s  ðð =Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à 
€
€
€
Ø	€à€N€Ø Ð Ð ðð ð ðð ð ð ð ˆ&ñ ô ð ð €s�u„u€ðð ð ð ˆ-€ðð ð ð ð ñ ô ð à
€s�u„u€ðYð Yð Yð$Eð Eð Eð	3ð 	3ð 	3ð4ð 4ð 4ð
Eð Eð Eð
>ð 
>ð 
>ð@ð @ð @ð@ð ð ð<Ið Ið Ið ˆzÒÐØ€NÑÔÐØ€K�M„M€MØ€L�N„N€NØ€M�O„O€OØ€L�N„N€NØ€L�N„N€NØ€OÑÔÐØ€J�L„L€LØ€H�J„J€J€J€Jð Ðr   