Ë
    ¡ehÐ  ã                   ó
  — d Z dgZddlZddlZddlmZ ddlm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 d„ de«      ZefZeefZd„ Z G d„ de«      Zd„ Z G d„ d«      Zd„ Zd„ Zd„ Zd9d„Zd9d„Zd9d„Zd:d„Zd„ Zd;d„Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(d(„ Z)d)„ Z*d*„ Z+d+„ Z,d,„ Z-d-„ Z.d.„ Z/ e/«       Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5ejl                  fd4„Z7 G d5„ d6«      Z8 G d7„ d8«      Z9y)<a‡  Fortran/C symbolic expressions

References:
- J3/21-007: Draft Fortran 202x. https://j3-fortran.org/doc/year/21/21-007.pdf

Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
ÚExpré    N)ÚEnum)Úgcdc                   ó   — e Zd ZdZdZdZdZy)ÚLanguagez2
    Used as Expr.tostring language argument.
    r   é   é   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚPythonÚFortranÚC© ó    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/f2py/symbolic.pyr   r   $   s   „ ñð €FØ€GØ	�Ar   r   c                   óL   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZy)ÚOpz$
    Used as Expr op attribute.
    é
   é   é   é   é   é(   éd   éÈ   éÒ   éÜ   i,  iè  iÐ  i¸  i¹  N)r
   r   r   r   ÚINTEGERÚREALÚCOMPLEXÚSTRINGÚARRAYÚSYMBOLÚTERNARYÚAPPLYÚINDEXINGÚCONCATÚ
RELATIONALÚTERMSÚFACTORSÚREFÚDEREFr   r   r   r   r   -   sT   „ ñð €GØ€DØ€GØ€FØ€EØ€FØ€GØ€EØ€HØ€FØ€JØ€EØ€GØ
€CØ�Er   r   c                   ón   — e Zd ZdZdZdZdZdZdZdZ	e
ej                  fd„«       Zej                  fd	„Zy
)ÚRelOpzH
    Used in Op.RELATIONAL expression to specify the function part.
    r   r	   é   é   é   é   c                 óÂ  — |t         j                  u rnt        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  dœ|j                  «          S t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  dœ|   S )N)ú.eq.ú.ne.ú.lt.ú.le.ú.gt.ú.ge.)ú==ú!=ú<ú<=ú>ú>=)
r   r   r0   ÚEQÚNEÚLTÚLEÚGTÚGEÚlower)ÚclsÚsÚlanguages      r   Ú
fromstringzRelOp.fromstringM   s�   € à”x×'Ñ'Ñ'Ü!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hñ8à89¿¹»	ñCð Cô —h‘h¤e§h¡h´U·X±XÜ—h‘h¤U§X¡X´U·X±Xñ?Ø?@ñBð 	Br   c                 óº  — |t         j                  u ret        j                  dt        j                  dt        j
                  dt        j                  dt        j                  dt        j                  di|    S t        j                  dt        j                  dt        j
                  d	t        j                  d
t        j                  dt        j                  di|    S )Nr6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   )	r   r   r0   rB   rC   rD   rE   rF   rG   ©ÚselfrK   s     r   ÚtostringzRelOp.tostringV   sœ   € Ø”x×'Ñ'Ñ'Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°ð8à8<ñ>ð >ô —‘˜$¤§¡¨$Ü—‘˜#œuŸx™x¨Ü—‘˜#œuŸx™x¨ð/à/3ñ5ð 	5r   N)r
   r   r   r   rB   rC   rD   rE   rF   rG   Úclassmethodr   r   rL   rP   r   r   r   r0   r0   B   sP   „ ñð 
€BØ	
€BØ	
€BØ	
€BØ	
€BØ	
€BàØ$,§J¡Jò Bó ðBð !)§
¡
ô 5r   r0   c                   ó,   — e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
ÚArithOpzC
    Used in Op.APPLY expression to specify the function part.
    r   r	   r1   r2   r3   r4   é   N)r
   r   r   r   ÚPOSÚNEGÚADDÚSUBÚMULÚDIVÚPOWr   r   r   rS   rS   `   s,   „ ñð €CØ
€CØ
€CØ
€CØ
€CØ
€CØ
�Cr   rS   c                   ó   — e Zd Zy)ÚOpErrorN©r
   r   r   r   r   r   r]   r]   m   ó   „ Ør   r]   c                   óD   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZy)Ú
Precedencez4
    Used as Expr.tostring precedence argument.
    r   r   r	   r1   r2   r4   rT   é   r   é   é   r   r   N)r
   r   r   r   ÚATOMÚPOWERÚUNARYÚPRODUCTÚSUMrD   rB   ÚLANDÚLORr&   ÚASSIGNÚTUPLEÚNONEr   r   r   ra   ra   q   sJ   „ ñð €DØ€EØ€EØ€GØ
€CØ	
€BØ	
€BØ€DØ
€CØ€GØ€FØ€EØ�Dr   ra   c                 óV   — | j                  |«      }|€|| |<   y ||z   }|r|| |<   y | |= y ©N)Úget)ÚdÚkÚvÚcs       r   Ú
_pairs_addrv   ˆ   s9   € à	�‰ˆa‹€AØ€yØˆˆ!Šà�‰EˆÙØˆAˆaŠDà�!‘r   c                   ó   — e Zd Zy)ÚExprWarningNr^   r   r   r   rx   rx   •   r_   r   rx   c                 ó<   — t        j                  | t        d¬«       y )Nr	   )Ú
stacklevel)ÚwarningsÚwarnrx   )Úmessages    r   Úewarnr~   ™   s   € Ü‡M�M�'œ;°1Ö5r   c                   ó   — e Zd ZdZeej                  fd„«       Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zej$                  ej&                  fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd „ Z(d!„ Z)y")#r   zfRepresents a Fortran expression as a op-data pair.

    Expr instances are hashable and sortable.
    c                 ó   — t        | |¬«      S )z.Parse a Fortran expression to a Expr.
        ©rK   )rL   )rJ   rK   s     r   Úparsez
Expr.parse£   s   € ô ˜! hÔ/Ð/r   c                 ó@  — t        |t        «      sJ ‚|t        j                  u rVt        |t        «      rt	        |«      dk(  sJ ‚t        |d   t
        «      sJ ‚t        |d   t
        t        f«      �sJ |«       ‚|t        j                  u rVt        |t        «      rt	        |«      dk(  sJ ‚t        |d   t        «      sJ ‚t        |d   t
        t        f«      �sµJ |«       ‚|t        j                  u r!t        |t        «      rt	        |«      dk(  �s}J ‚|t        j                  u rrt        |t        «      rt	        |«      dk(  sJ ‚t        |d   t        «      r|d   d d t	        |d   «      dz
  …   dv sJ ‚t        |d   t
        t        f«      �sþJ |«       ‚|t        j                  u rt        |«      �€ÙJ ‚|t        j                  t        j                  fv r,t        |t        «      sJ ‚t        d„ |D «       «      �s�J |«       ‚|t        j                   t        j"                  fv rt        |t$        «      �sVJ ‚|t        j&                  u rZt        |t        «      rt	        |«      dk(  sJ ‚t        |d   «      €J ‚t        |d   t        «      sJ ‚t        |d   t$        «      sêJ ‚|t        j(                  u r0t        |t        «      rt	        |«      dk(  sJ ‚t        |d   «      €¨J ‚|t        j*                  u r t        |t        «      rt	        |«      dk(  svJ ‚|t        j,                  t        j.                  fv rt        |t0        «      sBJ ‚|t        j2                  u r t        |t        «      rt	        |«      dk(  sJ ‚t5        d|› �«      ‚|| _        || _        y )Nr	   r   r   )z""z''z@@c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrp   )Ú
isinstancer   )Ú.0Úitems     r   ú	<genexpr>z Expr.__init__.<locals>.<genexpr>É   s   è ø€ Ò?°$”z $¬×-Ñ?ùó   ‚r1   z$unknown op or missing sanity check: )r…   r   r    ÚtupleÚlenÚintÚstrr!   Úfloatr"   r#   r%   Úhashr$   r)   Úallr+   r,   Údictr'   r(   r&   r-   r.   r   r*   ÚNotImplementedErrorÚopÚdata)rO   r“   r”   s      r   Ú__init__zExpr.__init__©   s"  € Ü˜"œbÔ!Ð!Ð!ð ”—‘Ñô ˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=Ü˜d 1™g¤sÔ+Ð+Ð+Ü˜d 1™g¬¬S zÕ2Ð8°DÓ8Ð2Ø”2—7‘7‰]ô ˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=Ü˜d 1™g¤uÔ-Ð-Ð-Ü˜d 1™g¬¬S zÕ2Ð8°DÓ8Ð2Ø”2—:‘:Ñä˜d¤EÔ*¬s°4«y¸A«~Ð=Ð=Ø”2—9‘9‰_ô ˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=Ü˜t A™w¬Ô,Ø˜Q™Ñ 0¤# d¨1¡g£,¨q¡.Ð 0Ñ1Ð5GÑGðIð Hä˜d 1™g¬¬S zÕ2Ð8°DÓ8Ð2Ø”2—9‘9‰_ä˜“:Ñ)Ð)Ð)Ø”B—H‘HœbŸi™iÐ(Ñ(ä˜d¤EÔ*Ð*Ð*ÜÑ?¸$Ô?Õ?ÐEÀÓEÐ?Ø”B—H‘HœbŸj™jÐ)Ñ)ô ˜d¤DÕ)Ð)Ð)Ø”2—8‘8‰^ô ˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=ä˜˜Q™“=Ð,Ð,Ð,Ü˜d 1™g¤uÔ-Ð-Ð-Ü˜d 1™g¤tÔ,Ð,Ð,Ø”2—;‘;Ñä˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=ä˜˜Q™“=Ð,Ð,Ð,Ø”2—:‘:Ñä˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=Ø”B—F‘FœBŸH™HÐ%Ñ%ä˜d¤DÔ)Ð)Ð)Ø”2—=‘=Ñ ä˜d¤EÔ*¬s°4«y¸Aª~Ð=Ð=ä%Ø6°r°dÐ;ó=ð =ð ˆŒØˆ�	r   c                 óŒ   — t        |t        «      xr3 | j                  |j                  u xr | j                  |j                  k(  S rp   )r…   r   r“   r”   ©rO   Úothers     r   Ú__eq__zExpr.__eq__ë   s;   € Ü˜5¤$Ó'ò ,Ø—G‘G˜uŸx™xÐ'ò,à—I‘I §¡Ñ+ð	-r   c                 ó²  — | j                   t        j                  t        j                  fv r-t	        t        | j                  j                  «       «      «      }nh| j                   t        j                  u r@| j                  d d t	        t        | j                  d   j                  «       «      «      z   }n| j                  }t        | j                   |f«      S ©Nr	   )
r“   r   r+   r,   rŠ   Úsortedr”   Úitemsr'   r�   )rO   r”   s     r   Ú__hash__zExpr.__hash__ð   s�   € Ø�7‰7”r—x‘x¤§¡Ð,Ñ,Üœ §	¡	§¡Ó 1Ó2Ó3‰DØ�W‰WœŸ™Ñ Ø—9‘9˜R˜a�=¤5¬°·	±	¸!±×0BÑ0BÓ0DÓ)EÓ#FÑF‰Dà—9‘9ˆDÜ�T—W‘W˜d�OÓ$Ð$r   c                 óh  — t        |t        «      �rœ| j                  |j                  ur-| j                  j                  |j                  j                  k  S | j                  t        j
                  t        j                  fv rYt        t        | j                  j                  «       «      «      t        t        |j                  j                  «       «      «      k  S | j                  t        j                  u r�| j                  d d |j                  d d k7  r| j                  d d |j                  d d k  S t        t        | j                  d   j                  «       «      «      t        t        |j                  d   j                  «       «      «      k  S | j                  |j                  k  S t        S r›   )r…   r   r“   Úvaluer   r+   r,   rŠ   rœ   r”   r�   r'   ÚNotImplementedr—   s     r   Ú__lt__zExpr.__lt__ù   s8  € Ü�eœTÕ"Ø�w‰w˜eŸh™hÑ&Ø—w‘w—}‘} u§x¡x§~¡~Ñ5Ð5Ø�w‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ñ0Üœf T§Y¡Y§_¡_Ó%6Ó7Ó8Ü¤ u§z¡z×'7Ñ'7Ó'9Ó :Ó;ñ<ð =à�w‰wœ"Ÿ(™(Ñ"Ø—9‘9˜R˜a�= E§J¡J¨r° NÒ2ØŸ9™9 R a˜=¨5¯:©:°b°q¨>Ñ9Ð9ÜœV D§I¡I¨a¡L×$6Ñ$6Ó$8Ó9Ó:¼UÜ˜5Ÿ:™: a™=×.Ñ.Ó0Ó1ó>3ñ 3ð 3à—9‘9˜uŸz™zÑ)Ð)ÜÐr   c                 ó   — | |k(  xs | |k  S rp   r   r—   s     r   Ú__le__zExpr.__le__  s   €  D¨E¡MÒ$A°T¸E±\ÐAr   c                 ó   — | |k   S rp   r   r—   s     r   Ú__gt__zExpr.__gt__
  s   € ¨°©Ð$7Ð7r   c                 ó   — | |k   S rp   r   r—   s     r   Ú__ge__zExpr.__ge__  s   € ¨°©Ð$6Ð6r   c                 óf   — t        | «      j                  › d| j                  › d| j                  ›d�S ©Nú(ú, ú))Útyper
   r“   r”   ©rO   s    r   Ú__repr__zExpr.__repr__  s.   € Ü�t“*×%Ñ%Ð& a¨¯© y°°4·9±9°-¸qÐAÐAr   c                 ó"   — | j                  «       S rp   )rP   r¯   s    r   Ú__str__zExpr.__str__  s   € Ø�}‰}‹Ðr   c           	      óÞ  ‡— | j                   t        j                  t        j                  fv rs| j                  d   dk  rt
        j                  nt
        j                  }t        | j                  d   «      | j                  d   dk7  rd| j                  d   › �ndz   }�	n| j                   t        j                  u r>dj                  ˆfd„| j                  D «       «      }d|z   d	z   }t
        j                  }�n²| j                   t        j                  u r't
        j                  }t        | j                  «      }�no| j                   t        j                  u rH| j                  d   }| j                  d   dk7  r| j                  d   dz   |z   }t
        j                  }�n| j                   t        j                  u r>dj                  ˆfd
„| j                  D «       «      }d|z   dz   }t
        j                  }�n±| j                   t        j                  u �rg }t        | j                  j!                  «       «      D ]µ  \  }}|dk  rd}| }nd}|dk(  r"|j#                  t
        j                  ‰¬«      }nA|t%        d«      k(  rt        |«      }n'|› d�|j#                  t
        j&                  ‰¬«      z   }|r|j)                  |«       n|dk(  r|j)                  d«       |j)                  |«       Œ· dj                  |«      xs d}|rt
        j                  nt
        j                  }�n~| j                   t        j*                  u �r¼g }	g }
t        | j                  j!                  «       «      D �]6  \  }}d}|dk(  r"|j#                  t
        j&                  ‰¬«      }nã‰t,        j.                  u rª|t1        dd«      v r7|j#                  t
        j&                  ‰¬«      }dj                  |g|z  «      }nŒ|t1        dd«      v r,|j#                  t
        j&                  ‰¬«      }|
|g| z  z  }
ŒÁ|j#                  t
        j2                  ‰¬«      }d|› d|› d	�}n'|j#                  t
        j4                  ‰¬«      d|› �z   }|	r|	j)                  |«       |	j)                  |«       �Œ9 |
r |	s|	dgz  }	|	dddj                  |
«      d	gz  }	dj                  |	«      xs d}|	rt
        j&                  nt
        j                  }�n¥| j                   t        j6                  u �r| j                  \  }}}|t8        j:                  u r]‰t,        j.                  u rK|D �cg c]#  }|j#                  t
        j&                  ‰¬«      ‘Œ% c}\  }}|› d|› �}t
        j&                  }�n	|D �cg c]#  }|j#                  t
        j2                  ‰¬«      ‘Œ% }}||j!                  «       D ��cg c]*  \  }}|dz   |j#                  t
        j<                  «      z   ‘Œ, c}}z  }|› ddj                  |«      › d	�}t
        j                  }�ni| j                   t        j>                  u rs| j                  d   }| j                  dd D �cg c]#  }|j#                  t
        j2                  ‰¬«      ‘Œ% }}|› ddj                  |«      › d�}t
        j                  }�nÚ| j                   t        j@                  u r[| j                  D �cg c]#  }|j#                  t
        j&                  ‰¬«      ‘Œ% }}dj                  |«      }t
        j&                  }�nc| j                   t        jB                  u rÇ| j                  D �cg c]#  }|j#                  t
        j2                  ‰¬«      ‘Œ% c}\  }}}‰t,        j.                  u rd|› d|› d|› d	�}nY‰t,        jD                  u rd|› d |› d!|› d	�}n:‰t,        jF                  u rd"|› d|› d|› d	�}ntI        d#| j                   › d$‰› �«      ‚t
        j                  }�n€| j                   t        jJ                  u r@d%| j                  j#                  t
        jL                  ‰¬«      z   }t
        jL                  }�n$| j                   t        jN                  u r?d&| j                  j#                  t
        jL                  ‰¬«      z   }t
        jL                  }nÉ| j                   t        jP                  u r•| j                  \  }}}|tR        jT                  tR        jV                  fv rt
        jT                  nt
        jX                  }|j#                  |‰¬«      }|j#                  |‰¬«      }|j#                  ‰¬«      }|› d'|› d'|› �}ntI        d(| j                   › �«      ‚|jZ                  |jZ                  k  rd|z   d	z   S |S c c}w c c}w c c}}w c c}w c c}w c c}w ))z0Return a string representation of Expr.
        r   r   r2   Ú_Ú r¬   c              3   ó`   •K  — | ]%  }|j                  t        j                  ‰¬ «      –— Œ' y­w©r�   N©rP   ra   rm   ©r†   r‡   rK   s     €r   rˆ   z Expr.tostring.<locals>.<genexpr>  ó,   øè ø€ ò 1Ø"ð Ÿ-™-¬
×(8Ñ(8À8˜-×Lñ 1ùó   ƒ+.r«   r­   c              3   ó`   •K  — | ]%  }|j                  t        j                  ‰¬ «      –— Œ' y­wr·   r¸   r¹   s     €r   rˆ   z Expr.tostring.<locals>.<genexpr>+  rº   r»   ú[ú]z - ú + r�   ú * ú-Ú0r	   r   iöÿÿÿzpow(z ** Ú1ú/z / ú=Nz // ú?ú:z if z else zmerge(ztostring for z and ú&Ú*ú ztostring for op ).r“   r   r    r!   r”   ra   ri   re   r�   r"   Újoinr%   r#   r$   r+   rœ   r�   rP   Ú	as_numberrh   Úappendr,   r   r   Úrangerm   rf   r'   rS   rZ   rn   r(   r)   r&   r   r   r’   r-   rg   r.   r*   r0   rB   rC   rD   r    )rO   Úparent_precedencerK   Ú
precedenceÚrÚtermsÚtermÚcoeffr“   ÚfactorsÚtailÚbaseÚexpÚfactorÚnameÚargsÚkwargsÚargÚnumerÚdenomrs   rt   ÚaÚcondÚexpr1Úexpr2ÚropÚleftÚrights     `                          r   rP   zExpr.tostring  sœ  ø€ ð �7‰7”r—z‘z¤2§7¡7Ð+Ñ+Ø,0¯I©I°a©L¸1Ò,<œ*Ÿ.š.Ü)Ÿ™ð ä�D—I‘I˜a‘LÓ!Ø(,¯	©	°!©¸Ò(9ð ()¨¯©°1©¨Ñ%7Ø?AñCŠAà�W‰WœŸ
™
Ñ"Ø—	‘	ó 1Ø&*§i¡iô1ó 1ˆAà�a‘˜#‘ˆAÜ#Ÿ™ŠJØ�W‰WœŸ	™	Ñ!Ü#Ÿ™ˆJÜ�D—I‘I“ŠAØ�W‰WœŸ	™	Ñ!Ø—	‘	˜!‘ˆAØ�y‰y˜‰|˜qÒ Ø—I‘I˜a‘L 3Ñ&¨Ñ*�Ü#Ÿ™ŠJØ�W‰WœŸ™Ñ Ø—	‘	ó 1Ø&*§i¡iô1ó 1ˆAà�a‘˜#‘ˆAÜ#Ÿ™ŠJØ�W‰WœŸ™Ò ØˆEÜ% d§i¡i§o¡oÓ&7Ó8ò #‘��eØ˜1’9Ø�BØ"˜F‘Eà�BØ˜A’:ØŸ=™=¬¯©À(˜=ÓK‘Dàœy¨›|Ò+Ü" 5›z™à"' ¨˜}¨t¯}©}Ü&×.Ñ.¸ð 0=ó 0Cñ  C˜áØ—L‘L Õ$Ø˜5’[Ø—L‘L Ô%Ø—‘˜TÕ"ð%#ð& —‘˜“Ò% #ˆAÙ+0œŸš´j·o±oŠJØ�W‰WœŸ
™
Ò"ØˆGØˆDÜ# D§I¡I§O¡OÓ$5Ó6ó '‘	��cØ�Ø˜!’8Ø!Ÿ]™]¬:×+=Ñ+=Ø4<ð +ó >‘Fà¤§¡Ñ+Øœe A r›lÑ*Ø!%§¡¬z×/AÑ/AØ8@ð "/ó "B˜à!&§¡¨V¨H°s©NÓ!;™Ø¤ c¨1£Ñ-Ø!%§¡¬z×/AÑ/AØ8@ð "/ó "B˜à  ¨C¨4¡Ñ/˜Ø à!%§¡¬z×/?Ñ/?Ø8@ð "/ó "B˜à#'¨ x¨r°#°°aÐ!8™à!Ÿ]™]¬:×+;Ñ+;Ø4<ð +ó >ØBFÀsÀeÀñM�FáØ—N‘N 2Ô&Ø—‘˜vÖ&ð1'ñ2 ÙØ ˜uÑ$�GØ˜C  e§j¡j°Ó&6¸Ð<Ñ<�Ø—‘˜Ó Ò' CˆAÙ/6œ×+Ò+¼J¿O¹OŠJØ�W‰WœŸ™Ò Ø!%§¡ÑˆD�$˜Ø”w—{‘{Ñ" x´8·:±:Ñ'=ð ,0ö 1à$'ð !$§¡¬Z×-?Ñ-?Ø6>ð !-õ !@ò  1‘��uð �g˜S  Ð(�Ü'×/Ñ/’
ð $(ö)Øð Ÿ™¤Z×%5Ñ%5À˜ÕIð )�ð )àØ%+§\¡\£^÷5Ù!˜Q ð ˜S™ 1§:¡:¬j¯o©oÓ#>Ó>ó 5ñ 5�à�f˜A˜dŸi™i¨›oÐ.¨aÐ0�Ü'Ÿ_™_’
Ø�W‰WœŸ™Ñ#Ø—9‘9˜Q‘<ˆDà#Ÿy™y¨¨˜}ö.Øð —L‘L¤×!1Ñ!1¸H�LÕEð .ˆDð .à�&˜˜$Ÿ)™) D›/Ð*¨!Ð,ˆAÜ#Ÿ™ŠJØ�W‰WœŸ	™	Ñ!à#Ÿy™yö*Øð —L‘L¤×!3Ñ!3¸h�LÕGð *ˆDð *à—‘˜DÓ!ˆAÜ#×+Ñ+ŠJØ�W‰WœŸ
™
Ñ"ð ,0¯9©9ö"6à&'ð #$§*¡*¬Z×-=Ñ-=Ø6>ð #-õ #@ò "6ÑˆD�%˜ð œ8Ÿ:™:Ñ%Ø˜�v˜Q˜u˜g Q u g¨QÐ/‘ØœXŸ_™_Ñ,Ø˜�w˜d 4 &¨¨u¨g°QÐ7‘ØœX×-Ñ-Ñ-Ø˜U˜G 2 e W¨B¨t¨f°AÐ6‘ä)Ø# D§G¡G 9¨E°(°Ð<ó>ð >ä#Ÿ™ŠJØ�W‰WœŸ™ÑØ�d—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÓMÑMˆAÜ#×)Ñ)ŠJØ�W‰WœŸ™Ñ Ø�d—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÓMÑMˆAÜ#×)Ñ)‰JØ�W‰WœŸ™Ñ%Ø#Ÿy™yÑˆC��uØ+.´5·8±8¼U¿X¹XÐ2FÑ+Fœ*Ÿ-š-Ü)Ÿ}™}ð à—=‘= °h�=Ó?ˆDØ—N‘N :¸�NÓAˆEØ—,‘,¨�,Ó1ˆCØ�&˜˜#˜˜a ˜wÐ'‰Aä%Ð(8¸¿¹¸	Ð&BÓCÐCØ×"Ñ" Z×%5Ñ%5Ò5ð ˜‘7˜S‘=Ð Øˆùòs 1ùò)ùó5ùò.ùò
*ùò
"6s$   Õ(gÖ((g×&/gÚ (g Û=(g%Ý4(g*c                 ó   — | S rp   r   r¯   s    r   Ú__pos__zExpr.__pos__¦  s   € Øˆr   c                 ó   — | dz  S )Néÿÿÿÿr   r¯   s    r   Ú__neg__zExpr.__neg__©  s   € Ø�b‰yÐr   c                 óî  — t        |«      }t        |t        «      �rÔ| j                  |j                  u �rN| j                  t        j
                  t        j                  fv rMt        | j                  d   |j                  d   z   t        | j                  d   |j                  d   «      «      S | j                  t        j                  u r0| j                  \  }}|j                  \  }}t        ||z   ||z   «      S | j                  t        j                  u rmt        | j                  t        | j                  «      «      }|j                  j                  «       D ]  \  }}t        |j                  ||«       Œ t!        |«      S | j                  t        j                  u r:|j                  t        j
                  t        j                  fv r| t        |«      z   S | j                  t        j
                  t        j                  fv r*|j                  t        j                  u rt        | «      |z   S | j                  t        j                  u r9|j                  t        j
                  u r| t#        || j                  d   ¬«      z   S | j                  t        j
                  u r9|j                  t        j                  u rt#        | |j                  d   ¬«      |z   S t%        | «      t%        |«      z   S t&        S ©Nr   r   )Úkind)Úas_exprr…   r   r“   r   r    r!   rÌ   r”   Úmaxr"   Ú
as_complexr+   r‘   r�   rv   Ú	normalizeÚas_realÚas_termsr¡   )	rO   r˜   Úr1Úi1Úr2Úi2rÑ   rs   rt   s	            r   Ú__add__zExpr.__add__¬  s  € Ü˜“ˆÜ�eœTÕ"Ø�w‰w˜%Ÿ(™(Ò"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ñ3Ü$ØŸ	™	 !™ u§z¡z°!¡}Ñ4Ü˜DŸI™I a™L¨%¯*©*°Q©-Ó8ó:ð :ð —7‘7œbŸj™jÑ(Ø!ŸY™Y‘F�B˜Ø"ŸZ™Z‘F�B˜Ü% b¨2¡g¨r°B©wÓ7Ð7Ø—7‘7œbŸh™hÑ&Ü˜TŸW™W¤d¨4¯9©9£oÓ6�AØ %§
¡
× 0Ñ 0Ó 2ò 1™˜˜1Ü" 1§6¡6¨1¨aÕ0ð1ä$ Q›<Ð'Ø�w‰wœ"Ÿ*™*Ñ$¨¯©´b·j±jÄ"Ç'Á'Ð5JÑ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™Z¬¯©Ð1Ñ1°e·h±hÄ"Ç*Á*Ñ6LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÑ#¨¯©´B·J±JÑ(>Øœg e°$·)±)¸A±,Ô?Ñ?Ð?Ø—‘œBŸJ™JÑ&¨5¯8©8´r·w±wÑ+>Ü˜t¨%¯*©*°Q©-Ô8¸5Ñ@Ð@Ü˜D“>¤H¨U£OÑ3Ð3ÜÐr   c                 óJ   — t        |t        «      rt        |«      | z   S t        S rp   ©r…   Únumber_typesrÌ   r¡   r—   s     r   Ú__radd__zExpr.__radd__È  ó"   € Ü�eœ\Ô*Ü˜UÓ# dÑ*Ð*ÜÐr   c                 ó   — | | z   S rp   r   r—   s     r   Ú__sub__zExpr.__sub__Í  s   € Ø˜�v‰Ðr   c                 óJ   — t        |t        «      rt        |«      | z
  S t        S rp   rû   r—   s     r   Ú__rsub__zExpr.__rsub__Ð  rþ   r   c                 óê  — t        |«      }t        |t        «      �rÒ| j                  |j                  u �rø| j                  t        j
                  t        j                  fv rMt        | j                  d   |j                  d   z  t        | j                  d   |j                  d   «      «      S | j                  t        j                  u r<| j                  \  }}|j                  \  }}t        ||z  ||z  z
  ||z  ||z  z   «      S | j                  t        j                  u rmt        | j                  t        | j                  «      «      }|j                  j                  «       D ]  \  }}t        |j                  ||«       Œ t!        |«      S | j                  t        j"                  u r‚t        | j                  i «      }| j                  j                  «       D ]D  \  }	}
|j                  j                  «       D ]"  \  }}t        |j                  |	|z  |
|z  «       Œ$ ŒF t!        |«      S | j                  t        j                  u r:|j                  t        j
                  t        j                  fv r| t        |«      z  S |j                  t        j                  u r:| j                  t        j
                  t        j                  fv rt        | «      |z  S | j                  t        j                  u r9|j                  t        j
                  u r| t%        || j                  d   ¬«      z  S | j                  t        j
                  u r9|j                  t        j                  u rt%        | |j                  d   ¬«      |z  S | j                  t        j"                  u r| t'        |«      z  S |j                  t        j"                  u rt'        | «      |z  S t)        | «      t)        |«      z  S t*        S rí   )rï   r…   r   r“   r   r    r!   rÌ   r”   rð   r"   rñ   r,   r‘   r�   rv   rò   r+   ró   rô   Ú
as_factorsr¡   )rO   r˜   rõ   rö   r÷   rø   rÑ   rs   rt   Út1Úc1Út2Úc2s                r   Ú__mul__zExpr.__mul__Õ  sò  € Ü˜“ˆÜ�eœTÕ"Ø�w‰w˜%Ÿ(™(Ò"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ñ3Ü$ T§Y¡Y¨q¡\°E·J±J¸q±MÑ%AÜ%(¨¯©°1©°u·z±zÀ!±}Ó%EóGð Gà—W‘W¤§
¡
Ñ*Ø!ŸY™Y‘F�B˜Ø"ŸZ™Z‘F�B˜Ü% b¨2¡g°°R±Ñ&7¸¸b¹À2ÈÁ7Ñ9JÓKÐKà—7‘7œbŸj™jÑ(Ü˜TŸW™W¤d¨4¯9©9£oÓ6�AØ %§
¡
× 0Ñ 0Ó 2ò 1™˜˜1Ü" 1§6¡6¨1¨aÕ0ð1ä$ Q›<Ð'Ø—W‘W¤§¡Ñ(Ü˜TŸW™W bÓ)�AØ"&§)¡)§/¡/Ó"3ò A™˜˜BØ&+§j¡j×&6Ñ&6Ó&8ò A™F˜B Ü& q§v¡v¨r°B©w¸¸R¹Õ@ñAðAô % Q›<Ð'à�w‰wœ"Ÿ*™*Ñ$¨¯©´b·j±jÄ"Ç'Á'Ð5JÑ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™ZÑ'¨D¯G©G¼¿
¹
ÄBÇGÁGÐ7LÑ,LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÑ#¨¯©´B·J±JÑ(>Øœg e°$·)±)¸A±,Ô?Ñ?Ð?Ø—‘œBŸJ™JÑ&¨5¯8©8´r·w±wÑ+>Ü˜t¨%¯*©*°Q©-Ô8¸5Ñ@Ð@à�w‰wœ"Ÿ(™(Ñ"Øœh u›oÑ-Ð-Ø—‘œRŸX™XÑ%Ü “~¨Ñ-Ð-ä˜dÓ#¤j°Ó&7Ñ7Ð7ÜÐr   c                 óJ   — t        |t        «      rt        |«      | z  S t        S rp   rû   r—   s     r   Ú__rmul__zExpr.__rmul__þ  rþ   r   c                 óV  — t        |«      }t        |t        «      �r|j                  t        j
                  u rÑ|j                  d   }|dk(  rt        d«      S |dk(  r| S |dkD  r|| j                  t        j                  u rUt        | j                  i «      }| j                  j                  «       D ]  \  }}||z  |j                  |<   Œ t        |«      S | | |dz
  z  z  S |dk7  r	| | z  dz  S t        t        j                  | |i«      S t        t        j                  | |«      S t        S )Nr   r   rê   )rï   r…   r   r“   r   r    r”   rÌ   r,   r�   rò   Úas_applyrS   r[   r¡   )rO   r˜   ÚexponentrÑ   rs   rt   s         r   Ú__pow__zExpr.__pow__  s  € Ü˜“ˆÜ�eœTÕ"Ø�x‰xœ2Ÿ:™:Ñ%Ø Ÿ:™: a™=�à˜q’=Ü$ Q›<Ð'Ø˜q’=Ø�KØ˜a’<Ø—w‘w¤"§*¡*Ñ,Ü  §¡¨"Ó-˜Ø$(§I¡I§O¡OÓ$5ò 5™D˜A˜qØ()¨H©˜AŸF™F 1šIð5ä(¨›|Ð+Ø 4¨H°q©LÑ#9Ñ:Ð:Ø ’^Ø  h YÑ/°BÑ6Ð6ÜœBŸJ™J¨¨xÐ(8Ó9Ð9ÜœGŸK™K¨¨uÓ5Ð5ÜÐr   c                 óŒ   — t        |«      }t        |t        «      r$t        t	        t
        j                  | |«      «      S t        S rp   )rï   r…   r   rò   r  rS   rZ   r¡   r—   s     r   Ú__truediv__zExpr.__truediv__  s5   € Ü˜“ˆÜ�eœTÔ"ô œX¤g§k¡k°4¸Ó?Ó@Ð@ÜÐr   c                 óN   — t        |«      }t        |t        «      r|| z  S t        S rp   ©rï   r…   r   r¡   r—   s     r   Ú__rtruediv__zExpr.__rtruediv__"  s%   € Ü˜“ˆÜ�eœTÔ"Ø˜4‘<ÐÜÐr   c                 óŽ   — t        |«      }t        |t        «      r%t        t        t        j
                  | |f«      «      S t        S rp   )rï   r…   r   rò   r   r)   r¡   r—   s     r   Ú__floordiv__zExpr.__floordiv__(  s7   € Ü˜“ˆÜ�eœTÔ"ô œT¤"§)¡)¨d°E¨]Ó;Ó<Ð<ÜÐr   c                 óN   — t        |«      }t        |t        «      r|| z  S t        S rp   r  r—   s     r   Ú__rfloordiv__zExpr.__rfloordiv__0  s%   € Ü˜“ˆÜ�eœTÔ"Ø˜D‘=Ð ÜÐr   c           	      óx   — t        | gt        t        |«      ¢­i t        d„ |j	                  «       D «       «      ¤ŽS )Nc              3   ó<   K  — | ]  \  }}|t        |«      f–— Œ y ­wrp   ©rï   ©r†   rs   rt   s      r   rˆ   z Expr.__call__.<locals>.<genexpr>=  s   è ø€ ÒJ±4°1°a ¤7¨1£:œÑJùr‰   )r  Úmaprï   r‘   r�   )rO   rÛ   rÜ   s      r   Ú__call__zExpr.__call__6  s>   € ô ˜ð Lœs¤7¨DÓ1ò LÜÑJ¸6¿<¹<»>ÔJÓJñLð 	Lr   c                 ó´   — t        |«      }t        |t        «      s|f}t        |«      dkD  rt	        d|› d�«       t        t        j                  | f|z   «      S )Nr   z/C-index should be a single expression but got `ú`)rï   r…   rŠ   r‹   r~   r   r   r(   )rO   Úindexs     r   Ú__getitem__zExpr.__getitem__?  sR   € ô ˜“ˆÜ˜%¤Ô'Ø�FˆEÜˆu‹:˜Š>ÜÐCÀEÀ7È!ÐLÔMÜ”B—K‘K $ ¨5¡Ó1Ð1r   c           	      ó
  ‡— | j                   t        j                  u ri‰j                  | «      }|€| S t	        j
                  d| j                  «      }|r0|j                  «       \  }}|dv rt        |«      S |dk(  s	J ||f«       ‚|S | j                   t        j                  t        j                  t        j                  fv r| S | j                   t        j                  t        j                  fv r2t        | j                   t        ˆfd„| j                  D «       «      «      S | j                   t        j                   u r;t#        t        | j                   t        ˆfd„| j                  D «       «      «      «      S | j                   t        j$                  u rld}| j                  j'                  «       D ]3  \  }}|€|j)                  ‰«      |z  }Œ||j)                  ‰«      |z  z  }Œ5 |€t+        d«       t-        d«      S |S | j                   t        j.                  u rld}| j                  j'                  «       D ]3  \  }	}
|€|	j)                  ‰«      |
z  }Œ||	j)                  ‰«      |
z  z  }Œ5 |€t+        d	«       t-        d
«      S |S | j                   t        j0                  u r‰| j                  \  }}}t3        |t        «      r|j)                  ‰«      }t        ˆfd„|D «       «      }t5        ˆfd„|j'                  «       D «       «      }t#        t        | j                   |||f«      «      S | j                   t        j6                  u rt| j                  d   }t3        |t        «      r|j)                  ‰«      }t        ˆfd„| j                  d
d D «       «      }t#        t        | j                   |f|z   «      «      S | j                   t        j8                  u r=t        ˆfd„| j                  D «       «      }t#        t        | j                   |«      «      S | j                   t        j:                  t        j<                  fv r8t#        t        | j                   | j                  j)                  ‰«      «      «      S | j                   t        j>                  u rT| j                  \  }}}|j)                  ‰«      }|j)                  ‰«      }t#        t        | j                   |||f«      «      S tA        d| j                   › d| ›�«      ‚)z„Recursively substitute symbols with values in symbols map.

        Symbols map is a dictionary of symbol-expression pairs.
        Nz$\A(@__f2py_PARENTHESIS_(\w+)_\d+@)\Z©ÚROUNDDIVÚSQUAREÚROUNDc              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wrp   ©Ú
substitute©r†   r‡   Úsymbols_maps     €r   rˆ   z"Expr.substitute.<locals>.<genexpr>]  s"   øè ø€ ò '>Ø+/ð (,§¡°{×'Cñ '>ùó   ƒc              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wrp   r)  r+  s     €r   rˆ   z"Expr.substitute.<locals>.<genexpr>`  s$   øè ø€ ò 1HØ59ð 26·±À×1Mñ 1Hùr-  z?substitute: empty TERMS expression interpreted as int-literal 0r   zAsubstitute: empty FACTORS expression interpreted as int-literal 1r   c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wrp   r)  ©r†   rà   r,  s     €r   rˆ   z"Expr.substitute.<locals>.<genexpr>~  s   øè ø€ ÒA°q˜Ÿ™ k×2ÑAùr-  c              3   óJ   •K  — | ]  \  }}||j                  ‰«      f–— Œ y ­wrp   r)  )r†   rs   rt   r,  s      €r   rˆ   z"Expr.substitute.<locals>.<genexpr>  s+   øè ø€ ò 6Ù"˜a ð ˜aŸl™l¨;Ó7Ô8ñ 6ùó   ƒ #c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wrp   r)  r0  s     €r   rˆ   z"Expr.substitute.<locals>.<genexpr>†  s   øè ø€ ÒJ°q˜Ÿ™ k×2ÑJùr-  c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wrp   r)  r0  s     €r   rˆ   z"Expr.substitute.<locals>.<genexpr>‰  s   øè ø€ ÒJ¸1˜QŸ\™\¨+×6ÑJùr-  zsubstitute method for z: )!r“   r   r%   rq   ÚreÚmatchr”   ÚgroupsÚas_arrayr    r!   r#   r$   r"   r   rŠ   r)   rò   r+   r�   r*  r~   rÌ   r,   r'   r…   r‘   r(   r&   r-   r.   r*   r’   )rO   r,  r    Úmr�   ÚparenrÑ   rÓ   rÔ   r×   r  ÚtargetrÛ   rÜ   ÚfuncÚoperandsrä   rå   ræ   s    `                 r   r*  zExpr.substituteI  s   ø€ ð
 �7‰7”b—i‘iÑØ—O‘O DÓ)ˆEØˆ}Ø�Ü—‘Ð@À$Ç)Á)ÓLˆAÙà Ÿx™x›z‘��uØÐ2Ñ2Ü# E›?Ð*Ø Ò'Ð7¨%°¨Ó7Ð'ØˆLØ�7‰7”r—z‘z¤2§7¡7¬B¯I©IÐ6Ñ6ØˆKØ�7‰7”r—x‘x¤§¡Ð,Ñ,Ü˜Ÿ™¤ó '>Ø37·9±9ô'>ó ">ó ?ð ?à�7‰7”b—i‘iÑÜœT $§'¡'¬5ó 1HØ=A¿Y¹Yô1Hó ,Hó Ió Jð Jà�7‰7”b—h‘hÑØˆAØ#Ÿy™yŸ™Ó0ò >‘��eØ�9ØŸ™¨Ó4°uÑ<‘Aà˜Ÿ™¨Ó5¸Ñ=Ñ=‘Að	>ð
 ˆyÜð 'ô (ä  “|Ð#ØˆHØ�7‰7”b—j‘jÑ ØˆAØ"&§)¡)§/¡/Ó"3ò B‘��hØ�9ØŸ™¨Ó4¸Ñ@‘Aà˜Ÿ™¨Ó5¸ÑAÑA‘Að	Bð
 ˆyÜð *ô +ä  “|Ð#ØˆHØ�7‰7”b—h‘hÑØ#'§9¡9Ñ ˆF�D˜&Ü˜&¤$Ô'Ø×*Ñ*¨;Ó7�ÜÓA¸DÔAÓAˆDÜó 6Ø&,§l¡l£nô6ó 6ˆFäœT $§'¡'¨F°D¸&Ð+AÓBÓCÐCØ�7‰7”b—k‘kÑ!Ø—9‘9˜Q‘<ˆDÜ˜$¤Ô%Ø—‘ {Ó3�ÜÓJ¸D¿I¹IÀaÀb¸MÔJÓJˆDÜœT $§'¡'¨D¨7°T©>Ó:Ó;Ð;Ø�7‰7”b—j‘jÑ ÜÓJÀÇ	Á	ÔJÓJˆHÜœT $§'¡'¨8Ó4Ó5Ð5Ø�7‰7”r—v‘vœrŸx™xÐ(Ñ(ÜœT $§'¡'¨4¯9©9×+?Ñ+?ÀÓ+LÓMÓNÐNØ�7‰7”b—m‘mÑ#Ø#Ÿy™yÑˆC��uØ—?‘? ;Ó/ˆDØ×$Ñ$ [Ó1ˆEÜœT $§'¡'¨C°°uÐ+=Ó>Ó?Ð?Ü!Ð$:¸4¿7¹7¸)À2ÀdÀXÐ"NÓOÐOr   c           
      ó  ‡‡‡—  ‰| g‰¢­i ‰¤Ž}|�|S | j                   t        j                  t        j                  t        j                  t        j
                  fv r| S | j                   t        j                  t        j                  t        j                  t        j                  fv r=t        t        | j                   t        ˆˆˆfd„| j                  D «       «      «      «      S | j                   t        j                  t        j                  fv r’i }| j                  j!                  «       D ]T  \  }} |j"                  ‰g‰¢­i ‰¤Ž}t%        |t        «      r |j"                  ‰g‰¢­i ‰¤Žn|}||v r||   |z   }|||<   ŒV t        t        | j                   |«      «      S | j                   t        j&                  u r­| j                  d   }t%        |t        «      r |j"                  ‰g‰¢­i ‰¤Žn|}	t        ˆˆˆfd„| j                  d   D «       «      }
t)        ˆˆˆfd„| j                  d   j!                  «       D «       «      }t        t        | j                   |	|
|f«      «      S | j                   t        j*                  u r}| j                  d   }t%        |t        «      r |j"                  ‰g‰¢­i ‰¤Žn|}t        ˆˆˆfd„| j                  dd D «       «      }t        t        | j                   |f|z   «      «      S | j                   t        j,                  t        j.                  fv r=t        t        | j                    | j                  j"                  ‰g‰¢­i ‰¤Ž«      «      S | j                   t        j0                  u r^| j                  \  }}} |j"                  ‰g‰¢­i ‰¤Ž} |j"                  ‰g‰¢­i ‰¤Ž}t        t        | j                   |||f«      «      S t3        d	| j                   › �«      ‚)
aB  Traverse expression tree with visit function.

        The visit function is applied to an expression with given args
        and kwargs.

        Traverse call returns an expression returned by visit when not
        None, otherwise return a new normalized expression with
        traverse-visit sub-expressions.
        Nc              3   óJ   •K  — | ]  } |j                   ‰g‰¢­i ‰¤Ž–— Œ y ­wrp   ©Útraverse)r†   r‡   rÛ   rÜ   Úvisits     €€€r   rˆ   z Expr.traverse.<locals>.<genexpr>¥  s.   øè ø€ ò 1'àð �—‘˜eÐ5 dÒ5¨fÕ5ñ1'ùr2  r   c              3   óJ   •K  — | ]  } |j                   ‰g‰¢­i ‰¤Ž–— Œ y ­wrp   r@  )r†   ÚoperandrÛ   rÜ   rB  s     €€€r   rˆ   z Expr.traverse.<locals>.<genexpr>¶  s0   øè ø€ ò :Ø!(ð .˜W×-Ñ-¨eÐE°dÒE¸fÕEñ :ùr2  r   c              3   óT   •K  — | ]  \  }}| |j                   ‰g‰¢­i ‰¤Žf–— Œ! y ­wrp   r@  )r†   rs   rt   rÛ   rÜ   rB  s      €€€r   rˆ   z Expr.traverse.<locals>.<genexpr>¸  s9   øè ø€ ò @Ù"& ! Qð  ! * !§*¡*¨UÐ"D°TÒ"D¸VÑ"DÔEñ @ùs   ƒ%(r	   c              3   óJ   •K  — | ]  } |j                   ‰g‰¢­i ‰¤Ž–— Œ y ­wrp   r@  )r†   r!  rÛ   rÜ   rB  s     €€€r   rˆ   z Expr.traverse.<locals>.<genexpr>¿  s.   øè ø€ ò 8Ø %ð +˜EŸN™N¨5ÐB°4ÒB¸6ÕBñ 8ùr2  ztraverse method for )r“   r   r    r!   r#   r%   r"   r$   r)   r&   rò   r   rŠ   r”   r+   r,   r�   rA  r…   r'   r‘   r(   r-   r.   r*   r’   )rO   rB  rÛ   rÜ   Úresultr”   rs   rt   Úobjr<  r=  Ú
kwoperandsÚindicesrä   rå   ræ   s    ```            r   rA  zExpr.traverse”  sq  ú€ ñ �tÐ-˜dÒ- fÑ-ˆØÐØˆMà�7‰7”r—z‘z¤2§7¡7¬B¯I©I´r·y±yÐAÑAØˆKØ�W‰WœŸ™¤R§X¡X¬r¯y©y¼"¿*¹*ÐEÑEÜœT $§'¡'¬5õ 1'à ŸI™Iô1'ó ,'ó (ó )ð )ð �W‰WœŸ™¤2§:¡:Ð.Ñ.ØˆDØŸ	™	Ÿ™Ó)ò ‘��1Ø�A—J‘J˜uÐ6 tÒ6¨vÑ6�ä" 1¤dÔ+ð  �Q—Z‘Z Ð7¨Ò7°Ò7Ø12ð à˜‘9Ø˜Q™ !™�AØ��Q’ðô œT $§'¡'¨4Ó0Ó1Ð1Ø�W‰WœŸ™Ñ Ø—)‘)˜A‘,ˆCä! #¤tÔ,ð !�C—L‘L Ð8¨Ò8°Ò8Ø25ð äõ :Ø,0¯I©I°a©Lô:ó :ˆHäõ @Ø*.¯)©)°A©,×*<Ñ*<Ó*>ô@ó @ˆJäœT $§'¡'¨D°(¸JÐ+GÓHÓIÐIØ�W‰WœŸ™Ñ#Ø—)‘)˜A‘,ˆCä  ¤dÔ+ð  �3—<‘< Ð7¨Ò7°Ò7Ø14ð äõ 8Ø)-¯©°1°2¨ô8ó 8ˆGäœT $§'¡'¨C¨6°GÑ+;Ó<Ó=Ð=Ø�W‰WœŸ™¤§¡Ð*Ñ*ÜœT $§'¡'Ø"4 $§)¡)×"4Ñ"4°UÐ"L¸TÒ"LÀVÑ"LóNó Oð Oà�W‰WœŸ™Ñ%Ø#Ÿy™yÑˆC��uØ �4—=‘= Ð8¨Ò8°Ñ8ˆDØ"�E—N‘N 5Ð:¨4Ò:°6Ñ:ˆEÜœT $§'¡'¨C°°uÐ+=Ó>Ó?Ð?Ü!Ð$8¸¿¹¸	Ð"BÓCÐCr   c                 óT   ‡— g }|fˆfd„	}| j                  |«       t        |«      dk7  S )z&Check if self contains other.
        c                 ó>   •— |r| S | ‰k(  r|j                  d«       | S y )Nr   )rÍ   )ÚexprÚfoundr˜   s     €r   rB  zExpr.contains.<locals>.visitÑ  s'   ø€ ÙØ�Ø˜’Ø—‘˜Q”Ø�ð r   r   )rA  r‹   )rO   r˜   rN  rB  s    `  r   ÚcontainszExpr.containsÌ  s.   ø€ ð ˆà#õ 	ð 	�‰�eÔä�5‹z˜Q‰Ðr   c                 óF   — t        «       }|fd„}| j                  |«       |S )z3Return a set of symbols contained in self.
        c                 ó`   — | j                   t        j                  u r|j                  | «       y y rp   )r“   r   r%   Úadd)rM  rN  s     r   rB  zExpr.symbols.<locals>.visitá  s"   € Ø�w‰wœ"Ÿ)™)Ñ#Ø—	‘	˜$•ð $r   ©ÚsetrA  ©rO   rN  rB  s      r   ÚsymbolszExpr.symbolsÜ  s&   € ô “ˆà#ó 	 ð 	�‰�eÔàˆr   c                 óL   ‡— t        «       }|fˆfd„	Š| j                  ‰«       |S )zFReturn a set of expressions used as atoms in polynomial self.
        c                 ó²  •— | j                   t        j                  u r$| j                  D ]  }|j	                  ‰«       Œ | S | j                   t        j
                  t        j                  fv ry | j                   t        j                  u r`t        | j                  d   t        «      rC| j                  d   t        j                  u r#| j                  d   d   j	                  ‰«       | S y | j                   t        j                  t        j                  fv r| S |j                  | «       | j                   t        j                  t        j                  fv r| S y ©Nr   r   )r“   r   r,   r”   rA  r+   r"   r'   r…   rS   r[   r    r!   rR  r(   )rM  rN  ÚbrB  s      €r   rB  z$Expr.polynomial_atoms.<locals>.visitî  sö   ø€ Ø�w‰wœ"Ÿ*™*Ñ$ØŸ™ò &�AØ—J‘J˜uÕ%ð&à�Ø�w‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ñ0ØØ�w‰wœ"Ÿ(™(Ñ"¤z°$·)±)¸A±,ÄÔ'HØ—9‘9˜Q‘<¤7§;¡;Ñ.Ø—I‘I˜a‘L ‘O×,Ñ,¨UÔ3Ø�KØØ�w‰wœ2Ÿ:™:¤r§w¡wÐ/Ñ/Ø�à�I‰I�dŒOà�w‰wœ2Ÿ;™;¬¯©Ð1Ñ1Ø�ð 2r   rS  rU  s     @r   Úpolynomial_atomszExpr.polynomial_atomsé  s'   ø€ ô “ˆà#õ 	ð( 	�‰�eÔàˆr   c                 óü   — | j                  |t        d«      i«      }| |z
  }|j                  |t        d«      i«      }t        ||z  |z
  «      \  }}|t        d«      k7  rt        d|› d|› d|› d|› d| › �
«      ‚||fS )z�Return a, b such that a * symbol + b == self.

        If self is not linear with respect to symbol, raise RuntimeError.
        r   r   znot a z-linear equation: rÀ   r¿   z == )r*  rÌ   Úas_numer_denomÚRuntimeError)rO   ÚsymbolrZ  Úaxrà   Úzeror´   s          r   Úlinear_solvezExpr.linear_solve  s�   € ð
 �O‰O˜V¤Y¨q£\Ð2Ó3ˆØ�A‰XˆØ�M‰M˜6¤9¨Q£<Ð0Ó1ˆä   V¡¨b¡Ó1‰ˆˆaà”9˜Q“<ÒÜ ¨ xð 0#Ø#$ # S¨¨°°A°3°d¸4¸&ð Bó Cð Cà�!ˆtˆr   N)*r
   r   r   r   Ústaticmethodr   r   r‚   r•   r™   rž   r¢   r¤   r¦   r¨   r°   r²   ra   rn   r   rP   rè   rë   rù   rý   r   r  r	  r  r  r  r  r  r  r  r"  r*  rA  rO  rV  r[  rb  r   r   r   r   r   �   sØ   „ ñð
 Ø"Ÿ*™*ò 0ó ð0ò
@òD-ò
%òò Bâ7â6òBòð *4¯©Ø"×*Ñ*óPòdòòò8ò
òò
'òRò
ò.òòòòLò2òIPòV6Dòpò òó:r   c           	      ó¬  — t        | t        «      s| S | j                  t        j                  u �ri }| j
                  j                  «       D ]�  \  }}|dk(  rŒ|j                  t        j                  u r|dk7  r||z  }d}|j                  t        j                  u r3|j
                  j                  «       D ]  \  }}t        ||||z  «       Œ Œƒt        |||«       Œ‘ t        |«      dk(  rt        d«      S t        |«      dk(  r|j                  «       \  \  }}|dk(  r|S t        t        j                  |«      S | j                  t        j                  u �rEd}i }| j
                  j                  «       D �]8  \  }}|dk(  rŒ|j                  t        j                  u r"t        |t        «      r|dkD  r|||dz
  z  z  }d}|j                  t        j                  t        j                  fv rA|dk(  r||j
                  d   z  }Œ�|dkD  r||j
                  d   |z  z  }Œªt        |||«       Œ¸|j                  t        j                  u rX|dkD  rDt        |t        «      r4|j
                  j                  «       D ]  \  }	}
t        ||	|
|z  «       Œ �Œt        |||«       �Œ,t        |||«       �Œ; t        |«      dk(  s|dk(  rt        |t        «      sJ ‚t        |«      S t        |«      dk(  rZ|j                  «       \  \  }}|dk(  r|}nt        t        j                  |«      }|dk(  r|S t        t        j                  ||i«      S |dk(  rt        t        j                  |«      S t        t        j                  t        t        j                  |«      |i«      S | j                  t        j                   u �r½| j
                  d   t"        j$                  u �r�| j
                  d   \  }}t'        |«      \  }}t'        |«      \  }}t        |t        «      r't        |t        «      rt)        ||«      }||z  ||z  }}n||z  d}}|j                  t        j                   u rg|j
                  d   t"        j$                  u rH|j
                  d   d   |z  }|j
                  d   d   |z  |z  }t+        t"        j$                  ||«      S |j                  t        j                   u rg|j
                  d   t"        j$                  u rH|j
                  d   d   |z  |z  }|j
                  d   d   |z  }t+        t"        j$                  ||«      S t-        t/        |«      j
                  «      }t/        |«      j
                  j                  «       D ]  \  }}t        ||| «       Œ i i }}|j                  «       D ]  \  }}|dkD  r|||<   Œ| ||<   Œ t1        t        t        j                  |«      «      |z  }t1        t        t        j                  |«      «      |z  }|j                  t        j                  t        j                  fv r|j
                  d   dk(  r|S t+        t"        j$                  ||«      S | j                  t        j2                  u �r:| j
                  d   g}| j
                  dd D ]â  }|d   }|j                  t        j4                  u r®|j                  t        j4                  u r’|j
                  d   d   dv r~|j
                  d   d   |j
                  d   d   k(  rYt7        |j
                  d   dd |j
                  d   dd z   t9        |j
                  d   |j
                  d   «      «      }||d<   ŒÒ|j;                  |«       Œä t        |«      dk(  r|d   S t        t        j2                  t=        |«      «      S | j                  t        j>                  u rjtA        t0        | j
                  «      \  }}}|j                  t        j                  u r|j
                  d   r|S |S t        t        j>                  |||f«      S | S )z7Normalize Expr and apply basic evaluation methods.
    r   r   Nrê   z"')!r…   r   r“   r   r+   r”   r�   r"   rv   r‹   rÌ   r,   Úinteger_typesr    r!   rü   r'   rS   rZ   Úas_term_coeffr   r  r‘   r  rò   r)   r#   Ú	as_stringrð   rÍ   rŠ   r&   r  )rH  rr   Útru   r  r  rÔ   rZ  ÚeÚb1Úe1ÚdividendÚdivisorr  r  ÚgrÞ   rß   ÚlstrJ   ÚlastÚnew_lastrá   râ   rã   s                            r   rò   rò     sæ  € ô �cœ4Ô Øˆ
à
‡v�v”—‘ÒØˆØ—H‘H—N‘NÓ$ò 
	$‰DˆAˆqØ�AŠvØØ�t‰t”r—z‘zÑ! a¨1¢fØ˜‘E�Ø�Ø�t‰t”r—x‘xÑØŸf™fŸl™l›nò .‘F�B˜Ü˜q " b¨1¡fÕ-ñ.ô ˜1˜a Õ#ð
	$ô ˆq‹6�QŠ;ä˜Q“<ÐÜ�‹V�qŠ[Ø—g‘g“i‰G‰FˆQ�Ø�AŠvØ�Ü”B—H‘H˜aÓ Ð à
‡v�v”—‘ÒØˆØˆØ—H‘H—N‘NÓ$ó 	$‰DˆAˆqØ�AŠvØØ�t‰t”r—x‘xÑ¤J¨q´-Ô$@ÀQÈÂUà˜˜q 1™u™Ñ&�Ø�à�t‰tœŸ
™
¤B§G¡GÐ,Ñ,Ø˜’6Ø˜QŸV™V A™YÑ&‘EØ˜’UØ˜QŸV™V A™Y¨!™^Ñ+‘Eä˜q ! QÕ'Ø—‘œŸ™Ñ#Ø�q’5œZ¨¬=Ô9Ø"#§&¡&§,¡,£.ò 2™˜˜BÜ" 1 b¨"¨q©&Õ1ò2ô ˜q ! QÖ'ä˜1˜a Ö#ð-	$ô. ˆq‹6�QŠ;˜% 1š*ä˜e¤\Ô2Ð2Ð2Ü˜UÓ#Ð#Ü�‹V�qŠ[Ø—g‘g“i‰G‰FˆQ�Ø�AŠvØ‘äœŸ™ QÓ'�Ø˜ŠzØ�ÜœŸ™ 1 e *Ó-Ð-Ø�aŠZÜœŸ
™
 AÓ&Ð&äœŸ™¤4¬¯
©
°AÓ#6¸Ð">Ó?Ð?à
‡v�v”—‘Ò˜cŸh™h q™k¬W¯[©[Ò8ØŸH™H Q™KÑˆ�'Ü˜xÓ(‰ˆˆBÜ˜wÓ'‰ˆˆBÜ�bœ-Ô(¬Z¸¼MÔ-JÜ�B˜“ˆAØ˜‘U˜B ™E�‰Bà˜‘U˜A�ˆBà�5‰5”B—H‘HÑ §¡¨¡¬w¯{©{Ñ!:Ø—G‘G˜A‘J˜q‘M BÑ&ˆEØ—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEÜœGŸK™K¨°Ó6Ð6à�5‰5”B—H‘HÑ §¡¨¡¬w¯{©{Ñ!:Ø—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEØ—G‘G˜A‘J˜q‘M BÑ&ˆEÜœGŸK™K¨°Ó6Ð6ä”˜B“×$Ñ$Ó%ˆÜ˜r“N×'Ñ'×-Ñ-Ó/ò 	!‰DˆAˆqÜ�q˜!˜a˜RÕ ð	!à˜2ˆuˆØ—G‘G“Iò 	‰DˆAˆqØ�1ŠuØ��a’à˜2��a’ð		ô
 œ$œrŸz™z¨5Ó1Ó2°RÑ7ˆÜœ$œrŸz™z¨5Ó1Ó2°RÑ7ˆà�8‰8œŸ
™
¤B§G¡GÐ,Ñ,°·±¸A±À!Ò1CàˆLÜœŸ™ U¨EÓ2Ð2à
‡v�v”—‘ÒØ�x‰x˜‰{ˆmˆØ—‘˜!˜"�ò 	ˆAØ�r‘7ˆDà—G‘GœrŸy™yÑ(ØŸ™¤§	¡	Ñ)ØŸ	™	 !™ Q™¨5Ñ0ØŸ™˜q™	 !™¨¯	©	°!©°RÑ(8Ò8ä$ T§Y¡Y¨q¡\°#°2Ð%6¸¿¹À¹À1À2¸Ñ%FÜ%(¨¯©°1©°q·v±v¸a±yÓ%AóC�à"��B’à—
‘
˜1•ð	ô ˆs‹8�qŠ=Ø�q‘6ˆMÜ”B—I‘Iœu S›zÓ*Ð*à
‡v�v”—‘ÑÜ ¤¨C¯H©HÓ5Ñˆˆe�UØ�7‰7”b—j‘jÑ Ø ŸI™I ašL�5Ð3¨eÐ3Ü”B—J‘J  u¨eÐ 4Ó5Ð5à€Jr   c                 ó6  — t        | t        «      r t        | j                  | j                  «      S t        | t
        «      rt        | «      S t        | t        «      rt        t        | «      «      S t        | t        «      rt        t        t        | «      «      S | S )z.Convert non-Expr objects to Expr objects.
    )r…   Úcomplexrñ   ÚrealÚimagrü   rÌ   r�   rg  ÚreprrŠ   r  rï   ©rH  s    r   rï   rï      ss   € ô �#”wÔÜ˜#Ÿ(™( C§H¡HÓ-Ð-Ü�#”|Ô$Ü˜‹~ÐÜ�#”sÔô œ˜c›Ó#Ð#Ü�#”uÔÜ”Sœ #Ó&Ó'Ð'Ø€Jr   c                 ó6   — t        t        j                  | «      S )zJReturn object as SYMBOL expression (variable or unparsed expression).
    )r   r   r%   rw  s    r   Ú	as_symbolry  °  s   € ô ”—	‘	˜3ÓÐr   c                 óL  — t        | t        «      rt        t        j                  | |f«      S t        | t
        «      rt        t        j                  | |f«      S t        | t        «      r.| j                  t        j                  t        j                  fv r| S t        d| › d�«      ‚)z/Return object as INTEGER or REAL constant.
    úcannot convert z to INTEGER or REAL constant)	r…   rŒ   r   r   r    rŽ   r!   r“   r]   ©rH  rî   s     r   rÌ   rÌ   ¶  s   € ô �#”sÔÜ”B—J‘J  d Ó,Ð,Ü�#”uÔÜ”B—G‘G˜c 4˜[Ó)Ð)Ü�#”tÔØ�6‰6”b—j‘j¤"§'¡'Ð*Ñ*ØˆJÜ
�O C 5Ð(DÐEÓ
FÐFr   c                 óÔ   — t        | t        «      rt        t        j                  | |f«      S t        | t        «      r| j
                  t        j                  u r| S t        d| › d�«      ‚)z'Return object as INTEGER constant.
    r{  z to INTEGER constant)r…   rŒ   r   r   r    r“   r]   r|  s     r   Ú
as_integerr~  Ã  sW   € ô �#”sÔÜ”B—J‘J  d Ó,Ð,Ü�#”tÔØ�6‰6”R—Z‘ZÑØˆJÜ
�O C 5Ð(<Ð=Ó
>Ð>r   c                 óÚ  — t        | t        «      r%t        t        j                  t        | «      |f«      S t        | t
        «      rt        t        j                  | |f«      S t        | t        «      rl| j                  t        j                  u r| S | j                  t        j                  u r2t        t        j                  t        | j                  d   «      |f«      S t        d| › d�«      ‚)z$Return object as REAL constant.
    r   r{  z to REAL constant)
r…   rŒ   r   r   r!   rŽ   r“   r    r”   r]   r|  s     r   ró   ró   Î  s®   € ô �#”sÔÜ”B—G‘Gœe C›j¨$Ð/Ó0Ð0Ü�#”uÔÜ”B—G‘G˜c 4˜[Ó)Ð)Ü�#”tÔØ�6‰6”R—W‘WÑØˆJØ�V‰V”r—z‘zÑ!ÜœŸ™¤%¨¯©°©Ó"4°dÐ!;Ó<Ð<Ü
�O C 5Ð(9Ð:Ó
;Ð;r   c                 ó:   — t        t        j                  | |f«      S )zBReturn object as STRING expression (string literal constant).
    )r   r   r#   r|  s     r   rg  rg  Ý  s   € ô ”—	‘	˜C ˜;Ó'Ð'r   c                 ó\   — t        | t        «      r| f} t        t        j                  | «      S )z8Return object as ARRAY expression (array constant).
    )r…   r   r   r$   rw  s    r   r8  r8  ã  s&   € ô �#”tÔØˆdˆÜ”—‘˜#ÓÐr   c                 ó^   — t        t        j                  t        | «      t        |«      f«      S )zDReturn object as COMPLEX expression (complex literal constant).
    )r   r   r"   rï   )rt  ru  s     r   rñ   rñ   ë  s"   € ô ”—
‘
œW T›]¬G°D«MÐ:Ó;Ð;r   c           
      ó¦   — t        t        j                  | t        t	        t
        |«      «      t        d„ |j                  «       D «       «      f«      S )zIReturn object as APPLY expression (function call, constructor, etc.)
    c              3   ó<   K  — | ]  \  }}|t        |«      f–— Œ y ­wrp   r  r  s      r   rˆ   zas_apply.<locals>.<genexpr>ö  s   è ø€ ÒA©$¨!¨Q�qœ' !›*”oÑAùr‰   )r   r   r'   rŠ   r  rï   r‘   r�   )r<  rÛ   rÜ   s      r   r  r  ñ  sD   € ô ”—‘Ø”uœS¤¨$Ó/Ó0ÜÑA°&·,±,³.ÔAÓAðCóDð Dr   c                 ó<   — t        t        j                  | ||f«      S )z<Return object as TERNARY expression (cond?expr1:expr2).
    )r   r   r&   )rá   râ   rã   s      r   Ú
as_ternaryr†  ù  s   € ô ”—
‘
˜T 5¨%Ð0Ó1Ð1r   c                 ó6   — t        t        j                  | «      S )z-Return object as referencing expression.
    )r   r   r-   ©rM  s    r   Úas_refr‰  ÿ  s   € ô ”—‘˜ÓÐr   c                 ó6   — t        t        j                  | «      S )z/Return object as dereferencing expression.
    )r   r   r.   rˆ  s    r   Úas_derefr‹    s   € ô ”—‘˜$ÓÐr   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rB   ©rå   ræ   s     r   Úas_eqrŽ    ó   € Ü”—‘¤§¡¨$°Ð6Ó7Ð7r   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rC   r�  s     r   Úas_ner‘    r�  r   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rD   r�  s     r   Úas_ltr“    r�  r   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rE   r�  s     r   Úas_ler•    r�  r   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rF   r�  s     r   Úas_gtr—    r�  r   c                 óX   — t        t        j                  t        j                  | |f«      S rp   )r   r   r*   r0   rG   r�  s     r   Úas_ger™    r�  r   c                 óL  — t        | t        «      rýt        | «      } | j                  t        j
                  u r| S | j                  t        j                  u r@t        t        j
                  t        d| j                  d   «      | j                  d   i«      S | j                  t        j                  u r@t        t        j
                  t        d| j                  d   «      | j                  d   i«      S t        t        j
                  | di«      S t        dt        | «      › d�«      ‚)z+Return expression as TERMS expression.
    r   r   r{  ú to terms Expr)r…   r   rò   r“   r   r+   r    r~  r”   r!   ró   r]   r®   rw  s    r   rô   rô   #  sÓ   € ô �#”tÔÜ˜‹nˆØ�6‰6”R—X‘XÑØˆJØ�6‰6”R—Z‘ZÑÜœŸ™¤:¨a°·±¸!±Ó#=¸s¿x¹xÈ¹{Ð"KÓLÐLØ�6‰6”R—W‘WÑÜœŸ™¤7¨1¨c¯h©h°q©kÓ#:¸C¿H¹HÀQ¹KÐ"HÓIÐIÜ”B—H‘H˜s A˜hÓ'Ð'Ü
�O¤D¨£I ;¨nÐ=Ó
>Ð>r   c                 ó8  — t        | t        «      �rrt        | «      } | j                  t        j
                  u r| S | j                  t        j                  u r‰t        | j                  «      dk(  rq| j                  j                  «       \  \  }}|dk(  rt        t        j
                  |di«      S t        t        j
                  |dt        j                  |«      di«      S | j                  t        j                  u rl| j                  d   t        j                  u rM| j                  d   s>t        t        j
                  | j                  d   d   d| j                  d   d   di«      S t        t        j
                  | di«      S t        dt        | «      › d�«      ‚)z-Return expression as FACTORS expression.
    r   r   r	   rê   r{  r›  )r…   r   rò   r“   r   r,   r+   r‹   r”   r�   Únumberr'   rS   rZ   r]   r®   )rH  rÓ   rÔ   s      r   r  r  2  s/  € ô �#”tÕÜ˜‹nˆØ�6‰6”R—Z‘ZÑØˆJØ�6‰6”R—X‘XÑÜ�3—8‘8‹} Ò!Ø!$§¡§¡Ó!1‘‘��uØ˜A’:Ü¤§
¡
¨T°1¨IÓ6Ð6ÜœBŸJ™J¨¨q´$·+±+¸eÓ2DÀaÐ(HÓIÐIØ�F‰F”b—h‘hÑØ—‘˜!‘¤§¡Ñ+Ø—X‘X˜a’[ÜœŸ
™
 S§X¡X¨a¡[°¡^°Q¸¿¹À¹ÀA¹ÈÐ$KÓLÐLÜ”B—J‘J  a Ó)Ð)Ü
�O¤D¨£I ;¨nÐ=Ó
>Ð>r   c                 ó<  — t        | t        «      �rtt        | «      } | j                  t        j
                  u r(t        d| j                  d   «      | j                  d   fS | j                  t        j                  u r(t        d| j                  d   «      | j                  d   fS | j                  t        j                  u r;t        | j                  «      dk(  r#| j                  j                  «       \  \  }}||fS | j                  t        j                  u rj| j                  d   t        j                  u rKt!        | j                  d   d   «      \  }}t#        t        j                  || j                  d   d   «      |fS | dfS t%        dt'        | «      › d�«      ‚)z0Return expression as term-coefficient pair.
    r   r   r{  z to term and coeff)r…   r   rò   r“   r   r    r~  r”   r!   ró   r+   r‹   r�   r'   rS   rZ   rf  r  r]   r®   )rH  rÓ   rÔ   rh  ru   s        r   rf  rf  G  s>  € ô �#”tÕÜ˜‹nˆØ�6‰6”R—Z‘ZÑÜ˜a §¡¨!¡Ó-¨s¯x©x¸©{Ð:Ð:Ø�6‰6”R—W‘WÑÜ˜1˜cŸh™h q™kÓ*¨C¯H©H°Q©KÐ7Ð7Ø�6‰6”R—X‘XÑÜ�3—8‘8‹} Ò!Ø!$§¡§¡Ó!1‘‘��uØ˜U�{Ð"à�6‰6”R—X‘XÑ #§(¡(¨1¡+´·±Ñ"<Ü  §¡¨!¡¨Q¡Ó0‰DˆAˆqÜœGŸK™K¨¨C¯H©H°Q©K¸©NÓ;¸QÐ>Ð>Ø�AˆvˆÜ
�O¤D¨£I ;Ð.@ÐAÓ
BÐBr   c                 óæ  — t        | t        «      �rÉt        | «      } | j                  t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  fv r| t        d«      fS | j                  t        j                  u rq| j                  d   t        j                  u rE| j                  d   s6t!        t"        | j                  d   «      \  }}|d   |d   z  |d   |d   z  fS | t        d«      fS | j                  t        j$                  u �rg g }}| j                  j'                  «       D ]:  \  }}t#        |«      \  }}||z  }|j)                  |«       |j)                  |«       Œ< t        d«      t        d«      }}t+        t-        |«      «      D ];  }	||	   }t+        t-        |«      «      D ]  }
|	|
k7  sŒ	|||
   z  }Œ ||z  }|||	   z  }Œ= |j                  t        j
                  t        j                  fv r|j                  d   dk  r| | }}||fS | j                  t        j.                  u rxt        d«      t        d«      }}| j                  j'                  «       D ]A  \  }}t#        |«      \  }}|dkD  r|||z  z  }|||z  z  }Œ*|dk  sŒ0||| z  z  }||| z  z  }ŒC ||fS t1        dt3        | «      › d�«      ‚)z+Return expression as numer-denom pair.
    r   r   r	   r{  z to numer and denom)r…   r   rò   r“   r   r    r!   r"   r%   r(   r&   rÌ   r'   r”   rS   rZ   r  r]  r+   r�   rÍ   rÎ   r‹   r,   r]   r®   )rH  ÚnumersÚdenomsrÓ   rÔ   Únrr   rÞ   rß   ÚiÚjrZ  ri  ÚbnumerÚbdenoms                  r   r]  r]  \  s²  € ô �#”tÕÜ˜‹nˆØ�6‰6”b—j‘j¤"§'¡'¬2¯:©:´r·y±yÜ—k‘k¤2§:¡:ð/ñ /àœ	 !›Ð$Ð$Ø�V‰V”r—x‘xÑØ�x‰x˜‰{œgŸk™kÑ)°#·(±(¸1²+Ü!$¤^°S·X±X¸a±[Ó!A‘�˜Ø˜a‘y 6¨!¡9Ñ,¨f°Q©i¸&À¹)Ñ.CÐCÐCØœ	 !›Ð$Ð$Ø�V‰V”r—x‘xÒØ �FˆFØ"Ÿx™xŸ~™~Ó/ò !‘��eÜ% dÓ+‘��1Ø˜‘I�Ø—‘˜aÔ Ø—‘˜aÕ ð	!ô
 % Q›<¬°1«�5ˆEÜœ3˜v›;Ó'ò #�Ø˜1‘I�Üœs 6›{Ó+ò '�AØ˜A“vØ˜V A™Y™™ð'ð ˜‘
�Ø˜ ™Ñ"‘ð#ð �x‰xœBŸJ™J¬¯©Ð0Ñ0°U·Z±ZÀ±]ÀQÒ5FØ %˜v¨ v�u�Ø˜%�<ÐØ�V‰V”r—z‘zÑ!Ü$ Q›<¬°1«�5ˆEØŸ™Ÿ™Ó(ò ,‘��1Ü!/°Ó!2‘�˜Ø�q’5Ø˜V q™[Ñ(�EØ˜V q™[Ñ(‘EØ˜“UØ˜V¨¨™^Ñ+�EØ˜V¨¨™^Ñ+‘Eð,ð ˜%�<ÐÜ
�O¤D¨£I ;Ð.AÐBÓ
CÐCr   c               #   ó$   K  — d} 	 | dz  } | –— Œ
­wrY  r   )Úcounters    r   Ú_counterr©  ‰  s!   è ø€ à€GØ
Ø�1‰ˆØŠð ùs   ‚c                 ó„   ‡— i Šˆfd„}t        j                  dj                  ddd¬«      || «      }d|vsJ ‚d|vsJ ‚|‰fS )	zgReplace quoted substrings of input string.

    Return a new string and a mapping of replacements.
    c                 óœ   •— | j                  «       d d \  }}|r|d d }dddœ|d      }|› d|› dt        j                  «       › d	�}|‰|<   |S )
Nr	   rê   ÚSINGLEÚDOUBLE)ú'ú"r   z@__f2py_QUOTES_r´   ú@)r7  ÚCOUNTERÚ__next__)r9  rî   r    Úprs   rr   s        €r   Úreplzeliminate_quotes.<locals>.repl›  si   ø€ Ø—h‘h“j  !�n‰ˆˆeÙà˜˜�9ˆDØ Ñ*¨5°©8Ñ4ˆØˆf�O A 3 a¬×(8Ñ(8Ó(:Ð';¸1Ð=ˆØˆˆ!‰Øˆr   z+({kind}_|)({single_quoted}|{double_quoted})z
\w[\w\d_]*z('([^'\\]|(\\.))*')z("([^"\\]|(\\.))*"))rî   Úsingle_quotedÚdouble_quotedr¯  r®  )r5  ÚsubÚformat)rJ   r´  Únew_srr   s      @r   Úeliminate_quotesrº  ”  sj   ø€ ð
 	€Aôô �F‰FÐA×HÑHØØ,Ø,ð Ió .ð 	ˆaó	€Eð �eÑÐÐØ�eÑÐÐà�!ˆ8€Or   c                 ó–   — |j                  «       D ]5  \  }}|d|j                  d«       }|r|dz  }| j                  |||z   «      } Œ7 | S )z!Inverse of eliminate_quotes.
    Nr°  r´   )r�   ÚfindÚreplace)rJ   rr   rs   rt   rî   s        r   Úinsert_quotesr¾  ±  sW   € ð —‘“	ò #‰ˆˆ1Ø��!—&‘&˜“+ˆˆÙØ�C‰KˆDØ�I‰I�a˜ ™Ó"‰ð	#ð
 €Hr   c                 óŒ  — d\  }}t        | «      }dD ](  \  }}| j                  |«      }|dk(  rŒ||k  sŒ#|}||}}Œ* |€| i fS |}| j                  ||«      }| j                  ||dz   |«      | j                  ||dz   |«      k7  r\| j                  ||dz   «      }|dk(  rt        d||z   › d| ›�«      ‚| j                  ||dz   |«      | j                  ||dz   |«      k7  rŒ\dd	d
ddœ|   }d|› dt        j                  «       › d�}	| |t        |«      z   | }
t        | |t        |«      z   d «      \  }}|
||	<   | d| |	z   |z   |fS )zzReplace substrings of input that are enclosed in parenthesis.

    Return a new string and a mapping of replacements.
    )NN))ú(/ú/)z()z{}z[]rê   Nr   zMismatch of z parenthesis in r'  r&  ÚCURLYr%  )r«   r½   ú{rÀ  ú@__f2py_PARENTHESIS_r´   r°  )r‹   r¼  ÚcountÚ
ValueErrorr±  r²  Úreplace_parenthesis)rJ   rå   ræ   Úmn_iÚleft_Úright_r£  r¤  r³  rs   rt   rÑ   rr   s                r   rÇ  rÇ  ¼  s’  € ð �K€Dˆ%Üˆq‹6€Dð ò 	(‰ˆˆvð �F‰F�5‹MˆØ�Š7ØØˆt‹8ØˆDØ �%‰Dð	(ð €|Ø�"ˆuˆà€AØ	�‰ˆu�aÓ€Aà
�'‰'�$˜˜A™˜qÓ
! Q§W¡W¨U°A¸±E¸1Ó%=Ò
=Ø�F‰F�5˜!˜a™%Ó ˆØ�Š7Ü˜|¨D°©J¨<Ð7GÈÀuÐMÓNÐNð �'‰'�$˜˜A™˜qÓ
! Q§W¡W¨U°A¸±E¸1Ó%=Ó
=ð
 ˜H¨7¸*ÑEÀdÑK€Aà
˜q˜c ¤7×#3Ñ#3Ó#5Ð"6°aÐ8€AØ	ˆ!ŒC�‹I‰+�aÐ€AÜ˜q ¤3 u£:¡ Ð/Ó0�D€A€qØ€A€a�DØˆRˆaˆ5�1‰9�q‰=˜!ÐÐr   c                 óZ   — | j                  d«      sJ | «       ‚| j                  d«      d   S )NrÄ  r´   r2   )Ú
startswithÚsplit)rJ   s    r   Ú_get_parenthesis_kindrÎ  ç  s,   € Ø�<‰<Ð.Ô/Ð2°Ó2Ð/Ø�7‰7�3‹<˜‰?Ðr   c                 óÄ   — |j                  «       D ]L  \  }}t        |«      }t        dddd¬«      |   }t        dddd	¬«      |   }| j                  |||z   |z   «      } ŒN | S )
z$Inverse of replace_parenthesis.
    r«   r½   rÃ  rÀ  )r'  r&  rÂ  r%  r­   r¾   ú}rÁ  )r�   rÎ  r‘   r½  )rJ   rr   rs   rt   r³  rå   ræ   s          r   Úunreplace_parenthesisrÑ  ì  sq   € ð —‘“	ò +‰ˆˆ1Ü! !Ó$ˆÜ˜# c°¸tÔDÀQÑGˆÜ˜3 s°#ÀÔEÀaÑHˆØ�I‰I�a˜ ™ EÑ)Ó*‰ð	+ð
 €Hr   c                 ó€   — t        |¬«      j                  | «      }t        |t        «      r|S t	        d| › d|› d�«      ‚)z®Create an expression from a string.

    This is a "lazy" parser, that is, only arithmetic operations are
    resolved, non-arithmetic operations are treated as symbols.
    r�   zfailed to parse `z` to Expr instance: got `r   )Ú_FromStringWorkerr‚   r…   r   rÆ  )rJ   rK   rÑ   s      r   rL   rL   ÷  sD   € ô 	 8Ô,×2Ñ2°1Ó5€AÜ�!”TÔØˆÜ
Ð(¨¨Ð+DÀQÀCÀqÐIÓ
JÐJr   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_Pairc                 ó    — || _         || _        y rp   r�  )rO   rå   ræ   s      r   r•   z_Pair.__init__  s   € ØˆŒ	Øˆ�
r   c                 óÎ   — | j                   | j                  }}t        |t        «      r|j	                  |«      }t        |t        «      r|j	                  |«      }t        ||«      S rp   )rå   ræ   r…   r   r*  rÕ  )rO   r,  rå   ræ   s       r   r*  z_Pair.substitute
  sR   € Ø—i‘i §¡ˆeˆÜ�dœDÔ!Ø—?‘? ;Ó/ˆDÜ�eœTÔ"Ø×$Ñ$ [Ó1ˆEÜ�T˜5Ó!Ð!r   c                 óf   — t        | «      j                  › d| j                  › d| j                  › d�S rª   )r®   r
   rå   ræ   r¯   s    r   r°   z_Pair.__repr__  s.   € Ü�t“*×%Ñ%Ð& a¨¯	©	 {°"°T·Z±Z°LÀÐBÐBr   N)r
   r   r   r•   r*  r°   r   r   r   rÕ  rÕ    s   „ òò"óCr   rÕ  c                   ó>   — e Zd Zej                  fd„Zd„ Zd„ Zdd„Zy)rÓ  c                 ó.   — d | _         d | _        || _        y rp   )ÚoriginalÚ
quotes_maprK   rN   s     r   r•   z_FromStringWorker.__init__  s   € ØˆŒØˆŒØ ˆ�r   c                 ó.   — t        || j                  «      S rp   )r¾  rÜ  )rO   rJ   s     r   Úfinalize_stringz!_FromStringWorker.finalize_string  s   € Ü˜Q §¡Ó0Ð0r   c                 óX   — || _         t        |«      \  }| _        | j                  |«      S rp   )rÛ  rº  rÜ  Úprocess)rO   ÚinpÚunquoteds      r   r‚   z_FromStringWorker.parse   s)   € ØˆŒÜ$4°SÓ$9Ñ!ˆ�$”/Ø�|‰|˜HÓ%Ð%r   c           	      óú  ‡ ‡‡‡— t        |t        t        f«      r t        |«      ˆˆ fd„|D «       «      S t        |t        «      sJ t        |«      |f«       ‚t        |«      \  }Š|j                  «       }ˆˆfd„Šd|v rq ‰|j                  d«      «      }‰dk(  rt        ‰ j                  |«      «      S ‰dk(  r%t        |«      dk(  rt        ‰ j                  |«      Ž S t        d‰› d|› �«      ‚t        j                  d	|«      }|rf‰dk(  sJ ‰«       ‚ ‰|j                  «       «      \  }}}‰ j                  |«      }‰ j                  |«      }‰ j                  |«      }t        |||«      S ‰ j                   t"        j$                  u r&t        j                  d
|t        j&                  «      }nt        j                  d|«      }|r’|j                  «       \  }	}
}‰ j                   t"        j$                  u rd|
z   dz   }
‰ j                   ‰|	|f«      «      \  }	}t(        j+                  |
‰ j                   ¬«      }
t-        t.        j0                  |
|	|f«      S t        j                  d|«      }|r6|j                  «       \  }} ‰|«      }t3        |‰ j                  |«      «      S t        j                  d|«      }t        |«      dkD  r~‰ j                   ‰|d   xs d«      «      }t5        |ddd…   |ddd…   «      D ]C  \  }}‰ j                   ‰|«      «      }|j                  «       }|dk(  r||z  }Œ8|dk(  sJ ‚||z  }ŒE |S ‰ j                   t"        j$                  u rMd|v rI ‰|j                  d«      «      }t-        t.        j6                  t        ‰ j                  |«      «      «      S t        j                  d‰ j                   t"        j8                  u r|n|j;                  dd«      «      }t        |«      dkD  r± ‰|«      }‰ j                   t"        j8                  ur|D �cg c]  }|j;                  dd«      ‘Œ }}‰ j                  |d   «      }t5        |ddd…   |ddd…   «      D ]=  \  }}‰ j                  |«      }|j                  «       }|dk(  r||z  }Œ2|dk(  sJ ‚||z  }Œ? |S |j=                  d«      rMt.        j>                  t.        j@                  dœ|d      }‰ j                   ‰|dd «      «      }t-        ||«      S ‰ j                   t"        j8                  urcd|v r_t        tC         ‰|j                  d«      «      «      «      }‰ j                  |d   «      }|dd D ]  }‰ j                  |«      }||z  }Œ |S t        j                  djE                  dd¬ «      |«      }|rJ|j                  «       \  }}}|r|jG                  «       rtI        |«      }tK        tI        |«      |xs d!«      S t        j                  d"jE                  d#d$d¬%«      |«      }|rˆ|j                  «       \  }}}}|r|jG                  «       rtI        |«      }|jM                  «       }d&|v r)tO        tQ        |j;                  d&d'«      «      |xs d(«      S tO        tQ        |«      |xs d!«      S |‰ jR                  v r1|d|jU                  d)«       }tW        ‰ jR                  |   |xs d«      S |‰v rftY        |«      }‰ j                   ‰‰|   «      |d*k(  rdnd«      }|d*k(  rt        |t,        «      r|S |d+v rt        |t,        «      r|f}t[        |«      S t        j                  d,|«      }|r�|j                  «       \  }}}‰ j                   ‰|«      «      }‰ j                   ‰|«      dd- d«      }t        |t        «      s|f}|d*k(  r3t]        d.„ |D «       «      }t        d/„ |D «       «      }t_        |g|¢­i |¤ŽS |d0k(  sJ ‚||   S t        j                  d1|«      }|rta        |«      S ‰ jc                   ‰|«      «      }te        d2|›d3‰ jf                  › d4�«       ta        |«      S c c}w )5a´  Parse string within the given context.

        The context may define the result in case of ambiguous
        expressions. For instance, consider expressions `f(x, y)` and
        `(x, y) + (a, b)` where `f` is a function and pair `(x, y)`
        denotes complex number. Specifying context as "args" or
        "expr", the subexpression `(x, y)` will be parse to an
        argument list or to a complex number, respectively.
        c              3   óB   •K  — | ]  }‰j                  |‰«      –— Œ y ­wrp   )rà  )r†   Ús_ÚcontextrO   s     €€r   rˆ   z,_FromStringWorker.process.<locals>.<genexpr>0  s   øè ø€ ÒA¸˜4Ÿ<™<¨¨G×4ÑAùs   ƒc                 ó~   •— t        | t        t        f«      r t        | «      t	        ‰| «      «      S t        | ‰«      S rp   )r…   ÚlistrŠ   r®   r  rÑ  )rÑ   Úraw_symbols_mapÚrestores    €€r   rê  z*_FromStringWorker.process.<locals>.restore8  s5   ø€ ä˜!œd¤E˜]Ô+Ø”t˜A“wœs 7¨A›Ó/Ð/Ü(¨¨OÓ<Ð<r   ú,rÛ   rM  r	   z&parsing comma-separated list (context=z): z\A([^?]+)[?]([^:]+)[:](.+)\Zz+\A(.+)\s*[.](eq|ne|lt|le|gt|ge)[.]\s*(.+)\Zz7\A(.+)\s*([=][=]|[!][=]|[<][=]|[<]|[>][=]|[>])\s*(.+)\Zú.r�   z\A(\w[\w\d_]*)\s*[=](.*)\Zz((?<!\d[edED])[+-])r   r   rÂ   Nú+rÁ   z//z(?<=[@\w\d_])\s*([*]|/)z**z@__f2py_DOUBLE_STAR@rÉ   rÄ   )rÉ   rÈ   z\A({digit_string})({kind}|)\Zz\d+z_(\d+|\w[\w\d_]*))Údigit_stringrî   r2   z7\A({significant}({exponent}|)|\d+{exponent})({kind}|)\Zz[.]\d+|\d+[.]\d*z[edED][+-]?\d+)Úsignificantr  rî   rr   ri  é   r°  r'  r$  z4\A(.+)\s*(@__f2py_PARENTHESIS_(ROUND|SQUARE)_\d+@)\Zrê   c              3   ól   K  — | ],  }t        |t        «      r|j                  |j                  f–— Œ. y ­wrp   )r…   rÕ  rå   ræ   ©r†   rà   s     r   rˆ   z,_FromStringWorker.process.<locals>.<genexpr>Ù  s.   è ø€ ò 7°AÜ!+¨A¬uÔ!5ð  !Ÿv™v q§w¡wÔ/ñ 7ùs   ‚24c              3   óB   K  — | ]  }t        |t        «      rŒ|–— Œ y ­wrp   )r…   rÕ  rò  s     r   rˆ   z,_FromStringWorker.process.<locals>.<genexpr>Û  s   è ø€ ÒI 1´J¸qÄ%Õ4HœQÑIùs   ‚˜r&  z\A\w[\w\d_]*\Zzfromstring: treating z as symbol (original=r­   )4r…   rè  rŠ   r®   r�   rÇ  ÚstriprÍ  rà  r‹   rñ   r’   r5  r6  r7  r†  rK   r   r   ÚIr0   rL   r   r   r*   rÕ  Úzipr)   r   r½  rÌ  r.   r-   Úreversedr¸  ÚisdigitrŒ   r~  rH   ró   rŽ   rÜ  r¼  rg  rÎ  r8  r‘   r  ry  rÞ  r~   rÛ  )rO   rJ   ræ  rÑ   r=  r9  Úoperrâ   rã   rå   rä   ræ   Úkeynamer    rG  r“   rD  r´   rî   r:  r�   r;  rÛ   rÜ   ré  rê  s   ` `                     @@r   rà  z_FromStringWorker.process%  s0  û€ ô �aœ$¤˜Ô'Ø”4˜“7ÔA¸qÔAÓAÐAä˜!œSÔ!Ð/¤D¨£G¨Q <Ó/Ð!ô 1°Ó3Ñˆˆ?Ø�G‰G‹Iˆõ	=ð �!‰8Ù˜qŸw™w s›|Ó,ˆHØ˜&Ò Ü˜TŸ\™\¨(Ó3Ó4Ð4Ø˜&Ò Ü�x“= AÒ%ä% t§|¡|°HÓ'=Ð>Ð>Ü%Ø8¸¸	ÀÀQÀCÐHóJð Jô �H‰HÐ4°aÓ8ˆÙØ˜fÒ$Ð- gÓ-Ð$Ù!(¨¯©«Ó!4ÑˆD�%˜Ø—<‘< Ó%ˆDØ—L‘L Ó'ˆEØ—L‘L Ó'ˆEÜ˜d E¨5Ó1Ð1ð �=‰=œH×,Ñ,Ñ,Ü—‘Ø>ÀÄ2Ç4Á4óI‰Aô —‘ØJÈAóOˆAáØ Ÿx™x›zÑˆD�#�uØ�}‰}¤× 0Ñ 0Ñ0Ø˜C‘i #‘o�ØŸ,™,¡w°°e¨}Ó'=Ó>‰KˆD�%Ü×"Ñ" 3°·±Ð"Ó?ˆCÜœŸ™¨¨T°5Ð'9Ó:Ð:ô �H‰HÐ2°AÓ6ˆÙØŸX™X›Z‰NˆG�UÙ˜E“NˆEÜ˜ $§,¡,¨uÓ"5Ó6Ð6ô —8‘8Ð2°AÓ6ˆÜˆx‹=˜1ÒØ—\‘\¡'¨(°1©+Ò*<¸Ó"=Ó>ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÓBò &‘��GØŸ,™,¡w¨wÓ'7Ó8�Ø—X‘X“Z�Ø˜’9Ø˜gÑ%‘Fà š9Ð$˜9Ø˜gÑ%‘Fð&ð ˆMð �=‰=œH×,Ñ,Ñ,°¸±Ù˜qŸw™w t›}Ó-ˆHÜœŸ	™	Ü˜dŸl™l¨8Ó4Ó5ó7ð 7ô —8‘8Ð6Ø"&§-¡-´8·:±:Ñ"=™QØ"#§)¡)¨DÐ2HÓ"IóLˆô ˆx‹=˜1ÒÙ˜xÓ(ˆHØ�}‰}¤H§J¡JÑ.à+3ö5Ø 'ð $ŸO™OÐ,BÀDÕIð 5�ð 5ð —\‘\ (¨1¡+Ó.ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÓBò &‘��GØŸ,™, wÓ/�Ø—X‘X“Z�Ø˜’9Ø˜gÑ%‘Fà š9Ð$˜9Ø˜gÑ%‘Fð&ð ˆMð �<‰<˜
Ô#Ü—x‘x¤b§f¡fÑ-¨a°©dÑ3ˆBØ—l‘l¡7¨1¨Q¨R¨5£>Ó2ˆGÜ˜˜GÓ$Ð$ð �=‰=¤§
¡
Ñ*¨t°q©yÜœH¡W¨Q¯W©W°T«]Ó%;Ó<Ó=ˆHØ—\‘\ (¨1¡+Ó.ˆFØ# A B˜<ò +�ØŸ,™, wÓ/�Ø  FÑ*‘ð+ð ˆMô �H‰HÐ5×<Ñ<ØØ%ð =ó 'à()ó+ˆñ ØŸX™X›Z‰NˆE�1�dÙ˜Ÿ™œÜ˜4“y�Üœc %›j¨$ª)°!Ó4Ð4ô �H‰HÐOß‘fØ%8Ø"3Ø2ð ó 4ð 67ó	8ˆñ
 Ø !§¡£
ÑˆE�1�a˜Ù˜Ÿ™œÜ˜4“y�Ø—K‘K“MˆEØ�e‰|Üœu U§]¡]°3¸Ó%<Ó=¸tºyÀqÓIÐIÜœ5 ›<¨ª°Ó3Ð3ð �—‘ÑØ�\�a—f‘f˜S“k�?ˆDÜ˜TŸ_™_¨QÑ/°²¸Ó;Ð;ð �ÑÜ)¨!Ó,ˆEØ—L‘L¡¨¸Ñ);Ó!<Ø+0°GÒ+;¡ÀóIˆEà˜ÒÜ˜e¤TÔ*Ø �LØÐ.Ñ.ä˜e¤TÔ*Ø"˜H�EÜ “Ð&ô �H‰HÐLØóˆáØ"#§(¡(£*ÑˆF�D˜%Ø—\‘\¡'¨&£/Ó2ˆFØ—<‘<¡¨£¨a°Ð 3°VÓ<ˆDÜ˜d¤EÔ*Ø�u�Ø˜ÒÜñ 7¸ô 7ó 7�äÑI¨ÔIÓI�ä Ð8¨Ò8°Ñ8Ð8ð  Ò(Ð(Ð(Ø˜d‘|Ð#ô �H‰HÐ&¨Ó*ˆÙÜ˜Q“<Ðð × Ñ ¡¨£Ó,ˆÜØ# A 5Ð(=¸d¿m¹m¸_ÈAÐNô	Pä˜‹|ÐùòQ5s   Ð.a8Nrˆ  )	r
   r   r   r   r   r•   rÞ  r‚   rà  r   r   r   rÓ  rÓ    s   „ à (§
¡
ó !ò
1ò&ô
Hr   rÓ  )r2   )r   )r   ):r   Ú__all__r5  r{   Úenumr   Úmathr   r   r   r0   rS   Ú	Exceptionr]   ra   rŒ   re  rŽ   rü   rv   ÚUserWarningrx   r~   r   rò   rï   ry  rÌ   r~  ró   rg  r8  rñ   r  r†  r‰  r‹  rŽ  r‘  r“  r•  r—  r™  rô   r  rf  r]  r©  r±  rº  r¾  rÇ  rÎ  rÑ  r   rL   rÕ  rÓ  r   r   r   ú<module>r      sg  ðñð4 ˆ(€ó 
Û Ý Ý ô
ˆtô 
ôˆô ô*5ˆDô 5ô<
ˆdô 
ô	ˆiô 	ô�ô ð& �€Ø�Uˆ|€ò
ô	�+ô 	ò6÷w	ñ w	òtFòRò  ó
Gó?ó<ó(òó<òDò2òò ò8ò8ò8ò8ò8ò8ò?ò?ò*Cò**DòZñ ‹*€òò:ò(òVò
ð $Ÿ:™:ó 	K÷Cñ C÷&Wò Wr   