+
    LV-jŽ²  ã                   óŠ  € R t . R!Ot^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
HtHtHtHtHtHtHt ^ RIHt ^RIHt R tR tR tR tR"R	 ltR#R
 ltR$R ltR tR tR tR t R%R lt!R&R lt"R&R lt#]$! 4       t%]&! 4       t'R t(R'R lt)R(R lt*R#R lt+R t,R)R lt-R*R lt.R+R lt/R,R lt0R'R lt1R-R lt2R)R lt3R#R lt4R.R  lt5]+t6]t7R# )/a;  
Extensions to python's 'inspect' module, which can be used
to retrieve information from live python objects. The methods
defined in this module are augmented to facilitate access to
source code of interactively defined functions and classes,
as well as provide access to source code for objects defined
in a file.
N)ÚgetblockÚgetfileÚ	getmoduleÚgetsourcefileÚ
indentsizeÚ	isbuiltinÚisclassÚiscodeÚisframeÚ
isfunctionÚismethodÚismoduleÚistraceback)Ú
TokenError)Ú
IS_IPYTHONc                óR   € \        V 4      pV'       d   VP                  R8X  d   R# R# )z%check if object was built in __main__Ú__main__TF)r   Ú__name__)ÚobjÚmodules   & Ú\/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/dill/source.pyÚ
isfrommainr   #   s   € ä�s‹^€Fß�&—/‘/ ZÔ/ÙÙó    c                óv   € \        V 4      pVR8X  d   \        V 4      '       d   R# R#   \         d    Rp L+i ; i)z,check if object was built in the interpreterNú<stdin>TF)r   Ú	TypeErrorr   )r   Úfiles   & r   Ú	isdynamicr   +   s2   € ä˜“ˆàˆyÔœZ¨Ÿ_š_ÙÙøô Ô!˜T’dÐ!ús   �( ¨8·8c           	     óH  aa€ ^RI Hp ^RI HpHpHp R pVP                  R^4      R,          P                  R^4      w  rx \        RV: RV: 2\        4       \        4       4      oV! S4      P                  V! V 4      P                  uop	V! V 4      P                  4        U
u. uF  q¡P                  V
4      NK  	  up
oS'       g   SV	8X  d   R# R# \        S4      '       g   R# V! V 4      oS^ ,          S^,          ,            U
u. uF  q¡P                  V
4      NK  	  up
oS'       d   \        S4      '       g   R# V! V 4      P                  4        U
u. uF  q¡P                  V
4      NK  	  up
oS'       d   \        S4      '       g   R# VP                  R4      ^8”  dÜ   Ws! V 4      P                  4       9   dÂ   VP                  R^4      R,          P                  R^4      w  r¼ \        RV: RV: 2\        4       \        4       4      oV! S4      P                  V! V 4      P                  uop	\        S4      \        V	4      8w  d   R# \        R	 \!        SV	4       4       4      o\        S4      ^8w  d   R# R# \#        V4      '       g   R# SP                  S^ ,          4      oV	P                  V	^ ,          4      o\%        V3R
 l\'        ^\        S4      4       4       4      o\%        V3R l\'        ^\        S4      4       4       4      oSP                  4       SP                  4       8X  d8   \)        SP+                  4       4      \)        SP+                  4       4      8X  d   R# R#   \         d    To ELi ; iu up
i u up
i u up
i   \         d    To EL’i ; i)z=check if lambda object 'func' matches raw line of code 'line')Úcode)ÚfreevarsÚ
globalvarsÚvarnamesc                  ó   € R # )Ú __this_is_a_big_dummy_function__© r%   r   r   Ú<lambda>Ú_matchlambda.<locals>.<lambda>8   s   € Ñ7r   úlambda Ú:z : TFc              3   ó<   "  € T F  w  rW8w  g   K  W3x € K  	  R # 5i©Nr%   )Ú.0ÚiÚjs   &  r   Ú	<genexpr>Ú_matchlambda.<locals>.<genexpr>X   s   é € Ð9¡;™%˜1°!±&”�•£;ùs   ‚
‘c              3   ó|   <"  € T F1  p\         P                  ! R SV,          4      P                  4       x € K3  	  R# 5i©z([\W\D\S])(.*)N©ÚreÚmatchÚgroups)r,   r-   Ú_s   & €r   r/   r0   b   s-   øé € ÐQÁ¸AŒR�XŠXÐ'¨¨1­Ó.×5Ñ5×7Ð7Ãùó   ƒ9<c              3   ó|   <"  € T F1  p\         P                  ! R SV,          4      P                  4       x € K3  	  R# 5ir2   r3   )r,   r-   Ú_fs   & €r   r/   r0   c   s/   øé € ÐTÑCS¸aŒb�hŠhÐ(¨"¨Q­%Ó0×7Ñ7×9Ð9ÓCSùr8   éÿÿÿÿ)Údetectr   r    r!   r"   ÚsplitÚevalÚglobalsÚlocalsÚ	ExceptionÚco_codeÚkeysÚcountÚallÚlenÚsetÚzipr   ÚdictÚrangeÚsortedÚvalues)ÚfuncÚlineÚgetcoder    r!   r"   ÚdummyÚlhsÚrhsr   r-   Ú_lhsÚ_rhsr7   r:   s   &&           @@r   Ú_matchlambdarU   4   s³  ù€ å'ß6Ñ6Ù7€Eà�j‰j˜ 1Ó% bÕ)×/Ñ/°°QÓ7�G€Cð Ý£SªÐ-¬w«y¼»ÓBˆñ �a‹j× Ñ ¡'¨$£-×"7Ñ"7€G€A€tá!)¨$£×!4Ñ!4Ô!6Ó	7Ñ!6˜A�*‰*�QŽ-Ñ!6Ñ	7€Bßà�Œ9™TÙäˆr�7Š7™5á	�$‹€BØ!# A¥ r¨!¥u¦Ó	-¡˜A�*‰*�QŽ-¡Ñ	-€Bß	”#�b—'’'¡%Ù!+¨DÓ!1×!6Ñ!6Ô!8Ó	9Ñ!8˜A�*‰*�QŽ-Ñ!8Ñ	9€Bß	”#�b—'’'¡%à�
‰
�9Ó Ô!¨¨x¸«~×/BÑ/BÓ/DÔ(DØ—I‘I˜i¨Ó*¨2Õ.×4Ñ4°S¸Ó;‰	ˆð	%Ý«$ªtÐ4´g³iÄÃÓIˆBñ ˜"“+×%Ñ%¡w¨t£}×'<Ñ'<ˆˆˆ4Üˆq‹6”S˜“YÔ¡uäÑ9¤3 q¨¤;Ó9Ó9ˆÜˆq‹6�QŒ;™uÙä�d×Ò¡Eð 	
�‰��!•‹€AØ	�‰�D˜•GÓ	€BäÔQÄÀqÌÈQËÄÓQÓQ€AÜ	ÔTÄ5ÈÌ3ÈrË7ÔCSÓTÓ	T€BØ	�‰‹�B—G‘G“IÔ¤F¨1¯8©8«:Ó$6¼&ÀÇÁÃÓ:MÔ$MÙÙøôS Ô˜%“aÐüò 
8ùò 
.ùâ	9øô Ô$˜u›"Ð$ús6   Á%M- Â$NÄNÅNÇ)%N Í-M>Í=M>ÎN!Î N!c                ó®  € \        V 4      p\        V4      pT;'       d    VP                  R8H  ;'       d    V'       * p\        '       d”   V'       dŒ    \        V 4      p\        V 4      pT'       d   \        P                  ! T4      pEM™RP                  \        4       P                   P"                  4      pTP%                  4        U	u. uF  q™R,           NK  	  pp	EMEV'       dc    ^ RIp
RpV'       d   \3        V4      hX
P5                  4       p\7        ^V^,           4       Uu. uF  qêP9                  V4      R,           NK  	  ppMÛ \        V 4      '       g2   \        \;        V 4      4      '       d   \        V4      p\        V4      pM\        V 4      p\        V 4      p V'       g$   VR	,          VRR ,           R
8w  d   \3        R4      hV'       d   TMTp\        W4      pV'       d"   \        P                  ! W!P                  4      pM\        P                  ! V4      pV'       g   \3        R4      h\?        V 4      '       d   V^ 3# R;p;ppRp\A        V 4      '       d%   V P                  pVR8X  d   RpMRpV PB                  p \        V 4      '       d'   V P                  pVR8X  d   RpT pMRpV PD                  p \G        V 4      '       d   V PH                  p \K        V 4      '       d   V PL                  p \O        V 4      '       EdO   \Q        V R4      '       g   \3        R4      hV PR                  R8H  pV'       d   \U        V4      ^,
          pV'       g   RpMV PV                  ^,
          pRp\X        PZ                  ! V4      p\X        PZ                  ! V4      pV^ 8”  d²   VV,          p	VP]                  V	4      '       d‡   V'       g    VV3# VR8X  d   \_        VV	4      '       d    VV3# MZWù9   dU   ^ p\7        V^,
          RR4       F,  pVP]                  VV,          4      '       d   V^,          pK,   M	  VV,
          p VV3# V^,
          pK¸  VV3#  \        V 4      '       g'   \        \;        V 4      4      '       d   V P`                  p \        T 4      '       dè   T P                  p\X        PZ                  ! RT,           R,           4      p. p\7        \U        T4      ^,
          RR4       F_  pTP]                  Y~,          4      pT'       g   K$  Y~,          ^ ,          R8X  d   Y~3u # TPc                  TPe                  ^4      T34       Ka  	  T'       d#   TPg                  4        TT^ ,          ^,          3# \3        R4      h\3        R4      h  \         d    Rp EL�i ; i  \         dy    \        T 4      '       dd   \        \        T P                  P                  4       4       F7  p\        T4      pTP                  R4      '       g   K'  Tp\        T4      p  EK»  	   ELÀi ; iu up	i   \(         dR    ^ RIpTP-                  4       ^,          P.                  ^ ,          pTP0                  R,          R8X  d
   TR,          p EL¡i ; iu upi   \        \<        3 d    \        T 4      p\        T 4      p ELi ; i  \<         d     ELBi ; i)aü  Return the entire source file and starting line number for an object.
For interactively-defined objects, the 'file' is the interpreter's history.

The argument may be a module, class, method, function, traceback, frame,
or code object.  The source code is returned as a list of all the lines
in the file and the line number indexes a line in that list.  An IOError
is raised if the source code cannot be retrieved, while a TypeError is
raised for objects where the source code is unavailable (e.g. builtins).Nr   z<ipython-input-Ú
Ú :Né   NÚwinz, please install 'pyreadline':Né   Nz<>zsource code not availablezcould not extract source codeú^(\s*@)ú<lambda>z(.*(?<!\w)lambda(:|\s))z^(\s*def\s)Úco_firstlinenoz"could not find function definitionr   z+^(\s*def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)z^(\s*)class\s*z\bÚczcould not find class definitionzcould not find code objectr;   )4r   r   r   r   r   r   r   Úfilterr   Ú__dict__rL   Ú
startswithÚ	linecacheÚgetlinesÚjoinÚget_ipythonÚhistory_managerÚinput_hist_parsedÚ
splitlinesÚreadlineÚImportErrorÚsysÚexc_infoÚargsÚplatformÚIOErrorÚget_current_history_lengthrJ   Úget_history_itemÚtypeÚAttributeErrorr   r   Ú__func__Ú__code__r   Útb_framer
   Úf_coder	   ÚhasattrÚco_filenamerF   r^   r4   Úcompiler5   rU   Ú	__class__ÚappendÚgroupÚsort)Úobjectr   r   Úis_module_mainÚ
sourcefileÚobject_methodÚfile_candidateÚlinesÚhistoryrN   rj   Úerrrl   Úlbufr-   ÚnameÚpat1r   Úpat2ÚstdinÚlnumÚhatsÚ_lnumÚpatÚ
candidatesr5   s   &                         r   Ú
findsourcer’   i   s·  € ô �vÓ€FÜ˜“ˆà×KÐK §¡°JÑ!>×KÐKÀtÄ8€Nßƒz—nð	Ü˜6“?ˆDÜ& vÓ.ˆJ÷ Ü×&Ò& tÓ,ŠEð —i‘i¤£× =Ñ =× OÑ OÓPˆGØ-4×-?Ñ-?Ô-AÓBÑ-A T˜D—[�[Ñ-AˆEÐB‰Eç	ð	7ÛØˆC÷ Ü˜#“,ÐØ×2Ñ2Ó4ˆÜ<AÀ!ÀDÈÅF¼OÓL¹O°q×*Ñ*¨1Ó-¨d×2Ð2¹OˆÐLˆð		/Ü˜6—?’?¤w¬t°F«|×'<Ò'<Ü˜v“�Ü*¨6Ó2‘
ä˜v“�Ü*¨6Ó2‘
÷ ˜d 2�h¨¨b¨c¨Õ2°dÔ:ÜÐ5Ó6Ð6ß'‰z¨Tˆä˜6Ó(ˆßÜ×&Ò& t¯_©_Ó=‰Eä×&Ò& tÓ,ˆEçÜÐ5Ó6Ð6ô �×ÒØ�aˆxˆð Ð€DÐˆ4�#Ø€Dä�×ÒØ�‰ˆØ�:ÔÐ&@™tØ#ˆdØ—‘ˆÜ�&×ÒØ�‰ˆØ�:ÔØ-ˆDØ‰CØ#ˆdØ—‘ˆÜ�6×ÒØ—‘ˆÜˆv‡‚Ø—‘ˆÜˆf‡~ƒ~Ü�vÐ/×0Ò0ÜÐ>Ó?Ð?Ø×"Ñ" iÑ/ˆßÜ�u“: •>ˆDßÐ N˜øà×(Ñ(¨1Õ,ˆDØAˆDÜ�zŠz˜$Óˆ¬¯
ª
°4Ó(8 à�QŒhØ˜•;ˆDØ�z‰z˜$×Òß˜eð �dˆ{Ðð ˜:Ô%Ü# C¨×.Ò.°ð �dˆ{Ðð /à”|Ø ˜Ü%*¨4°­6°"°RÖ%8˜EØ#Ÿz™z¨%°­,×7Ò7¸À½ºÙ"'ñ &9ð  $ d�{˜Øà�dˆ{Ðð ˜!•8ŠDØ�dˆ{Ðð Ü�v�Š¤7¬4°«<×#8Ò#8Ø×%Ñ%ˆFô ˆv‡‚Ø�‰ˆÜ�jŠjÐ*¨TÕ1°EÕ9Ó:ˆð ˆ
Ü”s˜5“z !•| B rÖ*ˆAØ—I‘I˜e�hÓ'ˆEß‰uà•8˜A•; #Ô%Ø ˜8’Oà×!Ñ! 5§;¡;¨q£>°1Ð"5Ö6ñ +÷ ð �O‰OÔØ˜* Q�-¨Õ*Ð*Ð*äÐ;Ó<Ð<Ü
Ð.Ó
/Ð/øô[ Ô!˜T“dÐ!ûô ô 		Ü�v�ŠÜ%+¬J¸¿¹×8NÑ8NÓ8PÖ%Q�Mä%,¨]Ó%;�NØ)×4Ñ4Ð5F×GÒGÙ Ø)�DÜ!.¨}Ó!=�JÜñ &Rúð		üò Cøô ô 	7ÛØ—,‘,“. Õ#×(Ñ(¨Õ+ˆCØ�|‰|˜BÕ 5Ô(ØÐ6Õ6�úð		7üò Møô œ>Ð*ô 	/Ü˜6“?ˆDÜ& vÓ.‹Jð	/ûôR Ôš4Ðúst   ŒV ÁV( Ã	X.Ã'X3 Ä% ZÅ	AZ ÆZ Ñ7[ ÖV%Ö$V%Ö(A9X+Ø%X+Ø*X+Ø3AZÚZÚ'[Û[Û[Û[c                ó(  € \        V 4      w  rE\        V 4      '       d#   V'       d   \        V4      pVRJ d   V.^ .3# V.# \        WE,          4      p\	        WER 4      pV'       d	   V'       g#   V'       d   \        V4      pVRJ d   V.V.3# V.# Rp\
        P                  ! V4      pRp	\
        P                  ! V	4      p	^ p
^ p. p. pRP                  V4      pWµ8:  Ed?   VP                  WK,          4      '       d«   V
'       g   \	        WKR 4      p\        WK,          4      V8”  d   V\        X4      V
,
          ,          pMaVRP                  X4      9   dC   VP                  V4       VP                  Wº,
          4       V\        V4      V
,
          ,          pM	V^,          p^ p
KÎ  V	P                  WK,          4      '       dM   \	        WKR 4      p^p
VR,           F%  pV	P                  V4      '       g    MV
^,          p
K'  	  Wº,          pEK7  V^,          p^ p
EKE  V'       g   V.pV.pV'       d   V Uu. uF  p\        V4      NK  	  ppVRJ d   WÍ3# T#   \         d    YK,          .p EL^i ; i  \         d    YK,          .p L¹i ; iu upi )a†  Return a list of source lines and starting line number for an object.
Interactively-defined objects refer to lines in the interpreter's history.

If enclosing=True, then also return any enclosing code.
If lstrip=True, ensure there is no indentation in the first line of code.
If locate=True, then also return the line number for the block of code.

DEPRECATED: use 'getsourcelines' instead
TNz#^(\s*def\s)|(.*(?<!\w)lambda(:|\s))r\   rX   :r[   NN)r’   r   Ú_outdentr   r   r4   r{   re   r5   r   rF   r}   )r€   ÚlstripÚ	enclosingÚlocater…   r�   ÚindentÚblockrŠ   r‹   ÚskiprN   Úblocksr�   Útargetr   Ú_lines   &&&&             r   Ú	getblocksrž     s5  € ô ˜VÓ$�K€Eä�×Òßœ8 E›?�5Ø!'¨4£��˜!˜ˆ~Ð<°e°WÐ<ô ˜�Ó$€FÜ�U˜5�\Ó"€EçŸFßœ8 E›?�5Ø$*¨d£N��˜$˜Ð Ð?¸¸Ð?à1€D¼"¿*º*ÀTÓ:J°4Ø€DœbŸjšj¨Ó.�tð
 €DØ€DØ€F˜�Ø�W‰W�U‹^€FØ
�,à�:‰:�e•k×"Ò"ßÜ$ U¨5 \Ó2�Tä˜%�+Ó&¨Ô/Øœ˜D›	 DÕ(Õ(‘Ø˜2Ÿ7™7 4›=Ô(Ø—‘˜dÔ#Ø—‘˜T�[Ô)Øœ˜D›	 DÕ(Õ(‘à˜•	�ØŠDà�Z‰Z˜�×$Ò$Ü   u Ó.�àˆDØ˜bŸ˜�Ø—z‘z %×(Ò(©%Ø˜•	’ñ "ð �L‹Dð �1�HˆDØ‹DçØ�ˆØ�ˆß±fÓ=±f¨Uœ %ž±fˆvÐ=à$¨›nˆFˆ?Ð8°&Ð8øô; "Ô7¨5­;¨-£4Ð7ûô Ô3 u¥{ mštÐ3üò >s*   ÄI ÇI5 È9JÉI2É1I2É5JÊJc                óF   € \        WVRR7      w  r4VR,          VR,          3# )a»  Return a list of source lines and starting line number for an object.
Interactively-defined objects refer to lines in the interpreter's history.

The argument may be a module, class, method, function, traceback, frame,
or code object.  The source code is returned as a list of the lines
corresponding to the object and the line number indicates where in the
original source file the first line of code was found.  An IOError is
raised if the source code cannot be retrieved, while a TypeError is
raised for objects where the source code is unavailable (e.g. builtins).

If lstrip=True, ensure there is no indentation in the first line of code.
If enclosing=True, then also return any enclosing code.T)r•   r–   r—   r;   )rž   )r€   r•   r–   r   Úns   &&&  r   Úgetsourcelinesr¡   L  s&   € ô ˜¸È4ÔP�G€DØ��8�Q�r•Uˆ?Ðr   c           	     óP  € \        V 4      p\        V 4      p \        WR7      w  r‰T'       g	   T'       d   \#        T4      pT'       dd   R\%        T 4      9   d   TP'                  RT ,          4       M:\)        T RTR
R7      pTP                  R4       Uu. uF  qÿR,           NK  	  upRR ^ r˜T'       Ed¶   T'       Ed   ^ pT F%  pTP+                  R4      '       g    MT^,          pK'  	  TT,          P!                  4       P+                  R4      '       d7   YP                  8w  d%   TP'                  RT: RT P                  : R24       EMRTT,          9   dF   YT,          P                  R4      ^ ,          P-                  4       8w  d   T: RTT,          : 2TT&   MÊYP                  8w  d%   TP'                  RT: RT P                  : R24       M•T'       dM   YR,          P                  R4      ^ ,          P-                  4       8w  d   RT,          TR,          ,           TR&   MA\        T RR7      ;'       g    T P                  pY8w  d   TP'                  RT: RT: R24       RP/                  T4      #   \        \        3 Ed”    T'       g   h \        T 4      '       gd   T'       g   \        YTR7      u # \        YR7      p
\        T RR7      pT'       d
   RT,          MRpY8X  d   RpY¬,           RT,          ,           u # T'       g   \        YTR7      u # T P                  P                  pT P                  pTP                  4       '       dY   \        ;QJ d+    R TP                  R	4       4       F  '       d   K   R
M 	  RM! R TP                  R	4       4       4      '       g   \        R4      hTR9   d   \        YTR7      u # T: RT: RT: RT: R2.^ r˜\        T^ ,          P!                  TR,           4      4      p\        YãR7      w  r‰ ELùi ; iu upi )aû  Return the text of the source code for an object. The source code for
interactively-defined objects are extracted from the interpreter's history.

The argument may be a module, class, method, function, traceback, frame,
or code object.  The source code is returned as a single string.  An
IOError is raised if the source code cannot be retrieved, while a
TypeError is raised for objects where the source code is unavailable
(e.g. builtins).

If alias is provided, then add a line of code that renames the object.
If lstrip=True, ensure there is no indentation in the first line of code.
If enclosing=True, then also return any enclosing code.
If force=True, catch (TypeError,IOError) and try to use import hooks.
If builtin=True, force an import for any builtins
)r–   )ÚbuiltinT©Úforceú%s = rX   ú%s
c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir+   )Úisidentifier)r,   r-   s   & r   r/   Úgetsource.<locals>.<genexpr>‡  s   é € Ð1^ÑL]Àq·.±.×2BÐ2BÓL]ùs   ‚Ú.Fzinvalid syntaxz = __import__('z', fromlist=['z']).rW   z = Ú(z%r
)ÚaliasÚnewÚencloseNÚ@zdef r(   Ú=©ÚbuiltinsÚ__builtin__r;   )Ú_hascodeÚ_isinstancer¡   r   rp   r   Ú	getimportÚgetnamer|   r   Ú
__module__r©   rE   r=   ÚSyntaxErrorr>   r•   r”   Úreprr}   Ú
dumpsourcerb   Ústripre   )r€   r­   r•   r–   r¥   r£   ÚhascodeÚinstancer…   r�   Ú_importr‰   Ú_aliasr   r   rN   rš   s   &&&&&&           r   Ú	getsourcerÂ   ^  s2  € ô$ �vÓ€Gä˜6Ó"€HðGÜ$ VÔA‰ˆ÷6 —Ü˜“ˆ÷ Ø”$�v“,Ô §¡¨V°f­_Õ =ô ˜v¨R°UÀEÔJˆEØ16·±¸TÔ1BÓCÑ1B¨ Ÿ9˜9Ñ1BÑCÀCÀRÐHÈ!�4÷ €ußˆ7ØˆDÛ�Ø—‘ s×+Ò+©UØ˜•	’ñ ð �T�{×!Ñ!Ó#×.Ñ.¨v×6Ò6ØŸO™OÔ+Ø—L’L³%¸¿¼Ð!IÔJùØ˜e D�kÔ)Ø $�K×-Ñ-¨cÓ2°1Õ5×;Ñ;Ó=Ô=Û/4°e¸D·kÐ"B�E˜$‘KøàŸO™OÔ+Ø—L’L³%¸¿¼Ð!IÔJøçØ "�IŸO™O¨CÓ0°Õ3×9Ñ9Ó;Ô;Ø!(¨5¥°E¸"µIÕ =�E˜"‘Iøä˜v¨TÔ2×EÐE°f·o±o�Ø”=Ø—L’L³%»Ð!>Ô?Ø�7‰7�5‹>ÐøôE ”wÐõ GßØÜ˜× Ò ß¤I¨fÀWÔ$MÒMä Ô8ˆGÜ˜6¨Ô.ˆDß(-�W˜u–_°2ˆFØŒ} r˜fØ•> &¨4¥-Õ/Ò/ç¤I¨fÀWÔ$MÒMà×#Ñ#×,Ñ,ˆDØ×&Ñ&ˆFØ×$Ñ$×&Ò&¯c«cÑ1^ÈFÏLÉLÐY\ÔL]Ó1^¯c¯cªcÑ1^ÈFÏLÉLÐY\ÔL]Ó1^×.^Ò.^Ü!Ð"2Ó3Ð3ØÐ3Ô3Ü  ¸Ô@Ò@ãPTÓU[Ó\`ÓaeÐfÐgÐij�tÜ˜5 �8Ÿ?™?¨4°%­<Ó8Ó9�Ü,¨SÔF‘�’tð/GüòL Ds[   ˜I; ÂP#É;P ÊP Ê/P Ê>A
P Ì
P ÌP Ì!7P Í
P Í$ P Î)P Î1P ÏA
P ÐP c                óF   € \        V RR4      ;'       g    \        V RR4      # )z9True if object has an attribute that stores it's __code__rv   NÚ	func_code)Úgetattr©r€   s   &r   rµ   rµ   ¼  s"   € ä�6˜* TÓ*×NÐN¬g°f¸[ÈÓ.NÐNr   c                ó  € \        V 4      '       g#   \        V 4      '       g   \        V 4      '       d   R# \        V 4      '       g#   \	        V 4      '       g   \        V 4      '       d   R# \        V 4      '       g&   \        \        V 4      4      P                  R9   d   R# Rp\        \        V 4      4      P                  V4      '       g   R# \        V 4      '       d$   V P                  R9   g   \        V RR7      R9   d   R# R# )z>True if object is a class instance type (and is not a builtin)FTr¤   )Únumpy)z<class z<type 'instance'>r²   )Úarray)rµ   r   r   r   r
   r	   r   rs   r   r»   rb   r¹   r¸   )r€   Ú_typess   & r   r¶   r¶   À  s¹   € ä�×Òœ7 6Ÿ?š?¬h°v×.>Ò.>ÙÜ�6×Òœg fŸošo´¸·²Ùä�V×Ò¤¬4°«<Ó!8×!AÑ!AÀYÔ!NÙð -€FÜ”�V“Ó×(Ñ(¨×0Ò0ÙÜ�V×Ò × 1Ñ 1Ð5OÔ OÔSZÐ[aÐimÔSnÐr{ÔS{ÙÙr   c                ó�   € ^ RI p\        V 4      \        R4      Jd   \        V RR7      p V R8X  d   Rp \        W4      '       d   R# R# )z(check if object is in the 'types' moduleNrX   Tr¤   ÚellipsisÚEllipsisTypeF)Útypesrs   r¸   ry   )r€   rÎ   s   & r   Ú_intypesrÏ   Ô  sB   € ãäˆFƒ|œ4 ›8Ó#Ü˜ tÔ,ˆØ�Ô n˜VÜ˜5×)Ò)ˆ4Ð4¨uÐ4r   c                ó.   € \        V \        \        34      # )z%check if object is a string-like type)Ú
isinstanceÚstrÚbytesrÆ   s   &r   Ú	_isstringrÔ   Þ  s   € ä�fœs¤E˜lÓ+Ð+r   c                ó~  € \        V 4      p^ RIHp \        W4      '       d
   RV,          p\        V4      pV P	                  R4      p\        \        V4      4       F-  p\        WV,          4      pW'8”  d   K  WV,          ,           WV&   K/  	  VR,          P                  4       R8X  d   RVR&   RP                  V4      # )z<indent a block of code with whitespace (default is 4 spaces))ÚIntegralÚ rW   rX   r;   )	r   ÚnumbersrÖ   rÑ   r=   rJ   rF   r½   re   )r   Úspacesr˜   rÖ   Únspacesr…   r-   Ú_indents   &&      r   r˜   r˜   ã  sœ   € ä˜Ó€FÝ Ü�&×#Ò#¨c°&­j Vä˜Ó €Gà�J‰J�tÓ€Eô ”3�u“:Öˆä˜U�XÓ&ˆØÔ™XØ �(•?ˆ‹ñ	 ð  ˆR…y‡�Ó˜BÔ¨B  b¡	Ø�9‰9�UÓÐr   c                óì   € \        V ^ ,          4      pVe   W8”  g   V^ 8  d   Tp\        V'       d   \        V 4      M^4       F,  p\        W,          4      pW8”  d   TpMTpW,          VR W&   K.  	  V # )zAoutdent lines of code, accounting for docs and line continuationsN)r   rJ   rF   )r…   rÙ   rE   r˜   r-   rÛ   Ú_spacess   &&&    r   r”   r”     sl   € ä˜˜a�Ó!€FØ‚~˜œ¨F°Q¬JÀ¸Ü§”3�u”:¨!Ö,ˆä˜U�XÓ&ˆØÔ w™WØˆgØ•8˜G˜HÐ%ˆ‹ñ -ð €Lr   c                ó¬   € \        V 4      pVe   W8”  g   V^ 8  d   TpV'       g   WR # RP                  \        V P                  R4      WR7      4      # )zDoutdent a block of code (default is to strip all leading whitespace)NrW   )rÙ   rE   )r   re   r”   r=   )r   rÙ   rE   r˜   s   &&& r   Úoutdentrß     sJ   € ä˜Ó€FØ‚~˜œ¨F°Q¬JÀ¸ç�t˜G�}Ð$Ø�9‰9”X˜dŸj™j¨Ó.°vÔGÓHÐHr   c                óX   a € V 3R lpS P                   Vn         S P                  Vn        V# )z+encapsulate a function and it's __import__ c                  ó²   <€  \        \        SR R7      \        \        4       \        T / TB #   \         d    \        RSP                  ,           4      hi ; i)r7   ©r­   zcannot import name )ÚexecÚgetimportableÚ__globals__Ú
__locals__rA   rk   r   r7   )rn   ÚkwdsÚfs   *,€r   rM   Ú_wrap.<locals>.func  sV   ø€ ð	Bä”˜q¨Ô,¬k¼:ÔFô �$Ð˜$ÑÐøô ô 	BÜÐ3°a·j±jÕ@ÓAÐAð	Bús	   ƒ . ®(A)r   Ú__doc__)rè   rM   s   f r   Ú_wraprë     s%   ø€ õ ð —J‘J€D„MØ—9‘9€D„LØ€Kr   c           
     óÞ   € RpRpRV,          pV\        \        WRRR7      4      ,          pV\        RV,          4      ,          pV'       d   VRV,          ,          pWB: RV: R	2,          pV# )
z<create a function enclosure around the source of some objectÚ*__this_is_a_big_dummy_enclosing_function__Ú__this_is_a_stub_variable__z
def %s():
T©r­   r•   r¥   z
return %s
r¦   z(); del rW   )r˜   rÂ   )r€   r­   rP   Ústubr   s   &&   r   Ú_encloserñ   (  sh   € ð 9€EØ(€DØ˜5Õ €DØŒF”9˜V¸ÀDÔIÓJÕJ€DØŒF�= 4Õ'Ó(Õ(€Dßˆd�g •oÕ%ˆdØ¢£uÐ-Õ-€Dà€Kr   c                óH  € ^ RI Hp \        V! V 4      4      pRpV'       d   RpRV,          pRpMTpV'       d
   RV,          MTpV'       d   \        V 4      '       g   WhRV,          ,           ,          pMMV\	        V P
                  RRRR	7      ,          p\        V P                  4      p	WhR
V: RV	: R2,           ,          pV'       dY   Rp
\        W¡R7      p
V
P                  R4      p
V
^ ,          R,           \        V4      ,           RP                  V
RR 4      ,           pV# )a  'dump to source', where the code includes a pickled object.

If new=True and object is a class instance, then create a new
instance using the unpacked class source code. If enclose, then
create the object inside a function enclosure (thus minimizing
any global namespace pollution).
)Údumpszimport dill
rî   r¦   Fzdill.loads(%s)
rX   Trï   zdill.loads(z
.replace(bz,bytes(__name__,"UTF-8")))
Ú__this_is_a_big_dummy_object__râ   rW   Néýÿÿÿ)Údillró   r»   r¶   rÂ   r|   r¹   rñ   r=   r˜   re   )r€   r­   r®   r¯   ró   Úpikr   rð   ÚpreÚmodrP   s   &&&&       r   r¼   r¼   6  sö   € õ Ü
‰u�V‹}Ó
€CØ€DßØ,ˆØ˜�nˆØ‰àˆß %ˆg˜Žn¨5ˆ÷ ”k &×)Ò)ØÐ(¨3Õ.Õ.Õ.‰à”	˜&×*Ñ*°"¸TÈÔNÕNˆÜ�6×$Ñ$Ó%ˆØ�ÓQTÓUXÐYÕYÕYˆ÷ à0ˆÜ˜Ô,ˆà—‘˜DÓ!ˆØ�Q�x˜�}œv d›|Õ+¨d¯i©i¸¸b¸c¸
Ó.CÕCˆà€Kr   c                ó¦  € V'       d   RP                  \        V 4      4      # \        V 4      pV'       g{   V'       g   R# \        V R4      '       dT   V P                  '       gB   \        V P                  4      R,           \        V P                  4       4      ,           R,           # \        V 4      #  V P                  pVR8X  d1   \        V 4      P                  R^4      ^ ,          P                  4       # VP                  R9   d
   VR8X  d   R	pV#   \         d6    T'       g    R# \        T 4      pTP                  R
4      '       d    R# Tu # i ; i)zEget the name of the object. for lambdas, get the name of the pointer r«   NÚdtyper¬   Ú)r]   r±   rÌ   rÍ   Ú<r²   )re   Ú
_namespacer   ry   Úshaper¸   r|   r»   Útolistr   rÂ   r=   r½   rt   rb   )r   r¥   Úfqnr   r‰   s   &&&  r   r¸   r¸   ]  sÿ   € ç
�3—8‘8œJ s›OÓ,Ð,Ü�s‹^€Fßß™Tä�3˜× Ò ¨¯¯¨Ü˜3Ÿ=™=Ó)¨CÕ/´$°s·z±z³|Ó2DÕDÀsÕJÐJÜ�C‹yÐðð �|‰|ˆØ�:ÔÜ˜S“>×'Ñ'¨¨AÓ.¨qÕ1×7Ñ7Ó9Ð9à�?‰?Ð8Ô8Ø�zÔ!¨. 4ØˆøÜô ßšTÜ�C‹yˆØ�?‰?˜3×ÒÚØŠðús%   Â1AD Ã4D ÄEÄ&"EÅEÅEc                óL  €  \        \        V 4      4      P                  4       ^,          P                  R4      P                  R4      P                  R4      ;rVP                  R4      p\	        V 4      '       d   V# \        V 4      ;'       g    V P                  pVR9   d   \        V4      '       d   R.V.,           # W#.,           #   \         d     Mi ; i\        T 4      R9   d   R.\        T 4      .,           # \        T P                  RR4      p\        T P                  4      pY"P                  R4      ^,           R pM  \         d     Mi ; iTP                  R4      pTR9   d8   TR,          R	8X  d   R
TR&   \        TR,          4      '       d   RpT.T,           pT# )zü_namespace(obj); return namespace hierarchy (as a list of names)
for the given object.  For an instance, find the class hierarchy.

For example:

>>> from functools import partial
>>> p = partial(int, base=2)
>>> _namespace(p)
['functools', 'partial']
Ú>Ú"Ú'r«   rÎ   rÈ   r¹   NrÌ   rÍ   r²   )ÚinfÚnanÚInfÚNaNéþÿÿÿr;   )rÒ   r   r=   r½   r   r¸   r   rÏ   rA   rÅ   r|   ÚindexÚ
ValueError)r   r   Úqualr‰   s   &   r   rþ   rþ   y  s`  € ðÜœI c›NÓ+×1Ñ1Ó3°AÕ6×<Ñ<¸SÓA×GÑGÈÓL×RÑRÐSVÓWÐWˆØ�z‰z˜#‹ˆÜ�C�=Š=ØˆKä�s‹|×+Ð+˜sŸ|™|ˆàÐ/Ô/Ü˜�~Š~ w i°4°&Õ&8Ð8Ø�f�}ÐøÜÔ‘dÐúä
ˆ3ƒxÐ,Ô,ØˆyœC ›H˜:Õ%Ð%ä�S—]‘] L°$Ó7€FÜˆs�}‰}Ó€DØ—Z‘Z “_ QÕ& rÐ*‰øÜÔ‘tÐúØ�:‰:�c‹?€DØÐ+Ô+à��8�zÔ!¨n 4¨¡8Ü�D˜•H×Ò¨˜vØˆx˜$�ˆØ€Ks6   ‚A:C Á=C Â/C Â?C ÃCÃCÄ)E ÅEÅEc                óÈ  € VR9   d   V R9   d   \         P                  p M9VR9   d3   V R9   d,   V'       d
   RV,          MRpW!8X  d   RpVRV,          ,           # V R9   dR   VR8X  d   Rp\        V4      '       d   Rp M4V'       g,   V'       d
   RV,          MRpW!8X  d   RpVRV,          ,           #  V '       g   RV,          pM
RV : R	V: 2pV'       d
   R
V,          MRpW!8X  d   RpWe,          pV'       d%   V P                  R4      '       g   \	        V4       V# V#   \
         d9    T P                  R^4      ^ ,          pT'       g   h Yp8w  d   \        YqY#4      p T# i ; i)aP  helper to build a likely import string from head and tail of namespace.
('head','tail') are used in the following context: "from head import tail"

If verify=True, then test the import string before returning it.
If builtin=True, then force an import for builtins where possible.
If alias is provided, then rename the object on import.
rÎ   r¦   rX   r§   rÌ   rÍ   z	import %szfrom z import z as %s
rW   zdill.r«   )ÚEllipsisÚNotImplemented)rÎ   )ÚNoner²   )rF   r¹   rÏ   rb   rã   rk   ÚrsplitÚ
_getimport)ÚheadÚtailr­   Úverifyr£   rÁ   Ú_strÚ_heads   &&&&&   r   r  r  ¤  s=  € ð Ð-Ô-°$¸)Ô2CÜ�~‰~‰Ø	�Ô	˜d iÔ/ß$)�˜5–¨rˆØŒ= 2˜&Ø�f˜t•mÕ#Ð#ð Ð)Ô)à�:Ô n˜tÜ�D�>Š> '™4ßß(-�W˜u–_°2ˆFØŒ} r˜fØ˜& 4�-Õ'Ð'Øç˜ dÕ*‘ˆ4Û(,ªdÐ3ˆ$ß#(ˆZ˜%Ö¨d€FØ„}˜t�fØ…N€D÷ �d—o‘o g×.Ò.ä�$ŒZð €Kˆ4€Køô ô 	>Ø—K‘K  AÓ& qÕ)ˆEß˜%ØŒ}Ü! %¨uÓ=�øØ€Kð	>ús   ÄD Ä+E!Å
E!Å E!c                óŒ  € V'       d   ^RI Hp V! V 4      pV'       d   TMT p \        V 4      pRP                  VRR 4      pVR,          p	 \	        V 4      P                  R^4      ^,          P                  R^4      ^,          p
Rp
V
'       d   \        WŠWV4      #  \        W‰WV4      #   \         do    TR9   d   \	        T 4      p
 LB\        T 4      '       d&   \        T RR7      P                  R4      ^ ,          p
 Lx\	        T 4      P                  R4      ^ ,          p
 L›i ; i  \         d     L—\         d8    TR9   d.   T'       d
   R	T,          MR
pY8X  d   R
pTRT
,          ,           u #  L×i ; i  \         d    h \         d7    TR9   d.   T'       d
   R	T,          MR
pY8X  d   R
pTRT	,          ,           u # h i ; i)aT  get the likely import string for the given object

obj is the object to inspect
If verify=True, then test the import string before returning it.
If builtin=True, then force an import for builtins where possible.
If enclosing=True, get the import for the outermost enclosing callable.
If alias is provided, then rename the object on import.
)Ú	outermostr«   Nrý   r  Tr¤   r¬   r¦   rX   r§   r;   r²   )r<   r  rþ   re   r»   r=   rA   r¶   r¸   r  rk   rº   )r   r­   r  r£   r–   r  Ú_objr  r  r  r‰   rÁ   s   &&&&&       r   r·   r·   Ô  s—  € ÷ Ý%Ù˜‹~ˆß‰d ˆä�c‹?€DØ�8‰8�D˜˜"�IÓ€DØ��8€Dð	+Ü�C‹y�‰˜s 1Ó% aÕ(×.Ñ.¨s°1Ó5°aÕ8ˆØˆ÷ Ü˜t¨5¸'ÓBÐBðô ˜$ e°WÓ=Ð=øô+ ô +ØÐ-Ô-Ü˜“9ŠDÜ˜×ÒÜ˜3 dÔ+×1Ñ1°#Ó6°qÕ9ŠDä˜“9—?‘? 3Ó'¨Õ*ŠDð+ûô Ô ™DÜô 	ØÐ1Ô1ß,1˜ 5ž°r�Ø”=¨2 &Ø˜f t�mÕ+Ò+Ùð	ûô ô ØÜô ØÐ-Ô-ß(-�W˜u–_°2ˆFØŒ} r˜fØ˜& 4�-Õ'Ò'Øðús`   Á;B* ÂD& ÂE7 Â*D#Ã	4D#Ã?!D#Ä"D#Ä&E4Ä3E4Ä<E4Å#E4Å3E4Å7GÆGÆ#GÇGc           	     óÐ  € Vf   \        V 4      '       d   RMRpV'       d    \        WVWFVR7      #  \        V 4      '       g   \	        WVV'       * VR7      # \	        WV'       * VR7      p\        V RR7      pV'       g   \        R4      hV'       d
   RV,          MRp	W8X  d   Rp	Wy,           R	V,          ,           #   \         d     L—i ; i  \         d     Mi ; iT'       g"    \        YTYFTR7      #   \         d     Mi ; i\        YR7      p T '       d   T P                  R
4      '       d   \        R4      hT'       d
   RT,          MRp	Y8X  d   Rp	T	R	T ,          ,           # )a  get an import string (or the source code) for the given object

This function will attempt to discover the name of the object, or the repr
of the object, or the source code for the object. To attempt to force
discovery of the source code, use source=True, to attempt to force the
use of an import, use source=False; otherwise an import will be sought
for objects not defined in __main__. The intent is to build a string
that can be imported from a python file. obj is the object to inspect.
If alias is provided, then rename the object with the given alias.

If source=True, use these options:
  If enclosing=True, then also return any enclosing code.
  If force=True, catch (TypeError,IOError) and try to use import hooks.
  If lstrip=True, ensure there is no indentation in the first line of code.

If source=False, use these options:
  If enclosing=True, get the import for the outermost enclosing callable.
  If force=True, then don't test the import string before returning it.
  If builtin=True, then force an import for builtins where possible.
TF)r–   r¥   r•   r£   )r–   r  r£   r¤   z!object has no atribute '__name__'r¦   rX   r§   rý   )r   rÂ   rA   r¶   r·   r¸   rt   rb   )
r   r­   Úsourcer–   r¥   r£   r•   rÀ   r‰   rÁ   s
   &&&&&&&   r   Ú_importabler  	  sR  € ð, ‚~Ü# CŸš‘¨eˆßð	Ü˜S°9Ø#(ÀôJð JðÜ˜3×ÒÜ˜S°9Ø.3¬)¸gôGð Gô ˜CØ-2¬¸WôFˆä�s $Ô'ˆßÜ Ð!DÓEÐEß$)�˜5–¨rˆØŒ= 2˜&Ø�~˜f t�mÕ+Ð+øô Ô™$Ðûô Ô‘dÐúßð	Ü˜S°9Ø#(ÀôJð JøäÔ™$Ðúô �#Ô
#€Cç�#—.‘. ×%Ò%ÜÐ@ÓAÐAß %ˆW�uŽ_¨2€FØ„|˜b�VØ�&˜3•,ÕÐs@   £B< ³$C Á:C Â(C Â<C
Ã	C
ÃCÃCÃ'C6 Ã6DÄDc           	     óx  € ^ RI p^RIHpHp V! V 4      p/ p\	        VP                  4       4       EFÔ  w  r‰\        V	4      '       g   K  VP                  V4      p
\        V
4      pVP                  4       P                  R4      '       d   \        W¡VR7      pEMgV! V 4      pR\        V4      ,           R,           \        V
4      ,           p\        \        V4      4      p\        V4      w  ppV Uu. uF2  p\        V4      V9   g   K  VP                  ! VV4      '       g   K0  VNK4  	  ppV'       ga   \        \        V
4      4      p\        V
4      w  ppV Uu. uF2  p\        V
4      V9   g   K  VP                  ! VV4      '       g   K0  VNK4  	  pp\!        V4      '       g   \#        R4      hVR,          pVP%                  R^4      ^ ,          P%                  4       R,          P'                  4       p\)        WèWR7      pW·V&   EK×  	  V'       Eg   V! V 4      p\        \        V4      4      pV'       d   W€J d   \        V R	R
7      p\        WVR7      pMÑ\        V4      w  ppV Uu. uFI  p\        V4      V9   g   K  VP                  ! R\        V4      ,           R,           V4      '       g   KG  VNKK  	  pp\!        V4      '       g   \#        R4      hVR,          pVP%                  R^4      ^ ,          P%                  4       R,          P'                  4       p\)        WèWR7      pW·V&   V# u upi u upi u upi )zEget import for closured objects; return a dict of 'name' and 'import'N)r    r  r°   ©r­   r£   z.*[\w\s]=\s*z\(zimport could not be foundr±   Tr¤   r;   )r4   r<   r    r  ÚlistÚitemsr   ÚpoprÂ   r•   rb   r·   r¸   r   r’   r5   rF   r   r=   r½   r  )rM   r­   r£   r4   r    r  Ú	free_varsÚ	func_varsr‰   r   ÚfobjÚsrcÚenclr�   rù   r…   r7   rN   Ú	candidates   &&&                r   Ú_closuredimportr*  G  s«  € ãß+Ù˜“€IØ€Iä˜Ÿ™Ó*×+‰ˆÜ˜#�Š¡à�}‰}˜TÓ"ˆÜ˜‹oˆØ�:‰:‹<×"Ñ" 3×'Ò'Ü˜D°wÔ?ŠCá˜T“?ˆDà!¤'¨$£-Õ/°Õ5´g¸d³mÕCˆCÜœ) D›/Ó*ˆCä  Ó&‰GˆE�!Ù*/ó .©% $´7¸4³=ÀDÑ3HœØŸš # t×,÷ ˜©%ˆIð .çÜœi¨›oÓ.�ä$ TÓ*‘��aÙ.3ó O©e dÜ '¨£°Ñ 5ô "Ø:<¿(º(À3È×:M÷ "˜T©e�	ð Oä�y—>’>¬Ð3NÓ)OÐ#OØ! "�ˆIØ—?‘? 3 qÓ)¨!Õ,×2Ñ2Ó4°RÕ8×>Ñ>Ó@ˆDÜ˜S¨eÔEˆCØ�$Œñ5 ,÷6 ˆ9Ù˜‹ˆÜ”i “oÓ&ˆß�d“lÜ˜4 tÔ,ˆDÜ˜D°wÔ?‰Cä  Ó&‰GˆE�!á*/ó N©% $´7¸4³=ÀDÑ3HœØŸš /´'¸$³-Õ"?ÀÕ"EÀt×L÷ ˜©%ˆIð Nä�y—>’>¬Ð3NÓ)OÐ#OØ! "�ˆIØ—?‘? 3 qÓ)¨!Õ,×2Ñ2Ó4°RÕ8×>Ñ>Ó@ˆDÜ˜S¨eÔEˆCØ�$‰ØÐùò;.ùòOùò Ns6   Ã0L-ÄL-Ä"L-ÅL2Å/L2Æ
L2É(L7É?-L7Ê1L7c                ó6  € ^RI Hp V! V 4      p/ p\        VP                  4       4       F©  w  rV\	        V4      '       g   \        VRVR7      W5&   K(  VP                  V4      p\        Wq4      pVP                  4       P                  R4      '       g   \        WuR7      p\        WRRR7      p	W‰3pM\        V RRR7      p	\        WqRR7      pW˜3pW„V&   K«  	  R	P                  VP                  4       4      pV'       g   \        WRRRR
7      p	W‰3pMVR3pW„R&   V# )zOget source code for closured objects; return a dict of 'name'
and 'code blocks')r    T)r¥   r­   r°   râ   F)r–   r•   )r  rX   )r¥   r–   r•   N)r<   r    r!  r"  r   rÂ   r#  r•   rb   Ú
importablere   rL   )
rM   r­   r    r$  r%  r‰   r   r&  r'  Úorgs
   &&        r   Ú_closuredsourcer.  |  s  € õ !Ù˜“€IØ€Iä˜Ÿ™Ó*Ö+‰ˆÜ˜#�Šä'¨°4¸tÔDˆI‰OÙà�}‰}˜TÓ"ˆÜ˜Ó$ˆà�z‰z‹|×&Ñ& s×+Ò+Ü˜TÔ-ˆCÜ˜D°5ÀÔFˆCØ�*‰Cä˜D¨D¸Ô?ˆCÜ˜T°Ô6ˆCØ�*ˆCØ�$‹ñ# ,ð$ �'‰'�)×"Ñ"Ó$Ó
%€CßÜ˜¨4¸5ÈÔNˆØˆj‰à�DˆkˆØˆd�OàÐr   c                óh  € Vf   \        V 4      '       d   RMRpMV'       d   \        V 4      '       d   RpR;rE V'       g„    \        V 4      '       d   \        WRVR7      # \	        WVR7      p\        V4      ^ 8X  d   \        R4      h\        V4      ^8”  d   \        R4      h\        VP                  4       4      ^ ,          #  \        WR7      p\        V4      ^ 8X  d   \        R4      hR pV! VP                  R4      4      pV'       d   V.M. pVP                  4        F&  p	V! V	4      p	V	'       g   K  VP                  V	4       K(  	  \        V4      '       g   R	pM+\        V4      ^8X  d   V^ ,          pMR
P                  V4      p^RIHp
 V
! V 4      p \        R V P!                  4        4       4      p V '       d   R
P                  V 4      MR	p V '       g   V# V'       g   V # W,           #   \         d    T'       d   h Rp ELFi ; i  \         d    T'       d   h RpT'       * p EK÷  i ; i)aÍ  get an importable string (i.e. source code or the import string)
for the given object, including any required objects from the enclosing
and global scope

This function will attempt to discover the name of the object, or the repr
of the object, or the source code for the object. To attempt to force
discovery of the source code, use source=True, to attempt to force the
use of an import, use source=False; otherwise an import will be sought
for objects not defined in __main__. The intent is to build a string
that can be imported from a python file.

obj is the object to inspect. If alias is provided, then rename the
object with the given alias. If builtin=True, then force an import for
builtins where possible.
NTF©r  r£   r   znot implementedrâ   c                óÔ   € V ^ ,          '       d#   V R,          '       d   RP                  V 4      p V # V ^ ,          '       d   V ^ ,          p V # V R,          '       d   V R,          p V # Rp V # )z,stitch together the strings in tuple 'block'rW   rX   r;   )re   )r™   s   &r   Ú_code_stitcherÚ"importable.<locals>._code_stitcherÎ  se   € à˜—8”8  b§	¤	°4·9±9¸UÓ3C¨5ð �ð ˜1—X”X u¨Q¥x˜uð �ð ˜2—Y”Y¨¨b­	 à�ð !�eØ�r   rX   rW   )r!   c              3   óf   "  € T F'  w  r\        V4      '       d   K  \        W!R R7      x € K)  	  R# 5i)Tr¤   N)r   rÂ   )r,   r‰   r  s   &  r   r/   Úimportable.<locals>.<genexpr>æ  s(   é € ÐmÉ+¹;¸DÔ]fÐgk×]lÔ6”y °×6Ñ6Ë+ùs   ‚1œ1)r   r   r¶   r  r*  rF   ÚNotImplementedErrorr!  rL   rA   r.  r#  r}   re   r<   r!   r"  )r   r­   r  r£   Útried_sourceÚtried_importr'  r2  Ú_srcÚxxxr!   s   &&&&       r   r,  r,  £  sÑ  € ð$ ‚~Ü# CŸš‘¨e‰ß	”Y˜s—^’^ØˆØ"'Ð'€LØ
ßð$Ü˜s×#Ò#Ü& s¸%ÈÔQÐQÜ% cÀÔH�Ü�s“8˜q”=Ü-Ð.?Ó@Ð@Ü�s“8˜a”<Ü-Ð.?Ó@Ð@Ü˜CŸJ™J›LÓ)¨!Õ,Ð,ð
&	 Ü! #Ô3ˆCÜ�3‹x˜1Œ}Ü)Ð*;Ó<Ð<òñ " #§'¡'¨$£-Ó0ˆDß!�D‘6 rˆDà—z‘z–|�Ù$ SÓ)�ß‘3˜Ÿ™ CÖ(ñ $ô �t—9’9Ø‘Ü�T“˜a”Ø˜1•g‘à—i‘i “o�å*Ù˜S“/ˆCÜÑmÈ#Ï)É)Ì+ÓmÓmˆCß$'�$—)‘)˜C”.¨RˆCç˜s˜
ß˜s˜
Ø•9ÐøôM ô $ß Ø#“ð$ûôN ô 	 ß˜UØˆLØ”ZŒFð	 ús]   ÁG2 Á"A"G2 ÃAH Ä%H Ä9B$H ÇH Ç H Ç(H Ç*H Ç2HÈHÈHÈH1È"
H1È0H1c                 ó(   € \        WV'       * VR 7      # )r0  )r,  )r   r­   ÚbynameÚexplicits   &&&&r   rä   rä   õ  s   € Ü�c¨F¬
¸HÔEÐEr   c                 ó&   € \        W'       * VR 7      # ©)r  r£   )r·   )r   Úpassiver=  s   &&&r   Úlikely_importrA  ø  s   € Ü�S¤+¸ÔAÐAr   c                 ó(   € \        WV'       * VR 7      # r?  )r  )ÚfirstÚlastr@  r=  s   &&&&r   Ú_likely_importrE  ú  s   € Ü�e¨w¬;ÀÔJÐJr   )r’   r¡   rÂ   r˜   rß   rë   r¼   r¸   rþ   r·   r  r,  r   r   )FFF)FF)rX   FFFF)é   )NT)rX   )rX   FT)rX   TF)rX   TFF)rX   NFTTT)rX   F)rX   NT)FT)8rê   Ú__all__rc   r4   Úinspectr   r   r   r   r   r   r   r	   r
   r   r   r   r   Útokenizer   Ú_dillr   r   r   rU   r’   rž   r¡   rÂ   rµ   r¶   rÏ   rÔ   r˜   r”   rß   r?   rå   r@   ræ   rë   rñ   r¼   r¸   rþ   r  r·   r  r*  r.  r,  rä   rA  rE  Ú	_get_nameÚgetblocks_from_historyr%   r   r   Ú<module>rM     sò   ðñòB€ó Û 	÷,÷ ,÷ ,õ ,õ  å òòò2òjY0ôxD9ôNô$[ò|Oòò(5ò,ô
ô>
ôIñ ‹i€Ù‹X€
òôô$ôNò8'ôV+ô`2ôj:ô|2ôj%ôNNôdFôBôKà€	Ø"Ò r   