§
    øÛgÍE  ã                   óÔ  — d dl Z d dlZd dlZd dlmZmZmZ d dlmZm	Z	 d dl
Z
e j        j        Z G d„ d¦  «        Z G d„ de¦  «        Zd„ Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zg Zej        dej        di                     ¦   «         D ](\  ZZ G d„ de¦  «        Ze                     e¦  «         Œ)ej        dej         dej!        dej"        dej#        dej$        di                     ¦   «         D ](\  ZZ G d„ de¦  «        Z%e                     e%¦  «         Œ) G d„ d e¦  «        Z& G d!„ d"e¦  «        Z' G d#„ d$e¦  «        Z( G d%„ d&e¦  «        Z) G d'„ d(e¦  «        Z* G d)„ d*e¦  «        Z+d+„ Z,dFd,„Z-dGd.„Z.d/„ Z/d0„ Z0dFd1„Z1e2d2k    r²d3„ Z3d4„ Z4d5„ Z5 e-d6¦  «          e-d7¦  «          e-d8¦  «          e-d9¦  «         d:Z6 e-d;¦  «          e-d<¦  «          e-d=¦  «          e1d>¦  «          e-d?¦  «          e1d@¦  «          e1dA¦  «          e1dB¦  «          e-dC¦  «          e-dD¦  «          e1dE¦  «         dS dS )Hé    N)ÚparseÚastÚ	pycodegen)ÚBuiltinAssertionErrorÚ_format_explanationc                   ó   — e Zd Zd„ ZdS )ÚFailurec                 ó`   — t          j        ¦   «         \  | _        | _        | _        || _        d S ©N)ÚsysÚexc_infoÚexcÚvalueÚtbÚnode)Úselfr   s     úL/granary/edev/quantum/lib/python3.11/site-packages/py/_code/_assertionold.pyÚ__init__zFailure.__init__
   s%   € Ý(+¬©¬Ñ%ˆŒ�$”*˜dœgØˆŒ	ˆ	ˆ	ó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r	   r	   	   s#   € € € € € ðð ð ð ð r   r	   c                   ó>   — e Zd ZdZi ZdZd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	S )
ÚViewa€  View base class.

    If C is a subclass of View, then C(x) creates a proxy object around
    the object x.  The actual class of the proxy is not C in general,
    but a *subclass* of C determined by the rules below.  To avoid confusion
    we call view class the class of the proxy (a subclass of C, so of View)
    and object class the class of x.

    Attributes and methods not found in the proxy are automatically read on x.
    Other operations like setting attributes are performed on the proxy, as
    determined by its view class.  The object x is available from the proxy
    as its __obj__ attribute.

    The view class selection is determined by the __view__ tuples and the
    optional __viewkey__ method.  By default, the selected view class is the
    most specific subclass of C whose __view__ mentions the class of x.
    If no such subclass is found, the search proceeds with the parent
    object classes.  For example, C(True) will first look for a subclass
    of C with __view__ = (..., bool, ...) and only if it doesn't find any
    look for one with __view__ = (..., int, ...), and then ..., object,...
    If everything fails the class C itself is considered to be the default.

    Alternatively, the view class selection can be driven by another aspect
    of the object x, instead of the class of x, by overriding __viewkey__.
    See last example at the end of this module.
    r   c                 óú   — t                                | ¦  «        }||_        | |_        |                     ¦   «         }	 |j        |         |_        n*# t          $ r |                     |¦  «        |_        Y nw xY w|S r   )	ÚobjectÚ__new__Ú__obj__Ú__rootclass__Ú__viewkey__Ú
_viewcacheÚ	__class__ÚKeyErrorÚ_selectsubclass)Ú	rootclassÚobjÚargsÚkwdsr   Úkeys         r   r   zView.__new__-   s�   € Ý�~Š~˜iÑ(Ô(ˆØˆŒØ&ˆÔØ×ÒÑ Ô ˆð	7Ø!œ_¨SÔ1ˆDŒNˆNøÝð 	7ð 	7ð 	7Ø!×1Ò1°#Ñ6Ô6ˆDŒNˆNˆNð	7øøøàˆs   ¾A Á$A8Á7A8c                 ó,   — t          | j        |¦  «        S r   )Úgetattrr   )r   Úattrs     r   Ú__getattr__zView.__getattr__8   s   € õ �t”| TÑ*Ô*Ð*r   c                 ó   — | j         j        S r   )r   r#   ©r   s    r   r!   zView.__viewkey__=   s   € ØŒ|Ô%Ð%r   c                 ó’   ‡— t          j        ‰¦  «        rt          j        ‰¦  «        }n‰g}|D ]Šˆfd„|D ¦   «         }|r|c S Œg S )Nc                 ó&   •— g | ]}‰|j         v ¯|‘ŒS r   )Ú__view__)Ú.0ÚCr*   s     €r   ú
<listcomp>z%View.__matchkey__.<locals>.<listcomp>F   s%   ø€ ÐAÐAÐA˜A¨s°a´jÐ/@Ð/@�aÐ/@Ð/@Ð/@r   )ÚinspectÚisclassÚgetmro)r   r*   Ú
subclassesÚkeysÚresults    `   r   Ú__matchkey__zView.__matchkey__@   sp   ø€ ÝŒ?˜3ÑÔð 	Ý”> #Ñ&Ô&ˆDˆDà�5ˆDØð 	ð 	ˆCØAÐAÐAÐA ÐAÑAÔAˆFØð Ø���ðàˆ	r   c                 óL  — t          t          | j        ¦  «        ¦  «        }|D ])}t          |j        t
          ¦  «        s|j        f|_        Œ*|                      ||¦  «        }|s| j        S t          |¦  «        dk    r|d         S t          dt          |¦  «        i ¦  «        S )Né   r   ú?)	ÚlistÚenumsubclassesr    Ú
isinstancer3   Útupler=   ÚlenÚtype)r   r*   r:   r5   Úchoicess        r   r%   zView._selectsubclassK   s¤   € Ý�.¨Ô);Ñ<Ô<Ñ=Ô=ˆ
Øð 	+ð 	+ˆAÝ˜aœj­%Ñ0Ô0ð +Øœj˜]�”
øØ×#Ò# C¨Ñ4Ô4ˆØð 	1ØÔ%Ð%Ý�‰\Œ\˜QÒÐØ˜1”:Ðõ ˜�U 7™^œ^¨RÑ0Ô0Ð0r   c                 ó0   — | j         j        ›d| j        ›d�S )Nú(ú))r    r   r   r0   s    r   Ú__repr__zView.__repr__Y   s   € ØÔ-Ô6Ð6Ð6¸¼¸¸ÐEÐEr   N)r   r   r   Ú__doc__r"   r3   r   r.   r!   r=   r%   rK   r   r   r   r   r      s‰   € € € € € ðð ð6 €JØ€Hð	ð 	ð 	ð+ð +ð +ð
&ð &ð &ð	ð 	ð 	ð1ð 1ð 1ðFð Fð Fð Fð Fr   r   c              #   ól   K  — |                       ¦   «         D ]}t          |¦  «        D ]}|V — ŒŒ| V — d S r   )Ú__subclasses__rB   )ÚclsÚsubclsÚsubsubclasss      r   rB   rB   ]   sY   è è € Ø×$Ò$Ñ&Ô&ð ð ˆÝ)¨&Ñ1Ô1ð 	ð 	ˆKØÐÐÐÐð	à
€I€I€I€I€Ir   c                   ó.   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ ZdS )ÚInterpretablez+A parse tree node with a few extra methods.Nc                 ó   — dS )NFr   )r   Úframes     r   Ú
is_builtinzInterpretable.is_builtinh   s   € Øˆur   c                 ón  — 	 t          j        | j        ¦  «        }d|_        d| j        _        t	          j        |¦  «                             ¦   «         }|                     |¦  «        }n# t          $ r ‚  t          | ¦  «        ‚xY w|| _
        | j        p|                     | j
        ¦  «        | _        d S )Nz<eval>)r   Ú
Expressionr   Úfilenamer   ÚExpressionCodeGeneratorÚgetCodeÚevalÚpassthroughexr	   r<   ÚexplanationÚrepr)r   rU   ÚexprÚcor<   s        r   r\   zInterpretable.evalk   s«   € ð		 Ý”> $¤,Ñ/Ô/ˆDØ$ˆDŒMØ$,ˆDŒLÔ!ÝÔ2°4Ñ8Ô8×@Ò@ÑBÔBˆBØ—Z’Z ‘^”^ˆFˆFøÝð 	ð 	ð 	Øð	 Ý˜$‘-”-ÐøøøØˆŒØÔ+ÐF¨u¯zªz¸$¼+Ñ/FÔ/FˆÔÐÐs   ‚A'A* Á*Bc                 ó"  — 	 t          j        d t          j        | j        g¦  «        ¦  «        }d|_        t          j        |¦  «                             ¦   «         }|                     |¦  «         d S # t          $ r ‚  t          | ¦  «        ‚xY w)Nú<run>)r   ÚModuleÚStmtr   rY   r   ÚModuleCodeGeneratorr[   Úexec_r]   r	   )r   rU   r`   ra   s       r   ÚrunzInterpretable.runz   s†   € ð	 Ý”:˜d¥C¤H¨d¬l¨^Ñ$<Ô$<Ñ=Ô=ˆDØ#ˆDŒMÝÔ.¨tÑ4Ô4×<Ò<Ñ>Ô>ˆBØ�KŠK˜‰OŒOˆOˆOˆOøÝð 	ð 	ð 	Øð	 Ý˜$‘-”-Ðøøøs   ‚A/A3 Á3Bc                 ó*   — t          | j        ¦  «        S r   )r   r^   r0   s    r   Únice_explanationzInterpretable.nice_explanation†   s   € Ý" 4Ô#3Ñ4Ô4Ð4r   )	r   r   r   rL   r^   rV   r\   rh   rj   r   r   r   rS   rS   d   s^   € € € € € Ø5Ð5Ø€Kðð ð ðGð Gð Gð
 ð 
 ð 
 ð5ð 5ð 5ð 5ð 5r   rS   c                   ó>   ‡ — e Zd Zej        Zd„ Zd„ Zd„ Zˆ fd„Z	ˆ xZ
S )ÚNamec                 óŒ   — d| j         z  }	 |                     |                     |¦  «        ¦  «        S # t          $ r ‚  Y dS xY w)Nz%r in locals() is not globals()F©ÚnameÚis_truer\   r]   ©r   rU   Úsources      r   Úis_localzName.is_local�   sV   € Ø2°T´YÑ>ˆð	Ø—=’= §¢¨FÑ!3Ô!3Ñ4Ô4Ð4øÝð 	ð 	ð 	Øð	Ø�5�5øøøó	   Œ'4 ´Ac                 óŒ   — d| j         z  }	 |                     |                     |¦  «        ¦  «        S # t          $ r ‚  Y dS xY w)Nz%r in globals()Frn   rq   s      r   Ú	is_globalzName.is_global–   sV   € Ø" T¤YÑ.ˆð	Ø—=’= §¢¨FÑ!3Ô!3Ñ4Ô4Ð4øÝð 	ð 	ð 	Øð	Ø�5�5øøørt   c                 óœ   — | j         ›d| j         ›d�}	 |                     |                     |¦  «        ¦  «        S # t          $ r ‚  Y dS xY w)Nz not in locals() and z not in globals()Frn   rq   s      r   rV   zName.is_builtinŸ   sb   € àŒIˆIˆI�t”y�y�yð"ˆð	Ø—=’= §¢¨FÑ!3Ô!3Ñ4Ô4Ð4øÝð 	ð 	ð 	Øð	Ø�5�5øøøs	   ”'< ¼Ac                 óž   •— t          t          | ¦  «                             |¦  «         |                      |¦  «        s| j        | _        d S d S r   )Úsuperrl   r\   rs   ro   r^   )r   rU   r#   s     €r   r\   z	Name.eval©   sO   ø€ Ý�d�DÑÔ×Ò˜uÑ%Ô%Ð%Ø�}Š}˜UÑ#Ô#ð 	)Ø#œyˆDÔÐÐð	)ð 	)r   )r   r   r   r   rl   r3   rs   rv   rV   r\   Ú__classcell__)r#   s   @r   rl   rl   Š   sl   ø€ € € € € ØŒx€Hðð ð ðð ð ðð ð ð)ð )ð )ð )ð )ð )ð )ð )ð )r   rl   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚComparec                 óâ  — t          | j        ¦  «        }|                     |¦  «         | j        D ]½\  }}t	          | d¦  «        r|                     | j        ¦  «        s d S t          |¦  «        }|                     |¦  «         |j        ›d|›d|j        ›�| _        d|z  }	 |                     ||j        |j        ¬¦  «        | _        n# t          $ r ‚  t          | ¦  «        ‚xY w|}Œ¾d S )Nr<   ú z#__exprinfo_left %s __exprinfo_right©Ú__exprinfo_leftÚ__exprinfo_right)
rS   r`   r\   ÚopsÚhasattrrp   r<   r^   r]   r	   )r   rU   r`   Ú	operationÚexpr2rr   s         r   r\   zCompare.eval±   s"  € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐØ $¤ð 	ð 	ÑˆI�uÝ�t˜XÑ&Ô&ð à—}’} T¤[Ñ1Ô1ð Ø�E�EÝ! %Ñ(Ô(ˆEØ�JŠJ�uÑÔÐàÔ Ð Ð  ) ) )¨UÔ->Ð->ð @ˆDÔà:¸YÑFˆFð$Ø#Ÿjšj¨Ø9=¼Ø:?¼,ð )ñ Hô H�”�øõ !ð ð ð Øð$Ý˜d‘m”mÐ#øøøØˆDˆDð%	ð 	s   Â&'CÃC)N)r   r   r   r   r|   r3   r\   r   r   r   r|   r|   ®   s*   € € € € € ØŒ{€Hðð ð ð ð r   r|   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚAndc                 ó*  — g }| j         D ]h}t          |¦  «        }|                     |¦  «         |                     |j        ¦  «         |j        | _        |                     |j        ¦  «        s nŒidd                     |¦  «        z   dz   | _        d S )NrI   z and rJ   ©ÚnodesrS   r\   Úappendr^   r<   rp   Újoin©r   rU   Úexplanationsr`   s       r   r\   zAnd.evalË   s›   € ØˆØ”Jð 	ð 	ˆDÝ  Ñ&Ô&ˆDØ�IŠI�eÑÔÐØ×Ò Ô 0Ñ1Ô1Ð1Øœ+ˆDŒKØ—=’= ¤Ñ-Ô-ð Ø�ðà §¢¨lÑ!;Ô!;Ñ;¸cÑAˆÔÐÐr   N)r   r   r   r   r‡   r3   r\   r   r   r   r‡   r‡   È   s/   € € € € € ØŒw€Hð	Bð 	Bð 	Bð 	Bð 	Br   r‡   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚOrc                 ó*  — g }| j         D ]h}t          |¦  «        }|                     |¦  «         |                     |j        ¦  «         |j        | _        |                     |j        ¦  «        r nŒidd                     |¦  «        z   dz   | _        d S )NrI   z or rJ   r‰   r�   s       r   r\   zOr.evalÙ   s›   € ØˆØ”Jð 	ð 	ˆDÝ  Ñ&Ô&ˆDØ�IŠI�eÑÔÐØ×Ò Ô 0Ñ1Ô1Ð1Øœ+ˆDŒKØ�}Š}˜Tœ[Ñ)Ô)ð Ø�ðà §¢¨\Ñ!:Ô!:Ñ:¸SÑ@ˆÔÐÐr   N)r   r   r   r   r�   r3   r\   r   r   r   r�   r�   Ö   s/   € € € € € ØŒv€Hð	Að 	Að 	Að 	Að 	Ar   r�   znot __exprinfo_exprz(~__exprinfo_expr)c                   ó   — e Zd ZeZefd„ZdS )Ú
UnaryArithc                 ó  — t          | j        ¦  «        }|                     |¦  «         |                     d|j        ¦  «        | _        	 |                     ||j        ¬¦  «        | _        d S # t          $ r ‚  t          | ¦  «        ‚xY w)NÚ__exprinfo_expr©r•   )rS   r`   r\   Úreplacer^   r<   r]   r	   )r   rU   Ú
astpatternr`   s       r   r\   zUnaryArith.evalï   sœ   € Ý  ¤Ñ+Ô+ˆDØ�IŠI�eÑÔÐØ)×1Ò1Ð2CØ26Ô2Bñ Dô  DˆDÔð$Ø#Ÿjšj¨Ø9=¼ð )ñ Fô F�”��øå ð ð ð Øð$Ý˜d‘m”mÐ#øøøs   Á!A. Á.B	N©r   r   r   Úastclassr3   r˜   r\   r   r   r   r“   r“   ì   s0   € € € € € Øˆà)3ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r   r“   z$(__exprinfo_left + __exprinfo_right)z$(__exprinfo_left - __exprinfo_right)z$(__exprinfo_left * __exprinfo_right)z$(__exprinfo_left / __exprinfo_right)z$(__exprinfo_left % __exprinfo_right)z%(__exprinfo_left ** __exprinfo_right)c                   ó   — e Zd ZeZefd„ZdS )ÚBinaryArithc                 ó¨  — t          | j        ¦  «        }|                     |¦  «         t          | j        ¦  «        }|                     |¦  «         |                     d|j        ¦  «                             d|j        ¦  «        | _        	 |                     ||j        |j        ¬¦  «        | _        d S # t          $ r ‚  t          | ¦  «        ‚xY w)Nr€   r�   r   )	rS   Úleftr\   Úrightr—   r^   r<   r]   r	   )r   rU   r˜   rž   rŸ   s        r   r\   zBinaryArith.eval  sÒ   € Ý  ¤Ñ+Ô+ˆDØ�IŠI�eÑÔÐÝ! $¤*Ñ-Ô-ˆEØ�JŠJ�uÑÔÐØ *ß!(¢Ð):¸TÔ=NÑ!OÔ!Oß!(¢Ð);¸UÔ=NÑ!OÔ!Oð Ôð$Ø#Ÿjšj¨Ø9=¼Ø:?¼,ð )ñ Hô H�”��øõ !ð ð ð Øð$Ý˜d‘m”mÐ#øøøs   Â'B6 Â6CNr™   r   r   r   rœ   rœ     s0   € € € € € Øˆà)3ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r   rœ   c                   ó(   — e Zd Zej        Zd„ Zd„ ZdS )ÚCallFuncc                 óŠ   — d}	 |                      |                     || j        ¬¦  «        ¦  «        S # t          $ r ‚  Y dS xY w)Nz"isinstance(__exprinfo_value, bool))Ú__exprinfo_valueF)rp   r\   r<   r]   rq   s      r   Úis_boolzCallFunc.is_bool"  sh   € Ø5ˆð	Ø—=’= §¢¨FØ=A¼[ð ",ñ "Jô "Jñ Kô Kð Køåð 	ð 	ð 	Øð	Ø�5�5øøøs	   „.3 ³Ac                 ó8  — t          | j        ¦  «        }|                     |¦  «         g }d|j        i}d}| j        D ]¼}t          |t          j        ¦  «        r|j        }|j	        }nd }t          |¦  «        }|                     |¦  «         dt          |¦  «        z  }|j        ||<   |€#||dz   z  }|                     |j        ¦  «         Œ’||›d|›d�z  }|                     |›d|j        ›�¦  «         Œ½| j        r]t          | j        ¦  «        }	|	                     |¦  «         d}|	j        ||<   |d|z   dz   z  }|                     d|	j        z   ¦  «         | j        r]t          | j        ¦  «        }
|
                     |¦  «         d}|
j        ||<   |d	|z   dz   z  }|                     d	|
j        z   ¦  «         |j        ›d
d                     |¦  «        ›d�| _        |                     d¦  «        r
|d d…         }|dz  }	  |j        |fi |¤Ž| _        n# t"          $ r ‚  t%          | ¦  «        ‚xY w|                     |¦  «        r|                      |¦  «        s1|                     | j        ¦  «        }|›d|›d| j        ›d�| _        d S d S )NÚ__exprinfo_fnz__exprinfo_fn(z__exprinfo_%dú,ú=Ú__exprinfo_starÚ*Ú__exprinfo_kwdsz**rI   z, rJ   éÿÿÿÿú
{ú = ú
})rS   r   r\   r<   r(   rC   r   ÚKeywordro   r`   rE   r‹   r^   Ú	star_argsÚ
dstar_argsrŒ   Úendswithr]   r	   rV   r¤   r_   )r   rU   r   rŽ   Úvarsrr   ÚaÚkeywordÚargnamer±   r²   Úrs               r   r\   zCallFunc.eval,  s÷  € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐØˆØ ¤Ð-ˆØ!ˆØ”ð 	Hð 	HˆAÝ˜!�Sœ[Ñ)Ô)ð Øœ&�Ø”F��à�Ý˜aÑ Ô ˆAØ�FŠF�5‰MŒMˆMØ%­¨D©	¬	Ñ1ˆGØœHˆD�‰MØˆØ˜' C™-Ñ'�Ø×#Ò# A¤MÑ2Ô2Ð2Ð2à g g g¨w¨w¨wÐ7Ñ7�Ø×#Ò#¨w¨w¨w¸¼¸Ð$FÑGÔGÐGÐGØŒ>ð 	=Ý% d¤nÑ5Ô5ˆIØ�NŠN˜5Ñ!Ô!Ð!Ø'ˆGØ%Ô,ˆD�‰MØ�c˜G‘m cÑ)Ñ)ˆFØ×Ò  iÔ&;Ñ ;Ñ<Ô<Ð<ØŒ?ð 	?Ý& t¤Ñ7Ô7ˆJØ�OŠO˜EÑ"Ô"Ð"Ø'ˆGØ&Ô-ˆD�‰MØ�d˜W‘n sÑ*Ñ*ˆFØ×Ò  zÔ'=Ñ =Ñ>Ô>Ð>àÔÐÐ˜dŸiši¨Ñ5Ô5Ð5Ð5ð7ˆÔà�?Š?˜3ÑÔð 	!Ø˜C˜R˜C”[ˆFØ�#‰ˆð	 Ø$˜%œ* VÐ4Ð4¨tÐ4Ð4ˆDŒKˆKøÝð 	ð 	ð 	Øð	 Ý˜$‘-”-ÐøøøØ�Š˜uÑ%Ô%ð 	L¨T¯\ª\¸%Ñ-@Ô-@ð 	LØ—
’
˜4œ;Ñ'Ô'ˆAØ45°A°A°q°q°q¸$Ô:JÐ:JÐ:JÐKˆDÔÐÐð	Lð 	Ls   ÈH! È!H<N)r   r   r   r   r¡   r3   r¤   r\   r   r   r   r¡   r¡     s>   € € € € € ØŒ|€Hðð ð ð1Lð 1Lð 1Lð 1Lð 1Lr   r¡   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚGetattrc                 ó  — t          | j        ¦  «        }|                     |¦  «         d| j        z  }	 |                     ||j        ¬¦  «        | _        n# t
          $ r ‚  t          | ¦  «        ‚xY w|j        ›d| j        ›�| _        d| j        z  }	 |                     |                     ||j        ¬¦  «        ¦  «        }n# t
          $ r ‚  d}Y nxY w|r1| 	                    | j        ¦  «        }|›d|›d| j        ›d�| _        d S d S )	Nz__exprinfo_expr.%sr–   ú.zGhasattr(__exprinfo_expr, "__dict__") and %r in __exprinfo_expr.__dict__Tr­   r®   r¯   )
rS   r`   r\   Úattrnamer<   r]   r	   r^   rp   r_   )r   rU   r`   rr   Úfrom_instancer¸   s         r   r\   zGetattr.evalb  sK  € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐØ%¨¬Ñ5ˆð	 ØŸ*š* V¸T¼[˜*ÑIÔIˆDŒKˆKøÝð 	ð 	ð 	Øð	 Ý˜$‘-”-ÐøøøØ&*Ô&6Ð&6Ð&6¸¼¸ÐFˆÔð3Ø59´]ñCˆð	!Ø!ŸMšMØ—
’
˜6°4´;�
Ñ?Ô?ñAô AˆMˆMøåð 	ð 	ð 	Øð	!Ø ˆMˆMˆMøøøØð 	LØ—
’
˜4œ;Ñ'Ô'ˆAØ45°A°A°q°q°q¸$Ô:JÐ:JÐ:JÐKˆDÔÐÐð	Lð 	Ls   µ!A ÁA2Â/C ÃCN)r   r   r   r   rº   r3   r\   r   r   r   rº   rº   _  s/   € € € € € ØŒ{€HðLð Lð Lð Lð Lr   rº   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚAssertc                 óž  — t          | j        ¦  «        }|                     |¦  «         |j                             d¦  «        r.|j                             d¦  «        r|j        dd…         |_        |j        | _        d|j        z   | _        |                     |j        ¦  «        s&	 t          ‚# t          $ r ‚  t          | ¦  «        ‚xY wd S )NzFalse
{False = r¯   é   éþÿÿÿzassert )rS   Útestr\   r^   Ú
startswithr³   r<   rp   r   r]   r	   )r   rU   rÄ   s      r   rh   z
Assert.run€  sØ   € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐàÔ×'Ò'Ð(:Ñ;Ô;ð 	7ØÔ×%Ò% eÑ,Ô,ð	7à#Ô/°°2°Ô6ˆDÔà”kˆŒØ$ tÔ'7Ñ7ˆÔØ�}Š}˜Tœ[Ñ)Ô)ð 	$ð$Ý+Ð+øÝ ð ð ð Øð$Ý˜d‘m”mÐ#øøøð	$ð 	$s   Â(B/ Â/C
N)r   r   r   r   rÀ   r3   rh   r   r   r   rÀ   rÀ   }  s*   € € € € € ØŒz€Hð$ð $ð $ð $ð $r   rÀ   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚAssignc                 ó  — t          | j        ¦  «        }|                     |¦  «         |j        | _        d|j        z   | _        t          j        | j        t          j        d¦  «        ¦  «        }t          j	        d t          j
        |g¦  «        ¦  «        }d|_        t          j        |¦  «                             ¦   «         }	 |                     ||j        ¬¦  «         d S # t           $ r ‚  t#          | ¦  «        ‚xY w)Nz... = r•   rc   r–   )rS   r`   r\   r<   r^   r   rÇ   rŠ   rl   rd   re   rY   r   rf   r[   rg   r]   r	   )r   rU   r`   ÚassÚmodra   s         r   rh   z
Assign.run•  så   € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐØ”kˆŒØ# dÔ&6Ñ6ˆÔåŒj˜œ¥S¤XÐ.?Ñ%@Ô%@ÑAÔAˆÝŒj˜�sœx¨¨™œÑ/Ô/ˆØˆŒÝÔ*¨3Ñ/Ô/×7Ò7Ñ9Ô9ˆð	 Ø�KŠK˜¨D¬KˆKÑ8Ô8Ð8Ð8Ð8øÝð 	ð 	ð 	Øð	 Ý˜$‘-”-Ðøøøs   ÃC% Ã%D N)r   r   r   r   rÇ   r3   rh   r   r   r   rÇ   rÇ   ’  s*   € € € € € ØŒz€Hð ð  ð  ð  ð  r   rÇ   c                   ó"   — e Zd Zej        Zd„ ZdS )ÚDiscardc                 óˆ   — t          | j        ¦  «        }|                     |¦  «         |j        | _        |j        | _        d S r   )rS   r`   r\   r<   r^   )r   rU   r`   s      r   rh   zDiscard.run©  s=   € Ý˜TœYÑ'Ô'ˆØ�	Š	�%ÑÔÐØ”kˆŒØÔ+ˆÔÐÐr   N)r   r   r   r   rÌ   r3   rh   r   r   r   rÌ   rÌ   ¦  s*   € € € € € ØŒ{€Hð,ð ,ð ,ð ,ð ,r   rÌ   c                   ó"   — e Zd Zej        Zd„ ZdS )re   c                 ób   — | j         D ]&}t          |¦  «        }|                     |¦  «         Œ'd S r   )rŠ   rS   rh   )r   rU   Ústmts      r   rh   zStmt.run²  s;   € Ø”Jð 	ð 	ˆDÝ  Ñ&Ô&ˆDØ�HŠH�U‰OŒOˆOˆOð	ð 	r   N)r   r   r   r   re   r3   rh   r   r   r   re   re   ¯  s*   € € € € € ØŒx€Hðð ð ð ð r   re   c                 ó¸   — | j                              ¦   «         }|rd|z   }nd}t          j                             | j        j        ›d| j        ›|›d�¦  «         d S )Nz, in: Ú ú: ú
)r   rj   r   ÚstdoutÚwriter   r   r   )Úer^   s     r   Úreport_failurerØ   ¸  sa   € Ø”&×)Ò)Ñ+Ô+€KØð Ø Ñ,ˆˆàˆÝ„J×Ò Q¤U¤^ ^ ^°Q´W°W¸k¸k¸kÐJÑKÔKÐKÐKÐKr   c                 óB  — |€3t          j        d¦  «        }t          j                             |¦  «        }t          | d¦  «        }t          |t          j        ¦  «        sJ ‚t          |j
        ¦  «        }	 |                     |¦  «         |                     |j        ¦  «        s6t           j                             d|                     ¦   «         z  ¦  «         d S d S # t"          $ r ‚ t$          $ r, t          j        ¦   «         d         }t)          |¦  «         Y d S w xY w)Nr?   r\   zassertion failed: %s
)r   Ú	_getframeÚpyÚcodeÚFramer   rC   r   rX   rS   r   r\   rp   r<   ÚstderrrÖ   rj   r]   r	   r   rØ   )ÚsrU   r`   r   r×   s        r   Úcheckrà   À  s#  € Ø€}Ý”˜aÑ Ô ˆÝ”—’˜eÑ$Ô$ˆÝ��FÑÔ€DÝ�d�CœNÑ+Ô+Ð+Ð+Ð+Ý˜œÑ#Ô#€Dð	QØ�	Š	�%ÑÔÐð �}Š}˜Tœ[Ñ)Ô)ð 	QÝŒJ×ÒÐ5¸×8MÒ8MÑ8OÔ8OÑOÑPÔPÐPÐPÐPð	Qð 	Qøõ ð ð ð ØÝð ð ð ÝŒL‰NŒN˜1ÔˆÝ�qÑÔÐÐÐÐðøøøs   Á7C Ã<DÄDFc                 óª  — t          t          | d¦  «        j        ¦  «        }t          |t          j        ¦  «        rt          j                             |¦  «        }	 | 	                    |¦  «         n\# t          $ r+ t          j        ¦   «         d         }t          |¦  «        cY S t          $ r ‚  dd l}|                     ¦   «          Y nxY w|rdS d S )NÚexecr?   r   z¨(assertion failed, but when it was re-run for printing intermediate values, it did not fail.  Suggestions: compute assert expression before the assert or use --nomagic))rS   r   r   rC   ÚtypesÚ	FrameTyperÛ   rÜ   rÝ   rh   r	   r   r   Ú
getfailurer]   Ú	tracebackÚ	print_exc)rr   rU   Úshould_failÚmoduler×   ræ   s         r   Ú	interpretrê   ×  sî   € Ý�5 ¨Ñ0Ô0Ô5Ñ6Ô6€Få�%�œÑ)Ô)ð %Ý”—’˜eÑ$Ô$ˆð	Ø�
Š
�5ÑÔÐÐøÝð ð ð ÝŒL‰NŒN˜1ÔˆÝ˜!‰}Œ}ÐÐÐÝð ð ð ØðØÐÐÐØ×ÒÑÔÐÐÐøøøØð ðPð Pð ˆts   ÁA3 Á32CÂ'#Cc                 óP  — t          | t          ¦  «        rt          j                             | ¦  «        } | j        d         }t          |j        ¦  «                             ¦   «         }t          ||j
        d¬¦  «        }t          |t          ¦  «        st          d|›�¦  «        ‚|S )Nr¬   T)rè   zinterpret returned non-string )rC   rD   rÛ   rÜ   ÚExceptionInforæ   ÚstrÚ	statementÚstriprê   rU   Ú	TypeError)Úexcinfor   rr   Úxs       r   Úgetmsgró   í  s–   € Ý�'�5Ñ!Ô!ð 1Ý”'×'Ò'¨Ñ0Ô0ˆð
 
Ô	˜2Ô	€BÝ�”ÑÔ×$Ò$Ñ&Ô&€FÝ�&˜"œ(°Ð5Ñ5Ô5€AÝ�a�ÑÔð CÝˆi¸a¸aÐAÑBÔBÐBØ€Hr   c                 óD  — | j                              ¦   «         }t          | j        ¦  «        rB|                     d¦  «        }|dxx         d| j        ›�z  cc<   d                     |¦  «        }| j        j        ›d|›�}|                     d¦  «        r
|dd …         }|S )NrÔ   r   z  << rÓ   zAssertionError: assert é   )	r   rj   rí   r   ÚsplitrŒ   r   r   rÅ   )r×   r^   ÚlinesÚtexts       r   rå   rå   û  s£   € Ø”&×)Ò)Ñ+Ô+€KÝ
ˆ1Œ7�|„|ð 'Ø×!Ò! $Ñ'Ô'ˆØˆaˆˆŒˆ ¤ Ð*Ñ*ˆˆ‰Ø—i’i Ñ&Ô&ˆØ”u”~�~�~ { {Ð3€DØ‡‚Ð0Ñ1Ô1ð Ø�B�C�CŒyˆØ€Kr   c                 óR  — |€3t          j        d¦  «        }t          j                             |¦  «        }t          t          | d¦  «        j        ¦  «        }	 |                     |¦  «         d S # t          $ r, t          j
        ¦   «         d         }t          |¦  «         Y d S w xY w)Nr?   râ   )r   rÚ   rÛ   rÜ   rÝ   rS   r   r   rh   r	   r   rØ   )rß   rU   ré   r×   s       r   rh   rh     s¢   € Ø€}Ý”˜aÑ Ô ˆÝ”—’˜eÑ$Ô$ˆÝ�5  FÑ+Ô+Ô0Ñ1Ô1€FðØ�
Š
�5ÑÔÐÐÐøÝð ð ð ÝŒL‰NŒN˜1ÔˆÝ�qÑÔÐÐÐÐðøøøs   ÁA0 Á02B&Â%B&Ú__main__c                  ó   — dS )Né   r   r   r   r   Úfrý     ó   € Øˆqr   c                  ó   — dS )Né   r   r   r   r   Úgr    rþ   r   c                 ó   — dS )NÚneverr   )rò   s    r   Úhr    s   € Øˆwr   zf() * g() == 5znot f()znot (f() and g() or 0)z
f() == g()é   zi == f()zlen(f()) == 0zisinstance(2+3+4, float)zx = izx == 5zassert not f(), 'oops'za, b, c = 1, 2za, b, c = f()zmax([f(),g()]) == 4z'hello'[g()] == 'h'z'guk%d' % h(f())r   )F)7rÛ   r   r7   Úcompilerr   r   r   Úpy._code.assertionr   r   rã   ÚbuiltinÚ_sysexr]   r	   r   r   rB   rS   rl   r|   r‡   r�   Ú	keepaliveÚNotÚInvertÚitemsrš   r˜   r“   r‹   ÚAddÚSubÚMulÚDivÚModÚPowerrœ   r¡   rº   rÀ   rÇ   rÌ   re   rØ   rà   rê   ró   rå   rh   r   rý   r  r  Úir   r   r   ú<module>r     s’  ðØ 	€	€	€	Ø Ð Ð Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ €€€à”
Ô!€ðð ð ð ð ñ ô ð ð
LFð LFð LFð LFð LFˆ6ñ LFô LFð LFð^ð ð ð#5ð #5ð #5ð #5ð #5�Dñ #5ô #5ð #5ðL")ð ")ð ")ð ")ð ")ˆ=ñ ")ô ")ð ")ðHð ð ð ð ˆmñ ô ð ð4Bð Bð Bð Bð Bˆ-ñ Bô Bð BðAð Að Að Að Aˆñ Aô Að Að  €	à„GÐ&Ø„JÐ%ð÷ ‚e�g„gð!ð !Ñ€Hˆjð
$ð $ð $ð $ð $�]ñ $ô $ð $ð  ×Ò�ZÑ Ô Ð Ð ð „GÐ7Ø„GÐ7Ø„GÐ7Ø„GÐ7Ø„GÐ7Ø„IÐ8ð÷ ‚e�g„gð"ð "Ñ€Hˆjð$ð $ð $ð $ð $�mñ $ô $ð $ð( ×Ò�[Ñ!Ô!Ð!Ð!ð>Lð >Lð >Lð >Lð >Lˆ}ñ >Lô >Lð >Lð@Lð Lð Lð Lð Lˆmñ Lô Lð Lð<$ð $ð $ð $ð $ˆ]ñ $ô $ð $ð* ð  ð  ð  ð  ˆ]ñ  ô  ð  ð(,ð ,ð ,ð ,ð ,ˆmñ ,ô ,ð ,ðð ð ð ð ˆ=ñ ô ð ðLð Lð LðQð Qð Qð Qð.ð ð ð ð,ð ð ð	ð 	ð 	ð	ð 	ð 	ð 	ð ˆzÒÐðð ð ðð ð ðð ð à	€EÐ
ÑÔÐØ	€Eˆ)ÑÔÐØ	€EÐ
"Ñ#Ô#Ð#Ø	€Eˆ,ÑÔÐØ	€AØ	€Eˆ*ÑÔÐØ	€Eˆ/ÑÔÐØ	€EÐ
$Ñ%Ô%Ð%à€Cˆ�L„L€LØ	€Eˆ(�O„O€Oà€CÐ Ñ!Ô!Ð!Ø€CÐÑÔÐØ€CˆÑÔÐà	€EÐ
Ñ Ô Ð Ø	€EÐ
Ñ Ô Ð Ø€CÐÑÔÐÐÐð5 Ðr   