§
    OŠtj@š ã                   óŠ  — d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZmZmZ d dlmZmZ d dlm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z&m'Z' d dl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z7 e/Z8e2Z9 G d„ de¦  «        Z: ee:¦  «        d„ ¦   «         Z;d„ Z<e<Z=d„ Z>dS )é    N)ÚS)ÚAdd)ÚTuple)ÚFunction©ÚMul)ÚNumberÚRational)ÚPow)Údefault_sort_key©ÚSymbol)ÚSympifyError)Úrequires_partial)Ú
PRECEDENCEÚ
precedenceÚprecedence_traditional)ÚPrinterÚprint_function)Ússtr)Úhas_variety)Úsympy_deprecation_warning)Ú
prettyFormÚ
stringPict)ÚhobjÚvobjÚxobjÚxsymÚpretty_symbolÚpretty_atomÚpretty_use_unicodeÚgreek_unicodeÚUÚpretty_try_use_unicodeÚ	annotatedÚis_subscriptable_in_unicodeÚ
center_padÚrootc                   ó"  — e Zd ZdZdZdddddddddddœ
Zdød	„Zd
„ Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zd„ Zdùd„ZeZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZeZeZeZeZeZeZeZeZ eZ!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d „ Z'd!„ Z(dúd"„Z)d#„ Z*d$„ Z+d%„ Z,d&„ Z-d'„ Z.død(„Z/død)„Z0d*„ Z1d+„ Z2d,„ Z3d-„ Z4d.„ Z5d/„ Z6d0„ Z7d1„ Z8d2„ Z9d3„ Z:d4„ Z;d5„ Z<d6„ Z=dûd9„Z>d:„ Z?d;„ Z@d<„ ZAd=„ ZBd>„ ZCd?„ ZDd@„ ZEdA„ ZFdB„ ZGdC„ ZHdD„ ZIdE„ ZJdF„ ZKdG„ ZLdH„ ZMdI„ ZNdJ„ ZOdK„ ZPdL„ ZQdM„ ZRdN„ ZSdO„ ZTdP„ ZUdQ„ ZVdR„ ZWdS„ ZXdT„ ZYdU„ ZZdV„ Z[dW„ Z\dX„ Z]i fdY„Z^dZ„ Z_d[„ Z`d\„ Zad]„ Zbd^„ Zcd_„ Zdd`„ Zeda„ Zfdb„ Zgdüdd„Zhde„ Zidf„ Zjdg„ Zkdh„ Zl	 	 dýdk„Zmdl„ Zndm„ Zodn„ Zpdo„ Zq	 	 	 dþdq„Zrdr„ Zseds„ ¦   «         Ztdt„ Zudu„ Zvdv„ Zwdw„ Zxdx„ Zydy„ Zzdz„ 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�d�„ Z‘d‘„ Z’d’„ Z“d“„ Z”d”„ Z•d•„ Z–d–„ Z—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©d©„ Zªdª„ Z«d«„ Z¬d¬„ Z­d­„ Z®d®„ Z¯d¯„ Z°d°„ Z±d±„ Z²e²Z³e²Z´e²Zµdddpd²„ d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ËdÉ„ ZÌdÊ„ ZÍdË„ ZÎdÌ„ ZÏdÍ„ ZÐdÎ„ ZÑdÏ„ ZÒdÐ„ ZÓdÑ„ ZÔdÒ„ ZÕ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ç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S )ÿÚPrettyPrinterz?Printer, which converts an expression into 2D ASCII-art figure.Ú_prettyNÚautoTÚplainÚi)
ÚorderÚ	full_precÚuse_unicodeÚ	wrap_lineÚnum_columnsÚuse_unicode_sqrt_charÚroot_notationÚmat_symbol_styleÚimaginary_unitÚperm_cyclicc                 óB  — t          j        | |¦  «         t          | j        d         t          ¦  «        s-t          d                     | j        d         ¦  «        ¦  «        ‚| j        d         dvr-t          d                     | j        d         ¦  «        ¦  «        ‚d S )Nr7   z&'imaginary_unit' must a string, not {})r.   Újz4'imaginary_unit' must be either 'i' or 'j', not '{}')r   Ú__init__Ú
isinstanceÚ	_settingsÚstrÚ	TypeErrorÚformatÚ
ValueError)ÚselfÚsettingss     úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/pretty/pretty.pyr;   zPrettyPrinter.__init__/   s˜   € ÝÔ˜˜xÑ(Ô(Ð(å˜$œ.Ð)9Ô:½CÑ@Ô@ð 	~ÝÐD×KÒKÈDÌNÐ[kÔLlÑmÔmÑnÔnÐnØŒ^Ð,Ô-°ZÐ?Ð?ÝÐS×ZÒZÐ[_Ô[iÐjzÔ[{Ñ|Ô|Ñ}Ô}Ð}ð @Ð?ó    c                 ó:   — t          t          |¦  «        ¦  «        S ©N©r   r>   ©rB   Úexprs     rD   ÚemptyPrinterzPrettyPrinter.emptyPrinter7   s   € Ý�#˜d™)œ)Ñ$Ô$Ð$rE   c                 ó<   — | j         d         rdS t          ¦   «         S )Nr1   T)r=   r!   )rB   s    rD   Ú_use_unicodezPrettyPrinter._use_unicode:   s"   € àŒ>˜-Ô(ð 	(Ø�4å%Ñ'Ô'Ð'rE   c                 óL   —  |                       |¦  «        j        di | j        ¤ŽS )N© )Ú_printÚrenderr=   rI   s     rD   ÚdoprintzPrettyPrinter.doprintA   s)   € Ø'ˆt�{Š{˜4Ñ Ô Ô'Ð9Ð9¨$¬.Ð9Ð9Ð9rE   c                 ó   — |S rG   rO   ©rB   Úes     rD   Ú_print_stringPictzPrettyPrinter._print_stringPictE   s   € ØˆrE   c                 ó    — t          |¦  «        S rG   )r   rT   s     rD   Ú_print_basestringzPrettyPrinter._print_basestringH   s   € Ý˜!‰}Œ}ÐrE   c                 ó¤   — t          |                      |j        ¦  «                             ¦   «         Ž }t          |                     d¦  «        Ž }|S )NÚatan2)r   Ú
_print_seqÚargsÚparensÚleft©rB   rU   Úpforms      rD   Ú_print_atan2zPrettyPrinter._print_atan2K   sA   € Ý˜DŸOšO¨A¬FÑ3Ô3×:Ò:Ñ<Ô<Ð=ˆÝ˜EŸJšJ wÑ/Ô/Ð0ˆØˆrE   Fc                 óJ   — t          |j        |¦  «        }t          |¦  «        S rG   )r   Únamer   )rB   rU   Ú	bold_nameÚsymbs       rD   Ú_print_SymbolzPrettyPrinter._print_SymbolP   s!   € Ý˜QœV YÑ/Ô/ˆÝ˜$ÑÔÐrE   c                 óL   — |                       || j        d         dk    ¦  «        S )Nr6   Úbold)rf   r=   rT   s     rD   Ú_print_MatrixSymbolz!PrettyPrinter._print_MatrixSymbolT   s%   € Ø×!Ò! ! T¤^Ð4FÔ%GÈ6Ò%QÑRÔRÐRrE   c                 óz   — | j         d         }|dk    r| j        dk    }t          t          ||¬¦  «        ¦  «        S )Nr0   r,   é   )r0   )r=   Ú_print_levelr   r   )rB   rU   r0   s      rD   Ú_print_FloatzPrettyPrinter._print_FloatW   sC   € ð ”N ;Ô/ˆ	Ø˜ÒÐØÔ)¨QÒ.ˆIÝ�$˜q¨IÐ6Ñ6Ô6Ñ7Ô7Ð7rE   c           	      ó  — |j         }|j        }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      |¦  «        ¦  «        Ž }t          |                     d¦  «        Ž }|S )Nú(ú)úMULTIPLICATION SIGN©Ú_expr1Ú_expr2rP   r   r^   Úrightr#   ©rB   rU   Úvec1Úvec2r`   s        rD   Ú_print_CrosszPrettyPrinter._print_Cross_   sÅ   € ØŒxˆØŒxˆØ—’˜DÑ!Ô!ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1Ð5JÑ3KÔ3KÑ'LÔ'LÑMÔMÐNˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸJšJ t§{¢{°4Ñ'8Ô'8Ñ9Ô9Ð:ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c           	      óž  — |j         }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }|S )Nro   rp   rq   ÚNABLA©Ú_exprrP   r   r^   ru   r#   ©rB   rU   Úvecr`   s       rD   Ú_print_CurlzPrettyPrinter._print_Curlk   sœ   € ØŒgˆØ—’˜CÑ Ô ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1Ð5JÑ3KÔ3KÑ'LÔ'LÑMÔMÐNˆÝ˜EŸJšJ t§{¢{µ1°W±:´:Ñ'>Ô'>Ñ?Ô?Ð@ˆØˆrE   c           	      óž  — |j         }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }|S )Nro   rp   úDOT OPERATORr{   r|   r~   s       rD   Ú_print_DivergencezPrettyPrinter._print_Divergencet   s›   € ØŒgˆØ—’˜CÑ Ô ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1°^Ñ3DÔ3DÑ'EÔ'EÑFÔFÐGˆÝ˜EŸJšJ t§{¢{µ1°W±:´:Ñ'>Ô'>Ñ?Ô?Ð@ˆØˆrE   c           	      ó  — |j         }|j        }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      |¦  «        ¦  «        Ž }t          |                     d¦  «        Ž }|S )Nro   rp   r‚   rr   rv   s        rD   Ú
_print_DotzPrettyPrinter._print_Dot}   sÄ   € ØŒxˆØŒxˆØ—’˜DÑ!Ô!ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1°^Ñ3DÔ3DÑ'EÔ'EÑFÔFÐGˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸJšJ t§{¢{°4Ñ'8Ô'8Ñ9Ô9Ð:ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c           	      ó&  — |j         }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }|S )Nro   rp   r{   r|   ©rB   rU   Úfuncr`   s       rD   Ú_print_GradientzPrettyPrinter._print_Gradient‰   sq   € ØŒwˆØ—’˜DÑ!Ô!ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1°W±:´:Ñ'>Ô'>Ñ?Ô?Ð@ˆØˆrE   c           	      ó&  — |j         }|                      |¦  «        }t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }t          |                     |                      t          d¦  «        ¦  «        ¦  «        Ž }|S )Nro   rp   Ú	INCREMENTr|   r‡   s       rD   Ú_print_LaplacianzPrettyPrinter._print_Laplacian‘   sq   € ØŒwˆØ—’˜DÑ!Ô!ˆÝ˜EŸJšJ s™OœOÐ,ˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆÝ˜EŸJšJ t§{¢{µ1°[±>´>Ñ'BÔ'BÑCÔCÐDˆØˆrE   c                 óž   — 	 t          t          |j        j        | ¬¦  «        ¦  «        S # t          $ r |                      |¦  «        cY S w xY w)N)Úprinter)r   r    Ú	__class__Ú__name__ÚKeyErrorrK   rT   s     rD   Ú_print_AtomzPrettyPrinter._print_Atom™   s\   € ð	(å�k¨!¬+Ô*>ÈÐMÑMÔMÑNÔNÐNøÝð 	(ð 	(ð 	(Ø×$Ò$ QÑ'Ô'Ð'Ð'Ð'ð	(øøøs   ‚'* ªAÁAc                 óp   — | j         r|                      |¦  «        S ddg}|                      |dd¦  «        S )Nz-ooÚooro   rp   )rM   r’   r[   )rB   rU   Úinf_lists      rD   Ú_print_RealszPrettyPrinter._print_Reals¬   s@   € ØÔð 	7Ø×#Ò# AÑ&Ô&Ð&à˜t�}ˆHØ—?’? 8¨S°#Ñ6Ô6Ð6rE   c                 óâ   — |j         d         }|                      |¦  «        }|j        r|j        s"|j        st          |                     ¦   «         Ž }t          |                     d¦  «        Ž }|S ©Nr   ú!)r\   rP   Ú
is_IntegerÚis_nonnegativeÚ	is_Symbolr   r]   r^   ©rB   rU   Úxr`   s       rD   Ú_print_subfactorialz!PrettyPrinter._print_subfactorial³   sd   € ØŒF�1ŒIˆØ—’˜A‘”ˆà”ð 	0 !Ô"2ð 	0°q´{ð 	0Ý §¢¡¤Ð/ˆEÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c                 óâ   — |j         d         }|                      |¦  «        }|j        r|j        s"|j        st          |                     ¦   «         Ž }t          |                     d¦  «        Ž }|S r˜   ©r\   rP   rš   r›   rœ   r   r]   ru   r�   s       rD   Ú_print_factorialzPrettyPrinter._print_factorial¼   sf   € ØŒF�1ŒIˆØ—’˜A‘”ˆà”ð 	0 !Ô"2ð 	0°q´{ð 	0Ý §¢¡¤Ð/ˆEÝ˜EŸKšK¨Ñ,Ô,Ð-ˆØˆrE   c                 óâ   — |j         d         }|                      |¦  «        }|j        r|j        s"|j        st          |                     ¦   «         Ž }t          |                     d¦  «        Ž }|S )Nr   z!!r¡   r�   s       rD   Ú_print_factorial2zPrettyPrinter._print_factorial2Å   sf   € ØŒF�1ŒIˆØ—’˜A‘”ˆà”ð 	0 !Ô"2ð 	0°q´{ð 	0Ý §¢¡¤Ð/ˆEÝ˜EŸKšK¨Ñ-Ô-Ð.ˆØˆrE   c                 óª  — |j         \  }}|                      |¦  «        }|                      |¦  «        }dt          |                     ¦   «         |                     ¦   «         ¦  «        z  }t	          |                     |¦  «        Ž }t	          |                     |¦  «        Ž }t	          |                     dd¦  «        Ž }|j        dz   dz  |_        |S )Nú ro   rp   rk   é   )r\   rP   ÚmaxÚwidthr   Úabover]   Úbaseline)rB   rU   ÚnÚkÚn_pformÚk_pformÚbarr`   s           rD   Ú_print_binomialzPrettyPrinter._print_binomialÎ   s«   € ØŒv‰ˆˆ1à—+’+˜a‘.”.ˆØ—+’+˜a‘.”.ˆà•#�g—m’m‘o”o w§}¢}¡¤Ñ7Ô7Ñ7ˆå˜GŸMšM¨#Ñ.Ô.Ð/ˆÝ˜EŸKšK¨Ñ0Ô0Ð1ˆÝ˜EŸLšL¨¨cÑ2Ô2Ð3ˆàœ.¨1Ñ,¨qÑ0ˆŒàˆrE   c                 ó  — t          dt          |j        ¦  «        z   dz   ¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }t          t          j        |||¦  «        dt           j        iŽ}|S )Nr¦   Úbinding)	r   r   Úrel_oprP   ÚlhsÚrhsr   ÚnextÚOPEN©rB   rU   ÚopÚlÚrr`   s         rD   Ú_print_RelationalzPrettyPrinter._print_RelationalÞ   sn   € Ý˜�d 1¤8™nœnÑ,¨sÑ2Ñ3Ô3ˆà�KŠK˜œÑÔˆØ�KŠK˜œÑÔˆÝ�JœO¨A¨r°1Ñ5Ô5ÐO½z¼ÐOÐOˆØˆrE   c                 ó  — ddl m}m} | j        rÜ|j        d         }|                      |¦  «        }t          ||¦  «        r$|                      |t          d¦  «        ¬¦  «        S t          ||¦  «        r$|  	                    |t          d¦  «        ¬¦  «        S |j
        r"|j        st          |                     ¦   «         Ž }t          |                     t          d¦  «        ¦  «        Ž S |                      |¦  «        S )Nr   )Ú
EquivalentÚImpliesÚNotEquiv)ÚaltcharÚNotArrowÚNot)Úsympy.logic.boolalgr¿   rÀ   rM   r\   rP   r<   Ú_print_Equivalentr    Ú_print_ImpliesÚ
is_BooleanÚis_Notr   r]   r^   Ú_print_Function)rB   rU   r¿   rÀ   Úargr`   s         rD   Ú
_print_NotzPrettyPrinter._print_Notæ   s  € Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ØÔð 	+Ø”&˜”)ˆCØ—K’K Ñ$Ô$ˆEÝ˜#˜zÑ*Ô*ð TØ×-Ò-¨c½;ÀzÑ;RÔ;RÐ-ÑSÔSÐSÝ˜#˜wÑ'Ô'ð QØ×*Ò*¨3½ÀJÑ8OÔ8OÐ*ÑPÔPÐPàŒ~ð 4 c¤jð 4Ý" E§L¢L¡N¤NÐ3�å˜uŸzšz­+°eÑ*<Ô*<Ñ=Ô=Ð>Ð>à×'Ò'¨Ñ*Ô*Ð*rE   c                 óæ  — |j         }|rt          |j         t          ¬¦  «        }|d         }|                      |¦  «        }|j        r"|j        st          |                     ¦   «         Ž }|dd …         D ]{}|                      |¦  «        }|j        r"|j        st          |                     ¦   «         Ž }t          |                     d|z  ¦  «        Ž }t          |                     |¦  «        Ž }Œ||S )N©Úkeyr   rk   ú %s )	r\   Úsortedr   rP   rÈ   rÉ   r   r]   ru   )rB   rU   ÚcharÚsortr\   rË   r`   Ú	pform_args           rD   Ú__print_BooleanzPrettyPrinter.__print_Boolean÷   sí   € ØŒvˆØð 	8Ý˜!œ&Õ&6Ð7Ñ7Ô7ˆDØ�1ŒgˆØ—’˜CÑ Ô ˆàŒ>ð 	0 #¤*ð 	0Ý §¢¡¤Ð/ˆEà˜˜˜”8ð 	8ð 	8ˆCØŸš CÑ(Ô(ˆIàŒ~ð < c¤jð <Ý&¨	×(8Ò(8Ñ(:Ô(:Ð;�	å §¢¨F°T©MÑ :Ô :Ð;ˆEÝ §¢¨IÑ 6Ô 6Ð7ˆEˆEàˆrE   c                 ó„   — | j         r#|                      |t          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚAndT©rÓ   ©rM   Ú_PrettyPrinter__print_Booleanr    rÊ   rT   s     rD   Ú
_print_AndzPrettyPrinter._print_And  óD   € ØÔð 	6Ø×'Ò'¨­;°uÑ+=Ô+=Ñ>Ô>Ð>à×'Ò'¨°Ð'Ñ5Ô5Ð5rE   c                 ó„   — | j         r#|                      |t          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚOrTrØ   rÙ   rT   s     rD   Ú	_print_OrzPrettyPrinter._print_Or  sD   € ØÔð 	6Ø×'Ò'¨­;°tÑ+<Ô+<Ñ=Ô=Ð=à×'Ò'¨°Ð'Ñ5Ô5Ð5rE   c                 ó„   — | j         r#|                      |t          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚXorTrØ   rÙ   rT   s     rD   Ú
_print_XorzPrettyPrinter._print_Xor  rÜ   rE   c                 ó„   — | j         r#|                      |t          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚNandTrØ   rÙ   rT   s     rD   Ú_print_NandzPrettyPrinter._print_Nand  sD   € ØÔð 	6Ø×'Ò'¨­;°vÑ+>Ô+>Ñ?Ô?Ð?à×'Ò'¨°Ð'Ñ5Ô5Ð5rE   c                 ó„   — | j         r#|                      |t          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚNorTrØ   rÙ   rT   s     rD   Ú
_print_NorzPrettyPrinter._print_Nor$  rÜ   rE   c                 óˆ   — | j         r'|                      ||pt          d¦  «        d¬¦  «        S |                      |¦  «        S )NÚArrowFrØ   rÙ   ©rB   rU   rÂ   s      rD   rÇ   zPrettyPrinter._print_Implies*  sJ   € ØÔð 	+Ø×'Ò'¨¨7Ð+JµkÀ'Ñ6JÔ6JÐQVÐ'ÑWÔWÐWà×'Ò'¨Ñ*Ô*Ð*rE   c                 óˆ   — | j         r%|                      ||pt          d¦  «        ¦  «        S |                      |d¬¦  «        S )NÚEquivTrØ   rÙ   rë   s      rD   rÆ   zPrettyPrinter._print_Equivalent0  sI   € ØÔð 	6Ø×'Ò'¨¨7Ð+JµkÀ'Ñ6JÔ6JÑKÔKÐKà×'Ò'¨°Ð'Ñ5Ô5Ð5rE   c           	      óº   — |                       |j        d         ¦  «        }t          |                     t	          d|                     ¦   «         ¦  «        ¦  «        Ž S )Nr   Ú_)rP   r\   r   rª   r   r©   r_   s      rD   Ú_print_conjugatezPrettyPrinter._print_conjugate6  sB   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸKšK­¨c°5·;²;±=´=Ñ)AÔ)AÑBÔBÐDÐDrE   c                 ó€   — |                       |j        d         ¦  «        }t          |                     dd¦  «        Ž }|S )Nr   ú|)rP   r\   r   r]   r_   s      rD   Ú
_print_AbszPrettyPrinter._print_Abs:  s6   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸLšL¨¨cÑ2Ô2Ð3ˆØˆrE   c                 ó¸   — | j         r?|                      |j        d         ¦  «        }t          |                     dd¦  «        Ž }|S |                      |¦  «        S )Nr   ÚlfloorÚrfloor©rM   rP   r\   r   r]   rÊ   r_   s      rD   Ú_print_floorzPrettyPrinter._print_floor?  sU   € ØÔð 	+Ø—K’K ¤ q¤	Ñ*Ô*ˆEÝ §¢¨X°xÑ @Ô @ÐAˆEØˆLà×'Ò'¨Ñ*Ô*Ð*rE   c                 ó¸   — | j         r?|                      |j        d         ¦  «        }t          |                     dd¦  «        Ž }|S |                      |¦  «        S )Nr   ÚlceilÚrceilr÷   r_   s      rD   Ú_print_ceilingzPrettyPrinter._print_ceilingG  sU   € ØÔð 	+Ø—K’K ¤ q¤	Ñ*Ô*ˆEÝ §¢¨W°gÑ >Ô >Ð?ˆEØˆLà×'Ò'¨Ñ*Ô*Ð*rE   c                 ó�  — t          |j        ¦  «        r| j        rt          d¦  «        }nd}d }d}t	          |j        ¦  «        D ]¤\  }}|                      |¦  «        }t          |                     |¦  «        Ž }||z  }|j	        r|dk    r|t          t          |¦  «        ¦  «        z  }|€|}Œlt          |                     d¦  «        Ž }t          |                     |¦  «        Ž }Œ¥t          |                      |j        ¦  «                             ¦   «         dt          j        iŽ}	t          |¦  «        }
|dk    dk    r|
t          t          |¦  «        ¦  «        z  }
t          |
                     t          j        |¦  «        Ž }
|
j        dz   |
_        t          t          j        |
|	¦  «        Ž }
t          j        |
_        |
S )NúPARTIAL DIFFERENTIALÚdr   rk   r¦   r³   F)r   rJ   rM   r#   ÚreversedÚvariable_countrP   r   r^   rš   r>   ru   r]   ÚFUNCÚbelowr   ÚLINEr«   r·   ÚMULr³   )rB   ÚderivÚderiv_symbolrž   Úcount_total_derivÚsymÚnumÚsÚdsÚfr`   s              rD   Ú_print_DerivativezPrettyPrinter._print_DerivativeO  s­  € Ý˜EœJÑ'Ô'ð 	 ¨DÔ,=ð 	 ÝÐ3Ñ4Ô4ˆLˆLàˆLØˆØÐå  Ô!5Ñ6Ô6ð 	-ð 	-‰HˆC�Ø—’˜CÑ Ô ˆAÝ˜QŸVšV LÑ1Ô1Ð2ˆBØ Ñ$Ðà”Nð .¨¨aª¨Ø�¥C¨¡H¤HÑ-Ô-Ñ-�àˆyØ��å §¢¨¡¤Ð-�Ý §¢¨¡¤Ð,��åØ&*§k¢k°%´*Ñ&=Ô&=×&DÒ&DÑ&FÔ&FðHÝ”OðHð Hˆõ ˜<Ñ(Ô(ˆà Ò! eÒ+Ð+Ø�:¥cÐ*;Ñ&<Ô&<Ñ=Ô=Ñ=ˆEå˜EŸKšK­
¬¸Ñ;Ô;Ð<ˆØœ¨!Ñ+ˆŒÝ�JœO¨E°1Ñ5Ô5Ð6ˆÝ"œˆŒàˆrE   c                 ó,  — ddl m}m} | |¦   «         k    r*t          d¦  «        }t	          |                     ¦   «         Ž S  ||                     ¦   «         ¦  «        j        }|g k    r8|                      |j	        dz
  ¦  «        }t	          |                     ¦   «         Ž S t          d¦  «        }|D ]a}|                      t          t          |¦  «        ¦  «                             dd¦  «        ¦  «        }t	          |                     |¦  «        Ž }Œb|S )Nr   ©ÚPermutationÚCycleÚ rk   ú,)Ú sympy.combinatorics.permutationsr  r  r   r   r]   ÚlistÚcyclic_formrP   Úsizer>   ÚtupleÚreplaceru   )rB   Údcr  r  ÚcycÚdc_listr.   r»   s           rD   Ú_print_CyclezPrettyPrinter._print_Cyclet  sö   € ØGÐGÐGÐGÐGÐGÐGÐGà��‘”Š=ˆ=Ý˜R‘.”.ˆCÝ˜sŸzšz™|œ|Ð,Ð,à�+˜bŸgšg™iœiÑ(Ô(Ô4ˆà�bŠ=ˆ=Ø—+’+˜bœg¨™kÑ*Ô*ˆCÝ˜sŸzšz™|œ|Ð,Ð,å˜‰nŒnˆØð 	,ð 	,ˆAØ—’�C¥ a¡¤™MœM×1Ò1°#°rÑ:Ô:Ñ;Ô;ˆAÝ˜cŸiši¨™lœlÐ+ˆCˆCØˆ
rE   c                 ó´  — ddl m}m} |j        }|�t	          d|› d�ddd¬¦  «         n| j                             d	d
¦  «        }|r|                       ||¦  «        ¦  «        S |j        }t          t          t          |¦  «        ¦  «        ¦  «        }t          d¦  «        }d
}t          ||¦  «        D ]ˆ\  }	}
|                      |	¦  «        }|                      |
¦  «        }t          |                     |¦  «        Ž }|rd}nt          |                     d¦  «        Ž }t          |                     |¦  «        Ž }Œ‰t          |                     ¦   «         Ž S )Nr   r  zw
                Setting Permutation.print_cyclic is deprecated. Instead use
                init_printing(perm_cyclic=z).
                z1.6z#deprecated-permutation-print_cyclicé   )Údeprecated_since_versionÚactive_deprecations_targetÚ
stacklevelr8   Tr  Fr¦   )r  r  r  Úprint_cyclicr   r=   Úgetr  Ú
array_formr  ÚrangeÚlenr   ÚziprP   r   r  r^   ru   r]   )rB   rJ   r  r  r8   ÚlowerÚupperÚresultÚfirstÚur»   Ús1Ús2Úcols                 rD   Ú_print_Permutationz PrettyPrinter._print_Permutation‡  sr  € ØGÐGÐGÐGÐGÐGÐGÐGà!Ô.ˆØÐ"Ý%ðà+6ðð ð ð */Ø+PØðñ ô ð ð ð œ.×,Ò,¨]¸DÑAÔAˆKàð 	2Ø×$Ò$ U U¨4¡[¤[Ñ1Ô1Ð1à”ˆÝ•U�3˜u™:œ:Ñ&Ô&Ñ'Ô'ˆå˜B‘”ˆØˆÝ˜˜uÑ%Ô%ð 	4ð 	4‰DˆAˆqØ—’˜Q‘”ˆBØ—’˜Q‘”ˆBÝ˜bŸhšh r™lœlÐ+ˆCØð 1Ø��å  #§(¢(¨3¡-¤-Ð0�Ý §¢¨cÑ!2Ô!2Ð3ˆFˆFÝ˜6Ÿ=š=™?œ?Ð+Ð+rE   c                 óÞ  — |j         }|                      |¦  «        }|j        rt          |                     ¦   «         Ž }|}|j        D ]m}|                      |d         ¦  «        }|                     ¦   «         dk    rt          |                     ¦   «         Ž }t          |                     d|¦  «        Ž }Œnd}d }|j        D �]ý}	|                     ¦   «         }
|
dz   }| j	         }|r|dz  }t          d|¦  «        }t          |¦  «        }|j        ||
z
  dz  z   |_        t          |	¦  «        dk    �rHt          |	¦  «        dk    r*t          d¦  «        }|                      |	d         ¦  «        }t          |	¦  «        dk    r6|                      |	d         ¦  «        }|                      |	d         ¦  «        }|rˆt          dd|                     ¦   «         z
  ¦  «        }t          |                     d	|z  ¦  «        Ž }t          dd
|                     ¦   «         z
  ¦  «        }t          |                     d	|z  ¦  «        Ž }t          |                     |¦  «        Ž }t          |                     |¦  «        Ž }|st          |                     d	¦  «        Ž }|r|}d}�Œát          |                     |¦  «        Ž }�Œÿt          |                     |¦  «        Ž }t          j        |_        |S )Nr   rk   z dTr§   Úintr  é   r¦   é   F)ÚfunctionrP   Úis_Addr   r]   Úlimitsr©   ru   ÚheightrM   r   r«   r(  r¨   r^   rª   r  r  r³   )rB   Úintegralr  ÚprettyFrË   rž   Ú	prettyArgÚ	firsttermr  ÚlimÚhÚHÚ
ascii_modeÚvintr`   ÚprettyAÚprettyBÚspcs                     rD   Ú_print_IntegralzPrettyPrinter._print_Integral¬  s¼  € ØÔˆð —+’+˜a‘.”.ˆàŒ8ð 	4Ý  '§.¢.Ñ"2Ô"2Ð3ˆGð ˆØ”ð 	:ð 	:ˆAØŸš A a¤DÑ)Ô)ˆIà�ŠÑ Ô  1Ò$Ð$Ý&¨	×(8Ò(8Ñ(:Ô(:Ð;�	å˜cŸiši¨¨iÑ8Ô8Ð9ˆCˆCð ˆ	ØˆØ”?ð .	/ñ .	/ˆCà—
’
‘”ˆAØ�A‘ˆAð "Ô.Ð.ˆJØð Ø�Q‘�å˜˜q‘>”>ˆDõ ˜tÑ$Ô$ˆEØ œ\Ø�A‘˜ñ-ñ ˆEŒNõ �3‰xŒx˜!Š|‰|õ �s‘8”8˜q’=�=Ý(¨™nœn�GØ"Ÿkšk¨#¨a¬&Ñ1Ô1�GÝ�s‘8”8˜q’=�=Ø"Ÿkšk¨#¨a¬&Ñ1Ô1�GØ"Ÿkšk¨#¨a¬&Ñ1Ô1�Gàð Dõ ˜a  W§]¢]¡_¤_Ñ!4Ñ5Ô5�CÝ(¨'¯,ª,°s¸S±yÑ*AÔ*AÐB�Gå˜a  W§]¢]¡_¤_Ñ!4Ñ5Ô5�CÝ(¨'¯-ª-¸¸c¹	Ñ*BÔ*BÐC�Gå" E§K¢K°Ñ$8Ô$8Ð9�Ý" E§K¢K°Ñ$8Ô$8Ð9�àð 6Ý" E§K¢K°Ñ$4Ô$4Ð5�àð /Ø�Ø!�	‘	å §¢ u¡¤Ð.�‘å˜CŸHšH Q™KœKÐ(ˆÝ"œˆŒØˆrE   c                 ó~  — |j         }|                      |¦  «        }t          dd¦  «        }t          dd¦  «        }t          dd¦  «        }| j        r t          dd¦  «        }t          dd¦  «        }|                     ¦   «         }d}d}	d}
|j        D �]ˆ}|                      |¦  «        \  }}|dz   d	z  d
z  dz
  }||z   ||dz
  z  z   |z   |z   g}t          |dz   ¦  «        D ])}|                     d|z   d|dz
  z  z   |z   dz   ¦  «         Œ*t          d¦  «        }t           |j        |Ž Ž }t          |	|                     ¦   «         ¦  «        }	|r|                     ¦   «         }
t          |                     |¦  «        Ž }t          |                     |¦  «        Ž }|r	d|_        d}|                     ¦   «         }t          d¦  «        }t           |j        dg|dz
  z  Ž Ž }t          |                     |¦  «        Ž }t          |                     |¦  «        Ž }�ŒŠ|	|
dz  z   |_        t          j        |_        |S )Nrï   rk   rò   ú-ÚUpTackTr   r§   é   r5  r¦   r  F)ÚtermrP   r   rM   r:  r9  Ú'_PrettyPrinter__print_SumProduct_Limitsr'  Úappendr   r   Ústackr¨   rª   r  r«   ru   r  r³   )rB   rJ   rˆ   Úpretty_funcÚhorizontal_chrÚ
corner_chrÚvertical_chrÚfunc_heightr-  Ú	max_upperÚsign_heightr?  Úpretty_lowerÚpretty_upperr©   Ú
sign_linesrï   Úpretty_signr:  Úpaddings                       rD   Ú_print_ProductzPrettyPrinter._print_Product÷  sl  € ØŒyˆØ—k’k $Ñ'Ô'ˆå˜c 1™œˆÝ˜#˜q‘\”\ˆ
Ý˜C ‘|”|ˆàÔð 	+å! # q™\œ\ˆNÝ˜h¨Ñ*Ô*ˆJà!×(Ò(Ñ*Ô*ˆàˆØˆ	Øˆà”;ð 	Fñ 	FˆCØ)-×)GÒ)GÈÑ)LÔ)LÑ&ˆL˜,à  1‘_¨Ñ)¨QÑ.°Ñ2ˆEØ(¨:Ñ5¸È5ÐQRÉ7Ñ9SÑTÐWaÑaÐdrÑrÐsˆJÝ˜;¨™?Ñ+Ô+ð _ð _�Ø×!Ò! #¨Ñ"4¸¸uÀQ¹w¹Ñ"HÈ<Ñ"WÐZ]Ñ"]Ñ^Ô^Ð^Ð^å$ R™.œ.ˆKÝ$Ð&7 kÔ&7¸Ð&DÐEˆKõ ˜I |×':Ò':Ñ'<Ô'<Ñ=Ô=ˆIàð 3Ø)×0Ò0Ñ2Ô2�å$ k×&7Ò&7¸Ñ&EÔ&EÐFˆKÝ$ k×&7Ò&7¸Ñ&EÔ&EÐFˆKàð Ø'(�Ô$Ø�à ×'Ò'Ñ)Ô)ˆFÝ  ‘n”nˆGÝ  - '¤-°#°¸À¹
Ñ1CÐ"DÐEˆGÝ$ k×&7Ò&7¸Ñ&@Ô&@ÐAˆKå$ k×&7Ò&7¸Ñ&DÔ&DÐEˆK‰Kà(¨;¸©>Ñ9ˆÔÝ(œnˆÔØÐrE   c                 ó|   ‡ — ˆ fd„}‰                       |d         ¦  «        } ||d         |d         ¦  «        }||fS )Nc                 óÚ   •— t          dt          d¦  «        z   dz   ¦  «        }‰                     | ¦  «        }‰                     |¦  «        }t          t          j        |||¦  «        Ž }|S )Nr¦   ú==)r   r   rP   r   r·   )rµ   r¶   rº   r»   r¼   r`   rB   s         €rD   Úprint_startz<PrettyPrinter.__print_SumProduct_Limits.<locals>.print_start.  s_   ø€ Ý˜C¥$ t¡*¤*Ñ,¨sÑ2Ñ3Ô3ˆBØ—’˜CÑ Ô ˆAØ—’˜CÑ Ô ˆAÝ¥
¤°°2°qÑ 9Ô 9Ð:ˆEØˆLrE   r§   r   rk   ©rP   )rB   r?  r`  ÚprettyUpperÚprettyLowers   `    rD   Ú__print_SumProduct_Limitsz'PrettyPrinter.__print_SumProduct_Limits-  sW   ø€ ð	ð 	ð 	ð 	ð 	ð —k’k # a¤&Ñ)Ô)ˆØ!�k # a¤&¨#¨a¬&Ñ1Ô1ˆØ˜KÐ'Ð'rE   c                 ó  — | j          }d„ }|j        }|                      |¦  «        }|j        rt	          |                     ¦   «         Ž }|                     ¦   «         dz   }d}d}d}	|j        D �]r}
|                      |
¦  «        \  }}t          ||                     ¦   «         ¦  «        } ||| 
                    ¦   «         | 
                    ¦   «         |¦  «        \  }}}}t          d¦  «        }t	           |j        |Ž Ž }|r|                     ¦   «         }	t	          |                     |¦  «        Ž }t	          |                     |¦  «        Ž }|r2|xj        ||                     ¦   «         dz  |j        z
  z
  z  c_        d}t          d¦  «        }t	           |j        dg|z  Ž Ž }t	          |                     |¦  «        Ž }t	          |                     |¦  «        Ž }�Œt|s|nd}||	dz  z   |z   |_        t          j        |_        |S )Nc                 ó&  — dd„}t          | d¦  «        }|dz  }|dz   }| dz  }g }	|�r|	                     d|z  dz   ¦  «         |	                     dd|dz
  z  z  ¦  «         t          d|¦  «        D ]%}
|	                     d|
z  ›dd||
z
  z  ›�¦  «         Œ&|r#|	                     d|z  ›d	d||z
  z  ›�¦  «         t          t          d|¦  «        ¦  «        D ]%}
|	                     d|
z  ›d
d||
z
  z  ›�¦  «         Œ&|	                     d
d|dz
  z  z   dz   ¦  «         |||z   |	|fS ||z   }||z   }t	          dd¦  «        }|	                     d|z  ¦  «         t          d|¦  «        D ]/}
|	                     d|
z  ›|d         ›d||
z
  dz
  z  ›�¦  «         Œ0t          t          d|¦  «        ¦  «        D ]/}
|	                     d|
z  ›|d         ›d||
z
  dz
  z  ›�¦  «         Œ0|	                     |d         |z  ¦  «         ||d|z  z   |	|fS )Nú<^>c                 óô   — |rt          | ¦  «        |k    r| S |t          | ¦  «        z
  }|dv s|t          d¦  «        vr| d|z  z   S |dz  }d|z  }|dk    rd|z  | z   S || z   d|t          |¦  «        z
  z  z   S )N)rg  ú<rg  r¦   r§   ú>)r(  r  )r  ÚwidÚhowÚneedÚhalfÚleads         rD   Úadjustz6PrettyPrinter._print_Sum.<locals>.asum.<locals>.adjust=  s�   € Øð �c !™fœf sšl˜lØ�HØ�S ™VœV‘|�Ø˜,Ð&Ð&¨#µT¸%±[´[Ð*@Ð*@Ø˜s 4™x™<Ð'Ø˜Q‘w�Ø˜4‘x�Ø˜#’:�:Ø˜t™8 a™<Ð'Ø˜a‘x # t­c°$©i¬iÑ'7Ñ"8Ñ8Ð8rE   r§   rk   rï   r¦   z\%s`ú\rp   ú/r  Úsumr6  r   é   )Nrg  )r¨   rN  r'  r   r   )Ú	hrequiredr*  r+  Ú	use_asciirp  r@  rÿ   ÚwÚmoreÚlinesr.   Úvsums               rD   Úasumz&PrettyPrinter._print_Sum.<locals>.asum<  s�  € ð
9ð 
9ð 
9ð 
9õ �I˜qÑ!Ô!ˆAØ�1‘ˆAØ�A‘ˆAØ˜q‘=ˆDàˆEØñ 2Ø—’˜S !™W s™]Ñ+Ô+Ð+Ø—’˜W¨¨Q°©U©Ñ4Ñ5Ô5Ð5Ý˜q !™œð Bð B�AØ—L’L¨S°©U¨U¨U°C¸¸Q¹±K°KÐ!@ÑAÔAÐAÐAØð CØ—L’L¨C°©G¨G¨G°S¸!¸a¹%±[°[Ð!AÑBÔBÐBÝ!¥%¨¨1¡+¤+Ñ.Ô.ð Að A�AØ—L’L¨C°©E¨E¨E°3¸¸A¹±;°;Ð!?Ñ@Ô@Ð@Ð@Ø—’˜S 3¨¨A©¡;Ñ.°Ñ4Ñ5Ô5Ð5Ø˜!˜d™( E¨4Ð/Ð/à˜‘H�Ø˜‘H�Ý˜E 1‘~”~�Ø—’˜S !™WÑ%Ô%Ð%Ý˜q !™œð Oð O�AØ—L’L¨S°©U¨U°D¸´G°G¸SÀ!ÀaÁ%È!Á)¹_¸_Ð!MÑNÔNÐNÐNÝ!¥%¨¨1¡+¤+Ñ.Ô.ð Oð O�AØ—L’L¨S°©U¨U°D¸´G°G¸SÀ!ÀaÁ%È!Á)¹_¸_Ð!MÑNÔNÐNÐNØ—’˜T !œW a™[Ñ)Ô)Ð)Ø˜!˜a ™f™* e¨TÐ1Ð1rE   r§   Tr   r  Fr¦   )rM   r7  rP   r8  r   r]   r:  r9  rM  r¨   r©   r   rO  rª   r  r«   ru   r  r³   )rB   rJ   rB  r{  r  r<  rA  r-  rU  rV  r?  rc  rb  rÿ   r@  ÚslinesÚ
adjustmentÚ
prettySignÚpadÚascii_adjustments                       rD   Ú
_print_SumzPrettyPrinter._print_Sum9  s6  € ØÔ*Ð*ˆ
ð(	2ð (	2ð (	2ðT ŒMˆà—+’+˜a‘.”.ˆàŒ8ð 	4Ý  '§.¢.Ñ"2Ô"2Ð3ˆGà�NŠNÑÔ˜qÑ ˆð ˆØˆ	Øˆà”;ð 	=ñ 	=ˆCØ'+×'EÒ'EÀcÑ'JÔ'JÑ$ˆK˜å˜I {×'9Ò'9Ñ';Ô';Ñ<Ô<ˆIð (, tØ�;×$Ò$Ñ&Ô&¨×(9Ò(9Ñ(;Ô(;¸Zñ(Iô (IÑ$ˆAˆq�&˜*å# B™œˆJÝ#Ð%5 ZÔ%5°vÐ%>Ð?ˆJàð 2Ø(×/Ò/Ñ1Ô1�å# Z×%5Ò%5°kÑ%BÔ%BÐCˆJÝ# Z×%5Ò%5°kÑ%BÔ%BÐCˆJàð àÐ Ô  A¨¯ªÑ)9Ô)9¸1Ñ)<Ø)0Ô)9ñ*:ñ %;ñ ;Ð Ô à�õ ˜R‘.”.ˆCÝ˜i˜cœi¨#¨¨q©Ð1Ð2ˆCÝ# Z×%5Ò%5°cÑ%:Ô%:Ð;ˆJå  *×"2Ò"2°7Ñ";Ô";Ð<ˆG‰Gð .8Ð>˜:˜:¸QÐØ$ {°A¡~Ñ5Ð8HÑHˆÔå$œ.ˆŒØˆrE   c                 óÚ  — |j         \  }}}}|                      |¦  «        }t          |¦  «        t          d         k    rt	          |                     dd¦  «        Ž }t	          d¦  «        }|                      |¦  «        }| j        r<t	          |                     t          dd¦  «        › t          d¦  «        › �¦  «        Ž }nt	          |                     d¦  «        Ž }t	          |                     |                      |¦  «        ¦  «        Ž }t          |¦  «        d	k    s|t          j        t          j        fv rd
}n8| j        r1t          |¦  «        dk    rt          d¦  «        nt          d¦  «        }t	          |                     |                      |¦  «        ¦  «        Ž }t	          |                     |¦  «        Ž }t	          |                     |¦  «        dt          j        iŽ}|S )Nr   ro   rp   r?  rI  rk   rê   z->z+-r  ú+ÚSuperscriptPlusÚSuperscriptMinusr³   )r\   rP   r   r   r   r]   rM   ru   r   r    r>   r   ÚInfinityÚNegativeInfinityr  r  )	rB   r»   rU   ÚzÚz0ÚdirÚEÚLimÚLimArgs	            rD   Ú_print_LimitzPrettyPrinter._print_Limitš  s›  € Øœ‰ˆˆ1ˆb�#à�KŠK˜‰NŒNˆÝ�a‰=Œ=�J uÔ-Ò-Ð-Ý˜AŸHšH S¨#Ñ.Ô.Ð/ˆAÝ˜ÑÔˆà—’˜Q‘”ˆØÔð 	5Ý §¢µ°c¸1±´Ð.U½{È7Ñ?SÔ?SÐ.UÐ.UÑ!VÔ!VÐWˆFˆFå §¢¨dÑ!3Ô!3Ð4ˆFÝ˜VŸ\š\¨$¯+ª+°b©/¬/Ñ:Ô:Ð;ˆåˆs‰8Œ8�tÒÐ˜r¥a¤jµ!Ô2DÐ%EÐEÐEØˆCˆCàÔ ð mÝ8;¸C¹¼ÀCº¸•kÐ"3Ñ4Ô4Ð4Í[ÐYkÑMlÔMl�å˜VŸ\š\¨$¯+ª+°cÑ*:Ô*:Ñ;Ô;Ð<ˆå˜#Ÿ)š) FÑ+Ô+Ð,ˆÝ˜#Ÿ)š) A™,œ,Ð?µ
´Ð?Ð?ˆàˆ
rE   c                 ó(  ‡‡— |}i Št          |j        ¦  «        D ];}t          |j        ¦  «        D ]$Š|                      ||‰f         ¦  «        ‰|‰f<   Œ%Œ<d}d}dg|j        z  }t          |j        ¦  «        D ]6Št	          ˆˆfd„t          |j        ¦  «        D ¦   «         pdg¦  «        |‰<   Œ7d}t          |j        ¦  «        D �]8}d}t          |j        ¦  «        D ]ÏŠ‰|‰f         }	|	                     ¦   «         |‰         k    sJ ‚t          |	                     ¦   «         |‰         ¦  «        \  }
}t          |	                     |¦  «        Ž }	t          |	 	                    |
¦  «        Ž }	|€|	}Œ”t          |                     d|z  ¦  «        Ž }t          |                     |	¦  «        Ž }ŒÐ|€|}Œît          |¦  «        D ]}t          | 
                    d¦  «        Ž }Œt          | 
                    |¦  «        Ž }�Œ:|€t          d¦  «        }|S )	zL
        This method factors out what is essentially grid printing.
        r§   rk   éÿÿÿÿc                 óH   •— g | ]}‰|‰f                               ¦   «         ‘ŒS rO   ©r©   )Ú.0r.   ÚMsr:   s     €€rD   ú
<listcomp>z8PrettyPrinter._print_matrix_contents.<locals>.<listcomp>È  s+   ø€ ÐCÐCÐC°˜2˜a ˜dœ8Ÿ>š>Ñ+Ô+ÐCÐCÐCrE   r   Nr¦   r  )r'  ÚrowsÚcolsrP   r¨   r©   r'   r   ru   r^   r  )rB   rU   ÚMr.   ÚhsepÚvsepÚmaxwÚDÚD_rowr  r^   ru   rï   r”  r:   s                @@rD   Ú_print_matrix_contentsz$PrettyPrinter._print_matrix_contents¶  s'  øø€ ð ˆØˆÝ�q”v‘”ð 	0ð 	0ˆAÝ˜1œ6‘]”]ð 0ð 0�ØŸ;š; q¨¨A¨¤wÑ/Ô/��1�a�4‘�ð0ð ˆØˆð ˆt�a”f‰}ˆå�q”v‘”ð 	Lð 	LˆAÝÐCÐCÐCÐCÐCµU¸1¼6±]´]ÐCÑCÔCÐJÈÀsÑKÔKˆD�‰GˆGð ˆå�q”v‘”ð %	,ñ %	,ˆAàˆEÝ˜1œ6‘]”]ð 4ð 4�Ø�q˜!�t”H�ð —w’w‘y”y D¨¤GÒ+Ð+Ð+Ð+õ
 )¨¯ª©¬°D¸´GÑ<Ô<‘��eå §¢¨¡¤Ð/�Ý §¢ t¡¤Ð-�ð �=Ø�EØå" E§K¢K°°D±Ñ$9Ô$9Ð:�Ý" E§K¢K°¡N¤NÐ3��àˆyØ�Øõ ˜4‘[”[ð .ð .�Ý §¢¨¡¤Ð-��å˜AŸGšG E™NœNÐ+ˆA‰Aàˆ9Ý˜2‘”ˆAàˆrE   ú[ú]c                 ó¢   — |                       |¦  «        }|                     ¦   «         dz  |_        t          |                     ||¦  «        Ž }|S )Nr§   )rž  r:  r«   r   r]   )rB   rU   ÚlparensÚrparensrœ  s        rD   Ú_print_MatrixBasezPrettyPrinter._print_MatrixBaseù  sE   € Ø×'Ò'¨Ñ*Ô*ˆØ—X’X‘Z”Z ‘]ˆŒ
Ý˜Ÿš ¨'Ñ2Ô2Ð3ˆØˆrE   c                 óP  — |j         }|j        r�ddlm} t	          ||¦  «        r|                      |j        dd¬¦  «        S |                      |¦  «        }|                     ¦   «         dz  |_	        t          |                     dd¦  «        Ž S |                      |dd¬¦  «        S )Nr   ©ÚBlockMatrixrò   )r¢  r£  r§   )rË   Úis_MatrixExprÚ&sympy.matrices.expressions.blockmatrixr§  r<   r¤  ÚblocksrP   r:  r«   r   r]   )rB   rU   Úmatr§  rœ  s        rD   Ú_print_Determinantz PrettyPrinter._print_Determinantÿ  s¯   € ØŒeˆØÔð 	IØJÐJÐJÐJÐJÐJÝ˜#˜{Ñ+Ô+ð TØ×-Ò-¨c¬jÀ#ÈsÐ-ÑSÔSÐSØ—’˜CÑ Ô ˆAØŸš™œ Q™ˆAŒJÝ˜qŸxšx¨¨SÑ1Ô1Ð2Ð2à×)Ò)¨#°sÀCÐ)ÑHÔHÐHrE   c                 óZ   — | j         rd}nd}|                      |j        d d |d„ ¬¦  «        S )Nu   âŠ—ú.*c                 ó>   — t          | ¦  «        t          d         k    S ©Nr   ©r   r   ©rž   s    rD   ú<lambda>z4PrettyPrinter._print_TensorProduct.<locals>.<lambda>  ó   € Õ#9¸!Ñ#<Ô#<Å
È5Ô@QÒ#Q€ rE   ©Úparenthesize©rM   r[   r\   )rB   rJ   Úcircled_timess      rD   Ú_print_TensorProductz"PrettyPrinter._print_TensorProduct  sG   € àÔð 	!Ø$ˆMˆMà ˆMØ�Š˜tœy¨$°°mØQÐQð ñ Sô Sð 	SrE   c                 óZ   — | j         rd}nd}|                      |j        d d |d„ ¬¦  «        S )Nu   âˆ§z/\c                 ó>   — t          | ¦  «        t          d         k    S r°  r±  r²  s    rD   r³  z3PrettyPrinter._print_WedgeProduct.<locals>.<lambda>  r´  rE   rµ  r·  )rB   rJ   Úwedge_symbols      rD   Ú_print_WedgeProductz!PrettyPrinter._print_WedgeProduct  sG   € àÔð 	!Ø#ˆLˆLà ˆLØ�Š˜tœy¨$°°lØQÐQð ñ Sô Sð 	SrE   c                 óä   — |                       |j        ¦  «        }t          |                     dd¦  «        Ž }|                     ¦   «         dz  |_        t          |                     d¦  «        Ž }|S )Nro   rp   r§   Útr)rP   rË   r   r]   r:  r«   r^   )rB   rU   rœ  s      rD   Ú_print_TracezPrettyPrinter._print_Trace  s[   € Ø�KŠK˜œÑÔˆÝ˜Ÿš  SÑ)Ô)Ð*ˆØ—X’X‘Z”Z ‘]ˆŒ
Ý˜Ÿš˜Ñ/Ô/Ð0ˆØˆrE   c                 ó<  — ddl m} t          |j        |¦  «        rV|j        j        rJ|j        j        r>|                      t          |j        j	        d|j        |j        fz  z   ¦  «        ¦  «        S |                      |j        ¦  «        }t          |                     ¦   «         Ž }|                      |j        |j        fd¬¦  «                             dd¬¦  «        d         }t          t          j        ||¦  «        d	t          j        iŽ}||_        ||_        |S )
Nr   ©ÚMatrixSymbolz_%d%dú, ©Ú	delimiterrŸ  r   ©r^   ru   r³   )Úsympy.matricesrÃ  r<   Úparentr.   Ú	is_numberr:   rP   r   rc   r   r]   r[   r   r·   r  Ú
prettyFuncÚ
prettyArgs)rB   rJ   rÃ  rË  ÚprettyIndicesr`   s         rD   Ú_print_MatrixElementz"PrettyPrinter._print_MatrixElement%  s$  € Ø/Ð/Ð/Ð/Ð/Ð/Ý�t”{ LÑ1Ô1ð 	Ø”FÔ$ð	Ø)-¬Ô)9ð	à—;’;Ý˜4œ;Ô+¨g¸¼ÀÄÐ8HÑ.HÑHÑIÔIñKô Kð Kð Ÿš T¤[Ñ1Ô1ˆJÝ# Z×%6Ò%6Ñ%8Ô%8Ð9ˆJØ ŸOšO¨T¬V°T´VÐ,<È˜Oñ ô ß’f #¨S�fÑ1Ô1°!ô5ˆMåÝ”_ Z°Ñ?Ô?ðA¥z¤ð Að AˆEð  *ˆEÔØ,ˆEÔàˆLrE   c                 óì  ‡ — ddl m} ‰                      |j        ¦  «        }t	          |j        |¦  «        st          |                     ¦   «         Ž }ˆ fd„}‰                       ||j        |j        j	        ¦  «         ||j
        |j        j        ¦  «        fd¬¦  «                             dd¬¦  «        d         }t          t          j        ||¦  «        d	t
          j        iŽ}||_        ||_        |S )
Nr   rÂ  c                 óÀ   •— t          | ¦  «        } | d         dk    r| d= | d         dk    rd| d<   | d         |k    rd| d<   t          ‰                     | d¬¦  «        Ž S )Nr§   rk   r   r  ú:rÅ  )r  r   r[   )rž   ÚdimrB   s     €rD   Úppslicez1PrettyPrinter._print_MatrixSlice.<locals>.ppslice@  si   ø€ Ý�Q‘”ˆAØ�Œt�qŠyˆyØ�a�DØ�Œt�qŠyˆyØ��!‘Ø�Œt�sŠ{ˆ{Ø��!‘Ý˜tŸš¨q¸C˜Ñ@Ô@ÐAÐArE   rÄ  rÅ  rŸ  r   rÇ  r³   )rÈ  rÃ  rP   rÉ  r<   r   r]   r[   Úrowslicer–  Úcolslicer—  r   r·   r  rË  rÌ  )rB   ÚmrÃ  rË  rÓ  rÌ  r`   s   `      rD   Ú_print_MatrixSlicez PrettyPrinter._print_MatrixSlice:  s  ø€ à/Ð/Ð/Ð/Ð/Ð/Ø—[’[ ¤Ñ*Ô*ˆ
Ý˜!œ( LÑ1Ô1ð 	:Ý# Z×%6Ò%6Ñ%8Ô%8Ð9ˆJð	Bð 	Bð 	Bð 	Bð 	Bð —_’_ g g¨a¬j¸!¼(¼-Ñ&HÔ&HØˆG�A”J ¤¤Ñ.Ô.ð&0Ø;?ð %ñ Aô AßAGÂÈSÐX[ÀÑA\ÔA\Ð]^ô`ˆ
õ Ý&0¤o°jÀ*Ñ&MÔ&MðOÝ”OðOð Oˆð &ˆÔØ%ˆÔàˆrE   c                 óö   — |j         }|                      |¦  «        }ddlm}m} t          ||¦  «        s2t          ||¦  «        s"|j        rt          |                     ¦   «         Ž }|t          d¦  «        z  }|S )Nr   ©rÃ  r§  ÚT)	rË   rP   rÈ  rÃ  r§  r<   r¨  r   r]   )rB   rJ   r«  r`   rÃ  r§  s         rD   Ú_print_TransposezPrettyPrinter._print_TransposeU  sˆ   € ØŒhˆØ—’˜CÑ Ô ˆØ<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ý˜3 Ñ-Ô-ð 	0Ý˜3 Ñ,Ô,ð	0Ø14Ô1Bð	0å §¢¡¤Ð/ˆEØ�
 3™œÑ(ˆØˆrE   c                 óB  — |j         }|                      |¦  «        }| j        rt          t	          d¦  «        ¦  «        }nt          d¦  «        }ddlm}m} t          ||¦  «        s2t          ||¦  «        s"|j	        rt          | 
                    ¦   «         Ž }||z  }|S )NÚDaggerrƒ  r   rÙ  )rË   rP   rM   r   r    rÈ  rÃ  r§  r<   r¨  r]   )rB   rJ   r«  r`   ÚdagrÃ  r§  s          rD   Ú_print_AdjointzPrettyPrinter._print_Adjoint_  s®   € ØŒhˆØ—’˜CÑ Ô ˆØÔð 	"Ý�[¨Ñ2Ô2Ñ3Ô3ˆCˆCå˜S‘/”/ˆCØ<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ý˜3 Ñ-Ô-ð 	0Ý˜3 Ñ,Ô,ð	0Ø14Ô1Bð	0å §¢¡¤Ð/ˆEØ�s‘
ˆØˆrE   c                 ó–   — |j         j        dk    r |                      |j         d         ¦  «        S |                      |j         ¦  «        S )N©rk   rk   ©r   r   )rª  ÚshaperP   )rB   ÚBs     rD   Ú_print_BlockMatrixz PrettyPrinter._print_BlockMatrixm  s=   € ØŒ8Œ>˜VÒ#Ð#Ø—;’;˜qœx¨œ~Ñ.Ô.Ð.Ø�{Š{˜1œ8Ñ$Ô$Ð$rE   c                 óœ  — d }|j         D ]Á}|                      |¦  «        }|€|}Œ|                     ¦   «         d         }t          |¦  «                             ¦   «         r2t          t          j        |d¦  «        Ž }|                      |¦  «        }nt          t          j        |d¦  «        Ž }t          t          j        ||¦  «        Ž }ŒÂ|S )Nr   r¦   ú + )r\   rP   Úas_coeff_mmulr   Úcould_extract_minus_signr   r   r·   )rB   rJ   r  Úitemr`   Úcoeffs         rD   Ú_print_MatAddzPrettyPrinter._print_MatAddr  sÁ   € ØˆØ”Ið 	;ð 	;ˆDØ—K’K Ñ%Ô%ˆEØˆyØ��à×*Ò*Ñ,Ô,¨QÔ/�Ý�U‘8”8×4Ò4Ñ6Ô6ð ?Ý"¥J¤O°A°sÑ$;Ô$;Ð<�AØ ŸKšK¨Ñ-Ô-�E�Eå"¥J¤O°A°uÑ$=Ô$=Ð>�AÝ¥
¤°°5Ñ 9Ô 9Ð:��àˆrE   c                 óŠ  — t          |j        ¦  «        }ddlm} ddlm} ddlm} t          |¦  «        D ]€\  }}t          |t          |||f¦  «        rJt          |j        ¦  «        dk    r2t          |                      |¦  «                             ¦   «         Ž ||<   Œh|                      |¦  «        ||<   Œ�t          j        |Ž S )Nr   ©ÚHadamardProduct)ÚKroneckerProduct©ÚMatAddrk   )r  r\   Ú#sympy.matrices.expressions.hadamardrï  Ú$sympy.matrices.expressions.kroneckerrð  Ú!sympy.matrices.expressions.mataddrò  Ú	enumerater<   r   r(  r   rP   r]   Ú__mul__)rB   rJ   r\   rï  rð  rò  r.   Úas           rD   Ú_print_MatMulzPrettyPrinter._print_MatMulƒ  sÖ   € Ý�D”I‰ŒˆØGÐGÐGÐGÐGÐGØIÐIÐIÐIÐIÐIØ<Ð<Ð<Ð<Ð<Ð<Ý˜d‘O”Oð 	)ð 	)‰DˆAˆqÝ˜1�s F¨OÐ=MÐNÑOÔOð )Ý˜DœI™œ¨Ò*Ð*Ý$ d§k¢k°!¡n¤n×&;Ò&;Ñ&=Ô&=Ð>��Q‘�àŸ+š+ a™.œ.��Q‘�åÔ! 4Ð(Ð(rE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )NÚIdentityMatrixÚI©rM   r   r    rI   s     rD   Ú_print_IdentityzPrettyPrinter._print_Identity‘  s0   € ØÔð 	#Ý�kÐ*:Ñ;Ô;Ñ<Ô<Ð<å˜c‘?”?Ð"rE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )NÚ
ZeroMatrixÚ0rý  rI   s     rD   Ú_print_ZeroMatrixzPrettyPrinter._print_ZeroMatrix—  s/   € ØÔð 	#Ý�k¨,Ñ7Ô7Ñ8Ô8Ð8å˜c‘?”?Ð"rE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )NÚ	OneMatrixÚ1rý  rI   s     rD   Ú_print_OneMatrixzPrettyPrinter._print_OneMatrix�  s/   € ØÔð 	#Ý�k¨+Ñ6Ô6Ñ7Ô7Ð7å˜c‘?”?Ð"rE   c                 ó    — t          |j        ¦  «        }t          |¦  «        D ]\  }}|                      |¦  «        ||<   Œt	          j        |Ž S rG   )r  r\   rö  rP   r   r÷  ©rB   rJ   r\   r.   rø  s        rD   Ú_print_DotProductzPrettyPrinter._print_DotProduct£  sK   € Ý�D”I‰Œˆå˜d‘O”Oð 	%ð 	%‰DˆAˆqØ—k’k !‘n”nˆD�‰GˆGÝÔ! 4Ð(Ð(rE   c                 óø   — |                       |j        ¦  «        }ddlm} t	          |j        |¦  «        s'|j        j        rt          |                     ¦   «         Ž }||                       |j        ¦  «        z  }|S )Nr   rÂ  )	rP   ÚbaserÈ  rÃ  r<   r¨  r   r]   Úexp)rB   rJ   r`   rÃ  s       rD   Ú_print_MatPowzPrettyPrinter._print_MatPowª  sv   € Ø—’˜DœIÑ&Ô&ˆØ/Ð/Ð/Ð/Ð/Ð/Ý˜$œ) \Ñ2Ô2ð 	0°t´yÔ7Nð 	0Ý §¢¡¤Ð/ˆEØ˜Ÿš D¤HÑ-Ô-Ñ.ˆØˆrE   c           	      ó¦   ‡‡‡— ddl mŠ ddlmŠ ddlmŠ | j        rt          d¦  «        }nd}|                      |j	        d d |ˆˆˆfd„¬¦  «        S )	Nr   rî  rñ  ©ÚMatMulÚRingr®  c                 ó*   •— t          | ‰‰‰f¦  «        S rG   ©r<   )rž   rï  rò  r  s    €€€rD   r³  z6PrettyPrinter._print_HadamardProduct.<locals>.<lambda>»  s   ø€ ¥z°!°f¸fÀoÐ5VÑ'WÔ'W€ rE   rµ  )
ró  rï  rõ  rò  Ú!sympy.matrices.expressions.matmulr  rM   r    r[   r\   )rB   rJ   Údelimrï  rò  r  s      @@@rD   Ú_print_HadamardProductz$PrettyPrinter._print_HadamardProduct²  s”   øøø€ ØGÐGÐGÐGÐGÐGØ<Ð<Ð<Ð<Ð<Ð<Ø<Ð<Ð<Ð<Ð<Ð<ØÔð 	Ý Ñ'Ô'ˆEˆEàˆEØ�Š˜tœy¨$°°eØWÐWÐWÐWÐWÐWð ñ Yô Yð 	YrE   c                 óš  — | j         rt          d¦  «        }n|                      d¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }t          |j        ¦  «        t          d         k     rt          |                     ¦   «         Ž }t          t          j
        ||¦  «        dt          j        iŽ}||z  S )Nr  ú.r   r³   )rM   r    rP   r  r  r   r   r   r]   r   r·   r  )rB   rJ   ÚcircÚpretty_baseÚ
pretty_expÚpretty_circ_exps         rD   Ú_print_HadamardPowerz"PrettyPrinter._print_HadamardPower½  s¸   € àÔð 	$Ý˜vÑ&Ô&ˆDˆDà—;’;˜sÑ#Ô#ˆDØ—k’k $¤)Ñ,Ô,ˆØ—[’[ ¤Ñ*Ô*ˆ
Ý�d”hÑÔ¥*¨UÔ"3Ò3Ð3Ý# Z×%6Ò%6Ñ%8Ô%8Ð9ˆJÝ$åŒ_˜T :Ñ.Ô.ð
Ý”Oð
ð 
ˆð ˜OÑ+Ð+rE   c                 óž   ‡‡— ddl mŠ ddlmŠ | j        rdt          d¦  «        › d�}nd}|                      |j        d d |ˆˆfd„¬¦  «        S )	Nr   rñ  r  r¦   ÚTensorProductz x c                 ó(   •— t          | ‰‰f¦  «        S rG   r  )rž   rò  r  s    €€rD   r³  z7PrettyPrinter._print_KroneckerProduct.<locals>.<lambda>Õ  s   ø€ ¥z°!°f¸fÐ5EÑ'FÔ'F€ rE   rµ  )rõ  rò  r  r  rM   r    r[   r\   )rB   rJ   r  rò  r  s      @@rD   Ú_print_KroneckerProductz%PrettyPrinter._print_KroneckerProductÍ  s‰   øø€ Ø<Ð<Ð<Ð<Ð<Ð<Ø<Ð<Ð<Ð<Ð<Ð<ØÔð 	Ø7� OÑ4Ô4Ð7Ð7Ð7ˆEˆEàˆEØ�Š˜tœy¨$°°eØFÐFÐFÐFÐFð ñ Hô Hð 	HrE   c                 ó~   — |                       |j        j        ¦  «        }t          |                     dd¦  «        Ž }|S ©NrŸ  r   )rP   ÚlamdarJ   r   r]   )rB   ÚXrœ  s      rD   Ú_print_FunctionMatrixz#PrettyPrinter._print_FunctionMatrix×  s4   € Ø�KŠK˜œœÑ%Ô%ˆÝ˜Ÿš  cÑ*Ô*Ð+ˆØˆrE   c                 ó  — |j         dk    sE|j         |j        }}t          |t          |dd¬¦  «        d¬¦  «        }|                      |¦  «        S |                      d¦  «        |                      |j        ¦  «        z  S )Nrk   r�  F©Úevaluate)r
  Údenr   r   Ú
_print_MulrP   )rB   rJ   r
  r*  Úress        rD   Ú_print_TransferFunctionz%PrettyPrinter._print_TransferFunctionÜ  sr   € ØŒx˜1Š}ˆ}Ø”x ¤�ˆCÝ�c�3˜s B°Ð7Ñ7Ô7À%ÐHÑHÔHˆCØ—?’? 3Ñ'Ô'Ð'à—;’;˜q‘>”> $§+¢+¨d¬hÑ"7Ô"7Ñ7Ð7rE   c                 óÜ   — t          |j        ¦  «        }t          |j        ¦  «        D ]6\  }}t          |                      |¦  «                             ¦   «         Ž ||<   Œ7t          j        |Ž S rG   )r  r\   rö  r   rP   r]   r÷  r  s        rD   Ú_print_SerieszPrettyPrinter._print_Seriesä  s`   € Ý�D”I‰ŒˆÝ˜dœiÑ(Ô(ð 	;ð 	;‰DˆAˆqÝ  $§+¢+¨a¡.¤.×"7Ò"7Ñ"9Ô"9Ð:ˆD�‰GˆGÝÔ! 4Ð(Ð(rE   c                 ó  — ddl m} t          |j        ¦  «        }g }t	          |¦  «        D ]Ð}t          ||¦  «        rxt          |j        ¦  «        dk    r`|                      |¦  «        }|                     ¦   «         dz  |_	        | 
                    t          |                     ¦   «         Ž ¦  «         ŒŠ|                      |¦  «        }|                     ¦   «         dz  |_	        | 
                    |¦  «         ŒÑt          j        |Ž S )Nr   )ÚMIMOParallelrk   r§   )Úsympy.physics.control.ltir1  r  r\   r   r<   r(  rP   r:  r«   rN  r   r]   r÷  )rB   rJ   r1  r\   Úpretty_argsrø  Ú
expressions          rD   Ú_print_MIMOSerieszPrettyPrinter._print_MIMOSeriesê  sü   € Ø:Ð:Ð:Ð:Ð:Ð:Ý�D”I‰ŒˆØˆÝ˜$‘”ð 	/ð 	/ˆAÝ˜1˜lÑ+Ô+ð /µ°D´I±´ÀÒ0BÐ0BØ!Ÿ[š[¨™^œ^�
Ø&0×&7Ò&7Ñ&9Ô&9¸1Ñ&<�
Ô#Ø×"Ò"¥:¨z×/@Ò/@Ñ/BÔ/BÐ#CÑDÔDÐDÐDà!Ÿ[š[¨™^œ^�
Ø&0×&7Ò&7Ñ&9Ô&9¸1Ñ&<�
Ô#Ø×"Ò" :Ñ.Ô.Ð.Ð.ÝÔ! ;Ð/Ð/rE   c                 ó0  — d }|j         D ]‹}|                      |¦  «        }|€|}Œt          t          j        |¦  «        Ž }|                     ¦   «         dz  |_        t          t          j        |d¦  «        Ž }t          t          j        ||¦  «        Ž }ŒŒ|S )Nr§   rç  )r\   rP   r   r   r·   r:  r«   )rB   rJ   r  rê  r`   s        rD   Ú_print_ParallelzPrettyPrinter._print_Parallelù  s�   € ØˆØ”Ið 	;ð 	;ˆDØ—K’K Ñ%Ô%ˆEØˆyØ��å¥
¤°Ñ 2Ô 2Ð3�ØŸXšX™ZœZ¨™]�”
Ý¥
¤°°5Ñ 9Ô 9Ð:�Ý¥
¤°°5Ñ 9Ô 9Ð:��ØˆrE   c                 ó”  — ddl m} d }|j        D ]·}|                      |¦  «        }|€|}Œt	          t          j        |¦  «        Ž }|                     ¦   «         dz  |_        t	          t          j        |d¦  «        Ž }t          ||¦  «        r|                     ¦   «         dz
  |_        t	          t          j        ||¦  «        Ž }Œ¸|S )Nr   )ÚTransferFunctionMatrixr§   rç  rk   )
r2  r9  r\   rP   r   r   r·   r:  r«   r<   )rB   rJ   r9  r  rê  r`   s         rD   Ú_print_MIMOParallelz!PrettyPrinter._print_MIMOParallel  sÇ   € ØDÐDÐDÐDÐDÐDØˆØ”Ið 
	;ð 
	;ˆDØ—K’K Ñ%Ô%ˆEØˆyØ��å¥
¤°Ñ 2Ô 2Ð3�ØŸXšX™ZœZ¨™]�”
Ý¥
¤°°5Ñ 9Ô 9Ð:�Ý˜dÐ$:Ñ;Ô;ð 0Ø!"§¢¡¤¨a¡�A”JÝ¥
¤°°5Ñ 9Ô 9Ð:��àˆrE   c                 óV  — ddl m}m} |j         |dd|j        ¦  «        }}t          ||¦  «        rt          |j        ¦  «        n|g}t          |j        |¦  «        rt          |j        j        ¦  «        n|j        g}t          ||¦  «        r t          |j        |¦  «        r |g |¢|¢R Ž }n¨t          ||¦  «        r6t          |j        |¦  «        r!|j        |k    r ||Ž }nr |g |¢|j        ‘R Ž }nbt          ||¦  «        r+t          |j        |¦  «        r||k    r ||Ž }n1 ||g|¢R Ž }n'||k    r ||Ž }n|j        |k    r ||Ž }n
 |g |¢|¢R Ž }t          t          j        |                      |¦  «        ¦  «        Ž }	|	                     ¦   «         dz  |	_        |j        dk    rt          t          j        |	d¦  «        Ž nt          t          j        |	d¦  «        Ž }	t          t          j        |	|                      |¦  «        ¦  «        Ž }	|                      |¦  «        |	z  S )Nr   )ÚTransferFunctionÚSeriesrk   r§   r�  rç  ú - )Úsympy.physics.controlr<  r=  Úsys1Úvarr<   r  r\   Úsys2r   r   r·   rP   r:  r«   Úsign)
rB   rJ   r<  r=  r
  ÚtfÚnum_arg_listÚden_arg_listr*  Údenoms
             rD   Ú_print_FeedbackzPrettyPrinter._print_Feedback  so  € ØBÐBÐBÐBÐBÐBÐBÐBà”)Ð-Ð-¨a°°D´HÑ=Ô=ˆRˆÝ)3°C¸Ñ)@Ô)@ÐK•t˜CœH‘~”~�~ÀsÀeˆå�t”y &Ñ)Ô)ð;•t˜DœIœNÑ+Ô+Ð+Ø04´	¨{ð 	õ �c˜6Ñ"Ô"ð 	;¥z°$´)¸VÑ'DÔ'Dð 	;Ø�&Ð6˜,Ð6¨Ð6Ð6Ð6ˆCˆCÝ˜˜VÑ$Ô$ð 	;­°D´IÐ?OÑ)PÔ)Pð 	;ØŒy˜BŠˆØ�f˜lÐ+��à�fÐ6˜lÐ6¨D¬IÐ6Ð6Ð6��Ý˜Ð-Ñ.Ô.ð 	;µ:¸d¼iÈÑ3PÔ3Pð 	;Ø�bŠyˆyØ�f˜lÐ+��à�f˜SÐ0 <Ð0Ð0Ð0��à�bŠyˆyØ�f˜lÐ+��Ø”˜b’�Ø�f˜lÐ+��à�fÐ:˜lÐ:¨\Ð:Ð:Ð:�å�JœO¨D¯KªK¸©O¬OÑ<Ô<Ð=ˆØŸš™œ¨Ñ*ˆŒØ>B¼iÈ2ºo¸o•
�JœO¨E°5Ñ9Ô9Ð:Ð:Ý�Zœ_¨U°EÑ:Ô:Ð;ð 	å�JœO¨E°4·;²;¸sÑ3CÔ3CÑDÔDÐEˆà�{Š{˜3ÑÔ Ñ%Ð%rE   c                 óê  — ddl m}m} |                       ||j        |j        ¦  «        ¦  «        }|                      |j        ¦  «        }t          t          j        |¦  «        Ž }|j	        dk    rt          t          j
        d|¦  «        Ž nt          t          j
        d|¦  «        Ž }t          t          j        |¦  «        Ž }d|_        t          t          j
        |d¦  «        Ž }|                     ¦   «         dz  |_        t          j        |t          d¦  «        ¦  «        }t          |j        |¦  «        r|                     ¦   «         d	z
  |_        t          t          j        ||¦  «        Ž }|S )
Nr   )Ú
MIMOSeriesr9  r�  zI + zI - z-1 r§   r¦   rk   )r?  rJ  r9  rP   rB  r@  r   r   r·   rC  ru   r]   r«   r:  r÷  r<   )rB   rJ   rJ  r9  Úinv_matÚplantÚ	_feedbacks          rD   Ú_print_MIMOFeedbackz!PrettyPrinter._print_MIMOFeedback;  sN  € ØLÐLÐLÐLÐLÐLÐLÐLà—+’+˜j˜j¨¬°D´IÑ>Ô>Ñ?Ô?ˆØ—’˜DœIÑ&Ô&ˆÝ¥
¤°Ñ 8Ô 8Ð9ˆ	ØHLÌ	ÐUWÊÈ•J¥
Ô 0°¸Ñ CÔ CÐDÐDÝ�ZÔ-¨f°iÑ@Ô@ÐAð 	å¥
Ô 1°)Ñ <Ô <Ð=ˆ	Øˆ	ÔÝ¥
Ô 0°¸EÑ BÔ BÐCˆ	Ø&×-Ò-Ñ/Ô/°Ñ2ˆ	ÔÝÔ& yµ*¸S±/´/ÑBÔBˆ	Ý�d”iÐ!7Ñ8Ô8ð 	8Ø!*×!1Ò!1Ñ!3Ô!3°aÑ!7ˆIÔÝ¥
¤°	¸5Ñ AÔ AÐBˆ	ØÐrE   c                 óÖ   — |                       |j        ¦  «        }|                     ¦   «         dz
  |_        | j        rt
          d         nd}t          |                     |¦  «        Ž }|S )Nrk   Útauz{t})rP   Ú	_expr_matr:  r«   rM   r"   r   ru   )rB   rJ   r«  Ú	subscripts       rD   Ú_print_TransferFunctionMatrixz+PrettyPrinter._print_TransferFunctionMatrixM  s[   € Ø�kŠk˜$œ.Ñ)Ô)ˆØ—z’z‘|”| aÑ'ˆŒØ,0Ô,=ÐI•M %Ô(Ð(À6ˆ	Ý˜#Ÿ)š) IÑ.Ô.Ð/ˆØˆ
rE   c                 óœ   — ddl m} |j        }|j        }|j        }|j        } |||g||gg¦  «        }|                      |j        ¦  «        S )Nr   r¦  )r©  r§  Ú_AÚ_BÚ_CÚ_DrP   rª  )rB   rJ   r§  ÚArä  ÚCrœ  r«  s           rD   Ú_print_StateSpacezPrettyPrinter._print_StateSpaceT  s`   € ØFÐFÐFÐFÐFÐFØŒGˆØŒGˆØŒGˆØŒGˆØˆk˜A˜q˜6 A q 6Ð*Ñ+Ô+ˆØ�{Š{˜3œ:Ñ&Ô&Ð&rE   c                 ó(  — ddl m} | j        st          d¦  «        ‚||j        k    rt          |j        j        ¦  «        S g }g }t          ||¦  «        r'|                     ¦   «          	                    ¦   «         }nd|fg}|D ]ù\  }}t          |j         	                    ¦   «         ¦  «        }|                     d„ ¬¦  «         |D ]´\  }	}
|
dk    r|                     d|	j        z   ¦  «         nq|
dk    r|                     d	|	j        z   ¦  «         nM|                      |
¦  «                             ¦   «         d         }|                     |d
z   |	j        z   ¦  «         |                     |	j        ¦  «         ŒµŒú|d                              d¦  «        r|d         dd …         |d<   n.|d                              d
¦  «        r|d         dd …         |d<   g }dg}g }t#          |¦  «        D �]O\  }}|                     d¦  «         d|v �r/|}|                     ||         d¦  «        }t'          dd¦  «        |v r…t)          t+          |¦  «        ¦  «        D ]g}d||<   ||         t'          dd¦  «        k    rF||dz            dk    r7|d |…         t'          dd¦  «        z   d
z   ||         z   ||dz   d …         z   } nŒhnut'          dd¦  «        |v rc|                     t'          dd¦  «        ¦  «        }|dk    r:d||<   |d |…         t'          dd¦  «        z   d
z   ||         z   ||dz   d …         z   }|||<   �ŒQd„ |D ¦   «         }t/          d„ |D ¦   «         ¦  «        }d|v rYt#          |¦  «        D ]I\  }}t+          |¦  «        dk    r1|                     dd
t+          |d         ¦  «        z  ¦  «         d||<   ŒJt#          |¦  «        D �]”\  }}|                     t+          |||                  ¦  «        ¦  «         t)          |¦  «        D �]O}|dz   t+          |¦  «        k    rÄ|t+          |¦  «        k    rC|                     d
t3          |d d…         ¦  «        dt+          |¦  «        dz
  z  z   z  ¦  «         |||         k    r&|||         xx         |||                  dz   z  cc<   Œ¡||xx         ||         d
|d         t+          ||         ¦  «        z
  dz   z  z   z  cc<   ŒÝ|t+          |¦  «        k    rC|                     d
t3          |d d…         ¦  «        dt+          |¦  «        dz
  z  z   z  ¦  «         ||xx         d
|d         dz   z  z  cc<   �ŒQ�Œ–t          d                     d„ |D ¦   «         ¦  «        ¦  «        S )Nr   )ÚVectorz:ASCII pretty printing of BasisDependent is not implementedc                 ó6   — | d                               ¦   «         S ©Nr   )Ú__str__r²  s    rD   r³  z5PrettyPrinter._print_BasisDependent.<locals>.<lambda>m  s   € ¨A¨a¬D¯LªL©N¬N€ rE   rÎ   rk   r  r�  z(-1) r¦   rç  r5  ú
z)_extz)_lower_hookc                 ó8   — g | ]}|                      d ¦  «        ‘ŒS )ra  )Úsplit©r“  rž   s     rD   r•  z7PrettyPrinter._print_BasisDependent.<locals>.<listcomp>¥  s"   € Ð(Ð(Ð( ˆa�gŠg�d‰mŒmÐ(Ð(Ð(rE   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rG   )r(  rd  s     rD   ú	<genexpr>z6PrettyPrinter._print_BasisDependent.<locals>.<genexpr>¦  s(   è è € Ð,Ð, A�˜Q™œÐ,Ð,Ð,Ð,Ð,Ð,rE   c                 ó"   — g | ]}|d d…         ‘ŒS )NéýÿÿÿrO   )r“  r  s     rD   r•  z7PrettyPrinter._print_BasisDependent.<locals>.<listcomp>Á  s    € Ð$:Ð$:Ð$:° Q s¨ s¤VÐ$:Ð$:Ð$:rE   )Úsympy.vectorr]  rM   ÚNotImplementedErrorÚzeror   Ú_pretty_formr<   ÚseparateÚitemsr  Ú
componentsrÓ   rN  rP   r]   Ú
startswithrö  r  r   r'  r(  Úrfindr¨   Úinsertrs  Újoin)rB   rJ   r]  Úo1Úvectstrsrn  ÚsystemÚvectÚ
inneritemsr­   ÚvÚarg_strÚlengthsÚstrsÚflagr.   ÚpartstrÚtempstrÚparenÚindexÚ
n_newlinesÚpartsr:   s                          rD   Ú_print_BasisDependentz#PrettyPrinter._print_BasisDependent]  s:  € Ø'Ð'Ð'Ð'Ð'Ð'àÔ ð 	dÝ%Ð&bÑcÔcÐcà�4”9ÒÐÝ˜dœiÔ4Ñ5Ô5Ð5ØˆØˆÝ�d˜FÑ#Ô#ð 	 Ø—M’M‘O”O×)Ò)Ñ+Ô+ˆEˆEà˜�Y�KˆEØ!ð 	0ð 	0‰LˆF�DÝ˜dœo×3Ò3Ñ5Ô5Ñ6Ô6ˆJØ�OŠOÐ":Ð":ˆOÑ;Ô;Ð;Ø"ð 0ð 0‘��1ð ˜’6�6Ø—I’I˜bØœnñ-ñ .ô .ð .ð .ð ˜"’W�WØ—I’I˜gØœnñ-ñ .ô .ð .ð .ð #ŸkškØñô ß!š6™8œ8 Aô'�Gð —I’I˜g¨™m¨a¬nÑ<Ñ=Ô=Ð=Ø—’ ¤Ñ/Ô/Ð/Ð/ð%0ð* ˆaŒ5×Ò˜EÑ"Ô"ð 	Ø�q”E˜!˜"˜"”IˆBˆq‰EˆEØ�ŒU×Ò˜cÑ"Ô"ð 	Ø�q”E˜!˜"˜"”IˆBˆq‰EàˆØˆtˆØˆÝ# B™-œ-ð 	 ñ 	 ‰JˆAˆwØ�KŠK˜‰NŒNˆNà�wˆ‰Ø!�Ø!Ÿ/š/¨(°1¬+°rÑ:Ô:�Ý˜ Ñ#Ô# wÐ.Ð.Ý!&¥s¨7¡|¤|Ñ!4Ô!4ð "ð "˜Ø"#˜˜Q™Ø" 5œ>­T°'¸1Ñ-=Ô-=Ò=Ð=À'È%ÐRSÉ)ÔBTÐX\ÒB\ÐB\ð '.¨f¨u¨f¤o½¸WÀaÑ8HÔ8HÑ&HØ+.ñ'/Ø2:¸1´+ñ'>Ø@GÈÐPQÉ	È
È
Ô@Sñ'T˜Gà!˜EøøÝ˜.¨!Ñ,Ô,°Ð7Ð7ð $ŸMšM­$¨~¸qÑ*AÔ*AÑBÔB�EØ ’{�{Ø"#˜˜Q™Ø")¨&¨5¨&¤/µD¸ÈÑ4KÔ4KÑ"KØ'*ñ#+Ø.6°q¬kñ#:Ø<CÀEÈAÁIÀJÀJÔ<Oñ#P˜à��1‘ùà(Ð( RÐ(Ñ(Ô(ˆÝÐ,Ð,¨Ð,Ñ,Ô,Ñ,Ô,ˆ
à�ˆ9ˆ9Ý% b™MœMð  ð  ‘��5Ý�u‘:”: ’?�?Ø—L’L  C­3¨u°Q¬x©=¬=Ñ$9Ñ:Ô:Ð:Ø�D˜‘Gøå! "™œð 	3ñ 	3‰HˆAˆuØ�NŠN�3˜u T¨!¤Wœ~Ñ.Ô.Ñ/Ô/Ð/Ý˜:Ñ&Ô&ð 3ñ 3�Ø�Q‘3�#˜e™*œ*Ò$Ð$Ø�C ™IœI’~�~ØŸš C­3¨w°s¸°s¬|Ñ+<Ô+<Ø+,­c°'©l¬l¸1©nÑ+=ñ,>ñ %?ñ @ô @ð @à˜D œG’|�|Ø˜T !œW˜˜œ¨¨t°A¬w¬¸%Ñ)?Ñ?˜˜™˜à˜Q˜˜œ 5¨¤8¨c°7¸2´;Ý36°u¸Q´x±=´=ñ4Aà34ñ45ñ /6ñ $6ñ 6˜˜™˜ð �C ™IœI’~�~ØŸš C­3¨w°s¸°s¬|Ñ+<Ô+<Ø+,­c°'©l¬l¸1©nÑ+=ñ,>ñ %?ñ @ô @ð @à˜�G�G”G˜s G¨B¤K°¡MÑ2Ñ2�G�G‘G‘Gñ3õ" ˜$Ÿ)š)Ð$:Ð$:°TÐ$:Ñ$:Ô$:Ñ;Ô;Ñ<Ô<Ð<rE   c           	      óÞ  ‡	— ddl mŠ	 |                     ¦   «         dk    r|                      |d         ¦  «        S g gd„ t	          |                     ¦   «         ¦  «        D ¦   «         z   }d„ |j        D ¦   «         }ˆ	fd„}t          j        |Ž D �]}|d                              ||         ¦  «         d}t	          |                     ¦   «         d	z
  dd¦  «        D ]È}t          ||d	z            ¦  «        |j        |         k     r nž|r%||                              ||d	z            ¦  «         nk||                               |||d	z            ¦  «        ¦  «         t          ||d	z            ¦  «        d	k    r" |||         d         gg¦  «        ||         d<   | }g ||d	z   <   ŒÉ�Œ|d         d         }|                     ¦   «         d
z  d	k    r ||g¦  «        }|                      |¦  «        S )Nr   )ÚImmutableMatrixrO   c                 ó   — g | ]}g ‘ŒS rO   rO   ©r“  r.   s     rD   r•  z2PrettyPrinter._print_NDimArray.<locals>.<listcomp>É  s   € Ð;Ð;Ð; 1˜BÐ;Ð;Ð;rE   c                 óF   — g | ]}t          t          |¦  «        ¦  «        ‘ŒS rO   )r  r'  rˆ  s     rD   r•  z2PrettyPrinter._print_NDimArray.<locals>.<listcomp>Ê  s$   € Ð;Ð;Ð;¨1��U 1™XœX™œÐ;Ð;Ð;rE   c                 ó   •—  ‰| d¬¦  «        S )NFr(  rO   )rž   r†  s    €rD   r³  z0PrettyPrinter._print_NDimArray.<locals>.<lambda>Ì  s   ø€ ˜˜¨°EÐ:Ñ:Ô:€ rE   r�  Trk   r§   )
Úsympy.matrices.immutabler†  ÚrankrP   r'  rã  Ú	itertoolsÚproductrN  r(  )
rB   rJ   Ú	level_strÚshape_rangesr«  Úouter_iÚevenÚback_outer_iÚout_exprr†  s
            @rD   Ú_print_NDimArrayzPrettyPrinter._print_NDimArrayÃ  s   ø€ Ø<Ð<Ð<Ð<Ð<Ð<à�9Š9‰;Œ;˜!ÒÐØ—;’;˜t BœxÑ(Ô(Ð(à�DÐ;Ð;­¨d¯iªi©k¬kÑ(:Ô(:Ð;Ñ;Ô;Ñ;ˆ	Ø;Ð;°´
Ð;Ñ;Ô;ˆà:Ð:Ð:Ð:ˆÝ Ô(¨,Ð7ð 	/ñ 	/ˆGØ�bŒM× Ò   g¤Ñ/Ô/Ð/ØˆDÝ % d§i¢i¡k¤k°!¡m°R¸Ñ <Ô <ð /ð /�Ý�y ¨a¡Ô0Ñ1Ô1°D´J¸|Ô4LÒLÐLØ�EØð =Ø˜lÔ+×2Ò2°9¸\È!¹^Ô3LÑMÔMÐMÐMà˜lÔ+×2Ò2°3°3Ø! ,¨q¡.Ô1ñ43ô 43ñ 4ô 4ð 4å˜9 \°AÑ%5Ô6Ñ7Ô7¸1Ò<Ð<Ø69°cØ'¨Ô5°bÔ9Ð:Ð;ñ7=ô 7=˜	 ,Ô/°Ñ3à�x�Ø,.�	˜, q™.Ñ)Ð)ùà˜Q”< ”?ˆØ�9Š9‰;Œ;˜‰?˜aÒÐØ�s˜H˜:‘”ˆHà�{Š{˜8Ñ$Ô$Ð$rE   c           
      óæ  — t          |¦  «        }t          d|                     ¦   «         z  ¦  «        }t          d|                     ¦   «         z  ¦  «        }d }d }|D �]Ù}	|                      |	j        d         ¦  «        }
|	|v s|rK||	j        k    r@|	j        rt          t          j        |d¦  «        Ž }nt          t          j        |d¦  «        Ž }|	|v rTt          t          j        |
d¦  «        Ž }
t          t          j        |
|                      ||	         ¦  «        ¦  «        Ž }
d}nd}|	j        rt          |                     |
¦  «        Ž }t          |                     d|
                     ¦   «         z  ¦  «        Ž }t          |                     d|
                     ¦   «         z  ¦  «        Ž }n~t          |                     |
¦  «        Ž }t          |                     d|
                     ¦   «         z  ¦  «        Ž }t          |                     d|
                     ¦   «         z  ¦  «        Ž }|	j        }�ŒÛt          |                     |¦  «        Ž }t          | 	                    |¦  «        Ž }|S )Nr¦   r   r  ú=TF)
r   r©   rP   r\   Úis_upr   r·   ru   rª   r  )rB   rc   ÚindicesÚ	index_mapÚcenterÚtopÚbotÚlast_valenceÚprev_mapr�  ÚindpicÚpicts               rD   Ú_printer_tensor_indicesz%PrettyPrinter._printer_tensor_indicesä  s  € Ý˜DÑ!Ô!ˆÝ˜˜VŸ\š\™^œ^Ñ+Ñ,Ô,ˆÝ˜˜VŸ\š\™^œ^Ñ+Ñ,Ô,ˆàˆØˆàð 	'ñ 	'ˆEØ—[’[ ¤¨A¤Ñ/Ô/ˆFØ˜)Ð#Ð#¨Ð#°lÀeÄkÒ6QÐ6QØ”;ð AÝ$¥j¤o°c¸3Ñ&?Ô&?Ð@�C�Cå$¥j¤o°c¸3Ñ&?Ô&?Ð@�CØ˜	Ð!Ð!Ý#¥Z¤_°V¸SÑ%AÔ%AÐB�Ý#¥Z¤_°V¸T¿[º[ÈÐSXÔIYÑ=ZÔ=ZÑ%[Ô%[Ð\�Ø��à �ØŒ{ð AÝ  #§)¢)¨FÑ"3Ô"3Ð4�Ý# V§\¢\°#°f·l²l±n´nÑ2DÑ%EÔ%EÐF�Ý  #§)¢)¨C°·²±´Ñ,>Ñ"?Ô"?Ð@��å  #§)¢)¨FÑ"3Ô"3Ð4�Ý# V§\¢\°#°f·l²l±n´nÑ2DÑ%EÔ%EÐF�Ý  #§)¢)¨C°·²±´Ñ,>Ñ"?Ô"?Ð@�Ø œ;ˆL‰Lå˜6Ÿ<š<¨Ñ,Ô,Ð-ˆÝ˜4Ÿ:š: c™?œ?Ð+ˆØˆrE   c                 óz   — |j         d         j        }|                     ¦   «         }|                      ||¦  «        S r_  )r\   rc   Úget_indicesr¢  )rB   rJ   rc   r™  s       rD   Ú_print_TensorzPrettyPrinter._print_Tensor  s7   € ØŒy˜Œ|Ô ˆØ×"Ò"Ñ$Ô$ˆØ×+Ò+¨D°'Ñ:Ô:Ð:rE   c                 óž   — |j         j        d         j        }|j                              ¦   «         }|j        }|                      |||¦  «        S r_  )rJ   r\   rc   r¤  rš  r¢  )rB   rJ   rc   r™  rš  s        rD   Ú_print_TensorElementz"PrettyPrinter._print_TensorElement  sE   € ØŒyŒ~˜aÔ Ô%ˆØ”)×'Ò'Ñ)Ô)ˆØ”Nˆ	Ø×+Ò+¨D°'¸9ÑEÔEÐErE   c                 óª   ‡ — |                      ¦   «         \  }}ˆ fd„|D ¦   «         }t          j        |Ž }|rt          |                     |¦  «        Ž S |S )Nc                 óÒ   •— g | ]c}t          |¦  «        t          d          k     r.t          ‰                     |¦  «                             ¦   «         Ž n‰                     |¦  «        ‘ŒdS r   ©r   r   r   rP   r]   ©r“  r.   rB   s     €rD   r•  z0PrettyPrinter._print_TensMul.<locals>.<listcomp>  óp   ø€ ð 
ð 
ð 
ð õ # 1Ñ%Ô%­
°5Ô(9Ò9Ð9õ ˜Ÿš A™œ×-Ò-Ñ/Ô/Ð0Ð0Ø?C¿{º{È1¹~¼~ð
ð 
ð 
rE   )Ú!_get_args_for_traditional_printerr   r÷  r^   )rB   rJ   rC  r\   r`   s   `    rD   Ú_print_TensMulzPrettyPrinter._print_TensMul  su   ø€ Ø×;Ò;Ñ=Ô=‰
ˆˆdð
ð 
ð 
ð 
ð ð
ñ 
ô 
ˆõ
 Ô" DÐ)ˆØð 	Ý˜uŸzšz¨$Ñ/Ô/Ð0Ð0àˆLrE   c                 óF   ‡ — ˆ fd„|j         D ¦   «         }t          j        |Ž S )Nc                 óÒ   •— g | ]c}t          |¦  «        t          d          k     r.t          ‰                     |¦  «                             ¦   «         Ž n‰                     |¦  «        ‘ŒdS r   rª  r«  s     €rD   r•  z0PrettyPrinter._print_TensAdd.<locals>.<listcomp>   r¬  rE   )r\   r   Ú__add__)rB   rJ   r\   s   `  rD   Ú_print_TensAddzPrettyPrinter._print_TensAdd  s?   ø€ ð
ð 
ð 
ð 
ð ”Yð
ñ 
ô 
ˆõ
 Ô! 4Ð(Ð(rE   c                 óZ   — |j         d         }|j        s| }|                      |¦  «        S r_  )r\   r˜  rP   )rB   rJ   r	  s      rD   Ú_print_TensorIndexz PrettyPrinter._print_TensorIndex'  s0   € ØŒi˜ŒlˆØŒzð 	Ø�$ˆCØ�{Š{˜3ÑÔÐrE   c                 ó.  — | j         rt          d¦  «        }nd}d }t          |j        ¦  «        D ]p}|                      |¦  «        }t          |                     |¦  «        Ž }|€|}Œ8t          |                     d¦  «        Ž }t          |                     |¦  «        Ž }Œqt          |                      |j        ¦  «         	                    ¦   «         dt
          j
        iŽ}t          |¦  «        }t          |j        ¦  «        dk    r*||                      t          |j        ¦  «        ¦  «        z  }t          |                     t          j        |¦  «        Ž }|j        dz   |_        t          t          j        ||¦  «        Ž }t
          j        |_        |S )Nrþ   rÿ   r¦   r³   rk   )rM   r#   r   Ú	variablesrP   r   r^   ru   rJ   r]   r  r(  r  r   r  r«   r·   r  r³   )	rB   r  r  rž   Úvariabler  r  r  r`   s	            rD   Ú_print_PartialDerivativez&PrettyPrinter._print_PartialDerivative-  sf  € ØÔð 	 ÝÐ3Ñ4Ô4ˆLˆLàˆLØˆå  ¤Ñ1Ô1ð 	-ð 	-ˆHØ—’˜HÑ%Ô%ˆAÝ˜QŸVšV LÑ1Ô1Ð2ˆBàˆyØ��å §¢¨¡¤Ð-�Ý §¢¨¡¤Ð,��åØ&*§k¢k°%´*Ñ&=Ô&=×&DÒ&DÑ&FÔ&FðHÝ”OðHð Hˆõ ˜<Ñ(Ô(ˆåˆuŒÑÔ !Ò#Ð#Ø˜4Ÿ;š;¥s¨5¬?Ñ';Ô';Ñ<Ô<Ñ<ˆEå˜EŸKšK­
¬¸Ñ;Ô;Ð<ˆØœ¨!Ñ+ˆŒÝ�JœO¨E°1Ñ5Ô5Ð6ˆÝ"œˆŒàˆrE   c                 óØ  ‡‡— i Št          |j        ¦  «        D ]Š\  }}|                      |j        ¦  «        ‰|df<   |j        dk    rt          d¦  «        ‰|df<   ŒDt          t          d¦  «                             |                      |j        ¦  «        ¦  «        Ž ‰|df<   Œ‹d}d}t          |j        ¦  «        Šˆˆfd„t          d¦  «        D ¦   «         }d }t          ‰¦  «        D �]5}d }	t          d¦  «        D ]Ñ}
‰||
f         }| 	                    ¦   «         ||
         k    sJ ‚||
         | 	                    ¦   «         z
  }|dz  }||z
  }t          |                     d|z  ¦  «        Ž }t          | 
                    d|z  ¦  «        Ž }|	€|}	Œ–t          |	                     d|z  ¦  «        Ž }	t          |	                     |¦  «        Ž }	ŒÒ|€|	}Œët          |¦  «        D ]}t          |                     d¦  «        Ž }Œt          |                     |	¦  «        Ž }�Œ7t          |                     d	d
¦  «        Ž }|                     ¦   «         dz  |_        t
          j        |_        |S )Nr   TÚ	otherwiserk   zfor r§   c                 ód   •‡— g | ]+Št          ˆˆfd „t          ‰¦  «        D ¦   «         ¦  «        ‘Œ,S )c              3   óP   •K  — | ] }‰|‰f                               ¦   «         V — Œ!d S rG   r’  )r“  r.   ÚPr:   s     €€rD   rf  z<PrettyPrinter._print_Piecewise.<locals>.<listcomp>.<genexpr>\  s3   øè è € Ð=Ð=¨�A�a˜�d”G—M’M‘O”OÐ=Ð=Ð=Ð=Ð=Ð=rE   )r¨   r'  )r“  r:   r½  Úlen_argss    @€€rD   r•  z2PrettyPrinter._print_Piecewise.<locals>.<listcomp>\  sP   øø€ ð #ð #ð #Øõ Ð=Ð=Ð=Ð=Ð=­U°8©_¬_Ð=Ñ=Ô=Ñ=Ô=ð #ð #ð #rE   r¦   Ú{r  )rö  r\   rP   rJ   Úcondr   ru   r(  r'  r©   r^   r  r]   r:  r«   r¸   r³   )rB   Úpexprr¬   Úecr™  rš  r›  rœ  r.   r�  r:   ÚpÚwdeltaÚwleftÚwrightrï   r½  r¾  s                   @@rD   Ú_print_PiecewisezPrettyPrinter._print_PiecewiseM  sm  øø€ àˆÝ˜uœzÑ*Ô*ð 	Eð 	E‰EˆAˆrØ—k’k "¤'Ñ*Ô*ˆAˆa�ˆd‰GØŒw˜$ŠˆÝ$ [Ñ1Ô1��!�Q�$‘�å$Ý Ñ'Ô'×-Ò-¨d¯kªk¸"¼'Ñ.BÔ.BÑCÔCðE��!�Q�$‘�àˆØˆÝ�u”z‘?”?ˆð#ð #ð #ð #ð #Ý˜q™œð#ñ #ô #ˆð
 ˆå�x‘”ð 	,ñ 	,ˆAØˆEÝ˜1‘X”Xð 4ð 4�Ø�a˜�d”G�Ø—w’w‘y”y D¨¤GÒ+Ð+Ð+Ð+à˜aœ 1§7¢7¡9¤9Ñ,�Ø !™�Ø %™�å §¢¨¨F©
Ñ 3Ô 3Ð4�Ý §¢ s¨5¡yÑ 1Ô 1Ð2�à�=Ø�EØå" E§K¢K°°D±Ñ$9Ô$9Ð:�Ý" E§K¢K°¡N¤NÐ3��ØˆyØ�Øõ ˜4‘[”[ð .ð .�Ý §¢¨¡¤Ð-��å˜AŸGšG E™NœNÐ+ˆA‰Aå˜Ÿš  bÑ)Ô)Ð*ˆØ—X’X‘Z”Z ‘]ˆŒ
Ý”OˆŒ	ØˆrE   c                 ó^   — ddl m} |                      |                     |¦  «        ¦  «        S )Nr   )Ú	Piecewise)Ú$sympy.functions.elementary.piecewiserÉ  rP   Úrewrite)rB   ÚiterÉ  s      rD   Ú
_print_ITEzPrettyPrinter._print_ITE…  s2   € ØBÐBÐBÐBÐBÐBØ�{Š{˜3Ÿ;š; yÑ1Ô1Ñ2Ô2Ð2rE   c                 ó´   — d }|D ]A}|}|€|}Œ	t          |                     d¦  «        Ž }t          |                     |¦  «        Ž }ŒB|€t          d¦  «        }|S )NrÄ  r¦   )r   ru   r   )rB   ry  rœ  rø  rÃ  s        rD   Ú_hprint_veczPrettyPrinter._hprint_vec‰  sf   € Øˆàð 	,ð 	,ˆAØˆAØˆyØ��å §¢¨¡¤Ð.�Ý §¢¨¡
¤
Ð+��Øˆ9Ý˜3‘”ˆAàˆrE   r  c                 ó(  — |r$| j         s|                      |d|f|||d¬¦  «        S |                      ||f|||¬¦  «        }t          t          d|                     ¦   «         ¦  «        |j        ¬¦  «        }|                      |||f|||¬¦  «        S )Nrò   T)r^   ru   rÆ  Úifascii_nougly)r^   ru   rÆ  ©r«   )rM   r[   r   r   r:  r«   )	rB   Úp1Úp2r^   ru   rÆ  rÑ  ÚtmpÚseps	            rD   Ú_hprint_vseparatorz PrettyPrinter._hprint_vseparator˜  s²   € Øð 	M $Ô"3ð 	MØ—?’? B¨¨R =°tÀ5Ø-6Àtð #ñ Mô Mð Mà�oŠo˜r 2˜i¨d¸%È9ˆoÑUÔUˆÝ�˜c 3§:¢:¡<¤<Ñ0Ô0¸3¼<ÐHÑHÔHˆØ�Š  C¨˜}°4¸uØ)2ð ñ 4ô 4ð 	4rE   c           	      óÄ  ‡ — ˆ fd„|j         D ¦   «         }ˆ fd„|j        D ¦   «         }‰                      |j        ¦  «        }|                     ¦   «         dz  |_        d }||fD ]T}‰                      |¦  «        }|€|}Œt          |                     d¦  «        Ž }t          |                     |¦  «        Ž }ŒU|                     ¦   «         dz  |_        t          | 	                    d¦  «        Ž }t          | 
                    d¦  «        Ž }‰                      ||¦  «        }t          |                     dd¦  «        Ž }|                     ¦   «         dz  dz
  }|                     ¦   «         |z
  dz
  }	t          d¦  «        \  }
}}}}t          d	||z
  z  |z   d	|	|z
  z  z   ||
z   ¬
¦  «        }|
dz   dz  }t          | 	                    ‰                      t          |j         ¦  «        ¦  «        ¦  «        Ž }t          | 
                    ‰                      t          |j        ¦  «        ¦  «        ¦  «        Ž }||z   |_        t          | 
                    d|¦  «        Ž }|S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  ©r“  rø  rB   s     €rD   r•  z.PrettyPrinter._print_hyper.<locals>.<listcomp>£  ó#   ø€ Ð+Ð+Ð+ ˆd�kŠk˜!‰nŒnÐ+Ð+Ð+rE   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  ©r“  ÚbrB   s     €rD   r•  z.PrettyPrinter._print_hyper.<locals>.<listcomp>¤  rÛ  rE   r§   r¦   ro   rp   rk   ÚFra  rÒ  )ÚapÚbqrP   Úargumentr:  r«   rÏ  r   r  r^   ru   r×  r]   r%   r(  )rB   rU   rà  rá  r½  rœ  ry  r�  rª   r  ÚszÚtrÞ  ÚaddÚimgrß  s   `               rD   Ú_print_hyperzPrettyPrinter._print_hyper¡  s7  ø€ à+Ð+Ð+Ð+ a¤dÐ+Ñ+Ô+ˆØ+Ð+Ð+Ð+ a¤dÐ+Ñ+Ô+ˆà�KŠK˜œ
Ñ#Ô#ˆØ—X’X‘Z”Z ‘]ˆŒ
ð ˆØ�b�ð 	0ð 	0ˆAØ×$Ò$ QÑ'Ô'ˆEØˆyØ��å §¢¨¡¤Ð-�Ý §¢¨¡¤Ð/��ð —X’X‘Z”Z ‘]ˆŒ
õ ˜Ÿš˜s™œÐ$ˆÝ˜Ÿš ™œÐ%ˆð ×#Ò# A qÑ)Ô)ˆõ ˜Ÿš  cÑ*Ô*Ð+ˆð —’‘
”
˜A‘ Ñ!ˆØ—’‘
”
˜UÑ" QÑ&ˆå& s™^œ^ÑˆˆAˆq�#�sÝ�t˜u q™yÑ)¨CÑ/°$¸%À!¹)Ñ2DÑDØ %¨¡
ð,ñ ,ô ,ˆà�A‰v˜‰kˆå˜Ÿš˜tŸ{š{­3¨q¬t©9¬9Ñ5Ô5Ñ6Ô6Ð7ˆÝ˜Ÿš §¢­C°´©I¬IÑ 6Ô 6Ñ7Ô7Ð8ˆØ˜S‘[ˆŒ
å˜Ÿš  Q™œÐ(ˆàˆrE   c                 óf	  ‡ — i }ˆ fd„|j         D ¦   «         |d<   ˆ fd„|j        D ¦   «         |d<   ˆ fd„|j        D ¦   «         |d<   ˆ fd„|j        D ¦   «         |d<   ‰                      |j        ¦  «        }|                     ¦   «         d	z  |_        i }|D ] }‰                      ||         ¦  «        ||<   Œ!t          d	¦  «        D ]Û}t          |d
|f                              ¦   «         |d|f                              ¦   «         ¦  «        }t          d	¦  «        D ]…}|||f         }	||	                     ¦   «         z
  d	z  }
||
z
  |	                     ¦   «         z
  }t          |	                     d|
z  ¦  «        Ž }	t          |	                     d|z  ¦  «        Ž }	|	|||f<   Œ†ŒÜt          |d                              d|d         ¦  «        Ž }t          |                     d¦  «        Ž }t          |d                              d|d         ¦  «        Ž }t          |                     |¦  «        Ž }|                     ¦   «         d	z  |_        t          |                     d¦  «        Ž }t          |                     d¦  «        Ž }‰                      ||¦  «        }t          |                     dd¦  «        Ž }|                     ¦   «         d	z  dz
  }|                     ¦   «         |z
  dz
  }t%          d¦  «        \  }}}}}t          d||z
  z  |z   d||z
  z  z   ||z   ¬¦  «        }‰                      t'          |j        ¦  «        ¦  «        }‰                      t'          |j        ¦  «        ¦  «        }‰                      t'          |j        ¦  «        ¦  «        }‰                      t'          |j         ¦  «        ¦  «        }d„ } |||¦  «        \  }} |||¦  «        \  }}t          |                     d|¦  «        Ž }t          |                     d|¦  «        Ž }|j        |z
  d	z
  }|d
k    rt          |                     d|z  ¦  «        Ž }t          |                     |¦  «        Ž }||_        t          |                     |¦  «        Ž }||z   |_        t          |                     d|¦  «        Ž }|S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  rÚ  s     €rD   r•  z0PrettyPrinter._print_meijerg.<locals>.<listcomp>Õ  ó#   ø€ Ð2Ð2Ð2¨�T—[’[ ‘^”^Ð2Ð2Ð2rE   râ  c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  rÚ  s     €rD   r•  z0PrettyPrinter._print_meijerg.<locals>.<listcomp>Ö  ó#   ø€ Ð6Ð6Ð6¨�T—[’[ ‘^”^Ð6Ð6Ð6rE   )r   rk   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  rÝ  s     €rD   r•  z0PrettyPrinter._print_meijerg.<locals>.<listcomp>×  rê  rE   )rk   r   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  rÝ  s     €rD   r•  z0PrettyPrinter._print_meijerg.<locals>.<listcomp>Ø  rì  rE   rá  r§   r   rk   r¦   z  ro   rp   ÚGra  rÒ  c                 óú   — |                       ¦   «         |                      ¦   «         z
  }|dk    r| |fS |dk    r!| t          |                     d|z  ¦  «        Ž fS t          |                      d| z  ¦  «        Ž |fS )Nr   r¦   )r©   r   r^   )rÓ  rÔ  Údiffs      rD   rp  z,PrettyPrinter._print_meijerg.<locals>.adjust
  sy   € Ø—8’8‘:”: §¢¡
¤
Ñ*ˆDØ�qŠyˆyØ˜2�v�Ø˜’�Ø�: r§w¢w¨s°4©xÑ'8Ô'8Ð9Ð9Ð9å! 2§7¢7¨3°¨u©9Ñ#5Ô#5Ð6¸Ð:Ð:rE   rÄ  )ÚanÚaotherÚbmÚbotherrP   râ  r:  r«   rÏ  r'  r¨   r©   r   r^   ru   r  r×  r]   r%   r(  rà  rá  ) rB   rU   ry  r½  ÚvpÚidxr.   r›  r:   r  r^   ru   ÚD1ÚD2rœ  rª   r  rã  rä  rÞ  rå  ræ  rß  ÚppÚpqÚpmÚpnrp  ÚpuÚplÚhtrÃ  s    `                               rD   Ú_print_meijergzPrettyPrinter._print_meijergÑ  sr  ø€ ð ˆØ2Ð2Ð2Ð2¨Q¬TÐ2Ñ2Ô2ˆˆ&‰	Ø6Ð6Ð6Ð6¨Q¬XÐ6Ñ6Ô6ˆˆ&‰	Ø2Ð2Ð2Ð2¨Q¬TÐ2Ñ2Ô2ˆˆ&‰	Ø6Ð6Ð6Ð6¨Q¬XÐ6Ñ6Ô6ˆˆ&‰	à�KŠK˜œ
Ñ#Ô#ˆØ—X’X‘Z”Z ‘]ˆŒ
àˆØð 	/ð 	/ˆCØ×&Ò& q¨¤vÑ.Ô.ˆBˆs‰GˆGå�q‘”ð 	ð 	ˆAÝ�r˜1˜a˜&”z×'Ò'Ñ)Ô)¨2¨q°!¨f¬:×+;Ò+;Ñ+=Ô+=Ñ>Ô>ˆDÝ˜1‘X”Xð ð �Ø˜˜1�v”J�Ø˜qŸwšw™yœyÑ(¨QÑ.�Ø˜t™ a§g¢g¡i¤iÑ/�Ý §¢ s¨T¡zÑ 2Ô 2Ð3�Ý §¢¨¨e©Ñ 4Ô 4Ð5�Ø��A�q�6‘
�
ðõ ˜˜Fœ×)Ò)¨$°°6´
Ñ;Ô;Ð<ˆÝ˜Ÿš #™œÐ'ˆÝ˜˜Fœ×)Ò)¨$°°6´
Ñ;Ô;Ð<ˆÝ˜Ÿš ™œÐ%ˆð —X’X‘Z”Z ‘]ˆŒ
õ ˜Ÿš˜s™œÐ$ˆÝ˜Ÿš ™œÐ%ˆð ×#Ò# A qÑ)Ô)ˆõ ˜Ÿš  cÑ*Ô*Ð+ˆð —’‘
”
˜A‘ Ñ!ˆØ—’‘
”
˜UÑ" QÑ&ˆå& s™^œ^ÑˆˆAˆq�#�sÝ�t˜u q™yÑ)¨CÑ/°$¸%À!¹)Ñ2DÑDØ %¨¡
ð,ñ ,ô ,ˆð �[Š[�˜QœT™œÑ#Ô#ˆØ�[Š[�˜QœT™œÑ#Ô#ˆØ�[Š[�˜QœT™œÑ#Ô#ˆØ�[Š[�˜QœT™œÑ#Ô#ˆð	;ð 	;ð 	;ð �˜˜B‘”‰ˆˆBØ�˜˜B‘”‰ˆˆBÝ˜Ÿš $¨Ñ+Ô+Ð,ˆÝ˜Ÿš $¨Ñ+Ô+Ð,ˆàŒZ˜%Ñ !Ñ#ˆØ�Š6ˆ6Ý˜RŸXšX d¨2¡gÑ.Ô.Ð/ˆBÝ˜Ÿš ™œÐ%ˆàˆŒ
Ý˜Ÿš ™
œ
Ð#ˆà˜S‘[ˆŒ
å˜Ÿš  Q™œÐ(ˆàˆrE   c                 ó‚   — t          t          dd¦  «        ¦  «        }||                      |j        d         ¦  «        z  S )NÚExp1rU   r   )r   r    rP   r\   )rB   rU   r  s      rD   Ú_print_ExpBasezPrettyPrinter._print_ExpBase%  s8   € õ �+ f¨cÑ2Ô2Ñ3Ô3ˆØ�t—{’{ 1¤6¨!¤9Ñ-Ô-Ñ-Ð-rE   c                 ó<   — t          t          dd¦  «        ¦  «        S )Nr  rU   )r   r    rT   s     rD   Ú_print_Exp1zPrettyPrinter._print_Exp1+  s   € Ý�+ f¨cÑ2Ô2Ñ3Ô3Ð3rE   ro   rp   c                 óL   — |                       |j        |j        ||||¬¦  «        S )N)rÓ   Ú	func_namer^   ru   )Ú_helper_print_functionrˆ   r\   )rB   rU   rÓ   r  r^   ru   s         rD   rÊ   zPrettyPrinter._print_Function.  s,   € ð ×*Ò*¨1¬6°1´6ÀÐPYÐ`dÐlqÐ*ÑrÔrÐrrE   c                 ó0   — |                       |d¬¦  «        S ©NrZ  ©r  ©rÊ   rT   s     rD   Ú_print_mathieuczPrettyPrinter._print_mathieuc4  ó   € Ø×#Ò# A°Ð#Ñ5Ô5Ð5rE   c                 ó0   — |                       |d¬¦  «        S ©Nr   r  r  rT   s     rD   Ú_print_mathieuszPrettyPrinter._print_mathieus7  r  rE   c                 ó0   — |                       |d¬¦  «        S )NzC'r  r  rT   s     rD   Ú_print_mathieucprimez"PrettyPrinter._print_mathieucprime:  ó   € Ø×#Ò# A°Ð#Ñ6Ô6Ð6rE   c                 ó0   — |                       |d¬¦  «        S )NzS'r  r  rT   s     rD   Ú_print_mathieusprimez"PrettyPrinter._print_mathieusprime=  r  rE   rÄ  c	                 ó”  — |rt          |t          ¬¦  «        }|st          |d¦  «        r|j        }|r#|                      t          |¦  «        ¦  «        }	n.t          |                      |¦  «                             ¦   «         Ž }	|rW| j        rt          d¦  «        }
nd}
|                      |
¦  «        }
t          t          j        |	|
¦  «        dt          j        iŽ}	t          |                      ||¬¦  «                             ||¬¦  «        Ž }t          t          j        |	|¦  «        dt          j        iŽ}|	|_        ||_        |S )NrÎ   r�   zModifier Letter Low Ringr  r³   rÅ  rÇ  )rÑ   r   Úhasattrr�   rP   r   r   r]   rM   r    r   r·   r  r[   r  rË  rÌ  )rB   rˆ   r\   rÓ   r  rÆ  Úelementwiser^   ru   rË  r  rÌ  r`   s                rD   r	  z$PrettyPrinter._helper_print_function@  sf  € ð ð 	6Ý˜$Õ$4Ð5Ñ5Ô5ˆDàð 	&�W T¨:Ñ6Ô6ð 	&ØœˆIàð 	AØŸš¥V¨IÑ%6Ô%6Ñ7Ô7ˆJˆJå# T§[¢[°Ñ%6Ô%6×%=Ò%=Ñ%?Ô%?Ð@ˆJàð 		ØÔ ð Ý"Ð#=Ñ>Ô>��à�Ø—;’;˜tÑ$Ô$ˆDÝ#å” ¨TÑ2Ô2ðÝ"œðð ˆJõ
   §¢°À Ñ!KÔ!K×!RÒ!RØ6:À%ð "Sñ "Iô "Ið Jˆ
õ Ý&0¤o°jÀ*Ñ&MÔ&MðOÝ”OðOð Oˆð &ˆÔØ%ˆÔàˆrE   c                 óV   — |j         }|j        }|g}|                      ||dd¬¦  «        S )Nr  T)rÆ  r  )r7  rJ   r	  )rB   rU   rˆ   rË   r\   s        rD   Ú_print_ElementwiseApplyFunctionz-PrettyPrinter._print_ElementwiseApplyFunctione  s5   € ØŒzˆØŒfˆØˆuˆØ×*Ò*¨4°ÀÐQUÐ*ÑVÔVÐVrE   c                 ó  — ddl m} ddlm}m} ddlm} ddlm} ddl	m
} ddlm} |t          d         dg|t          d	         d	g|t          d
         dg|t          d         dg|t          d         dg|t          d         dg|ddgiS )Nr   )ÚKroneckerDelta)ÚgammaÚ
lowergamma)Úlerchphi)Úbeta)Ú
DiracDelta)ÚChiÚdeltaÚGammaÚPhir!  r  ÚBetarä  r$  )Ú(sympy.functions.special.tensor_functionsr  Ú'sympy.functions.special.gamma_functionsr  r   Ú&sympy.functions.special.zeta_functionsr!  Ú&sympy.functions.special.beta_functionsr"  Ú'sympy.functions.special.delta_functionsr#  Ú'sympy.functions.special.error_functionsr$  r"   )rB   r  r  r   r!  r"  r#  r$  s           rD   Ú_special_function_classesz'PrettyPrinter._special_function_classesk  sá   € àKÐKÐKÐKÐKÐKØMÐMÐMÐMÐMÐMÐMÐMØCÐCÐCÐCÐCÐCØ?Ð?Ð?Ð?Ð?Ð?ØFÐFÐFÐFÐFÐFØ?Ð?Ð?Ð?Ð?Ð?Ø¥¨wÔ!7¸Ð AØ� gÔ.°Ð8Ø�=¨Ô/°Ð<Ø�]¨7Ô3°WÐ=Ø•} VÔ,¨cÐ2Ø�]¨7Ô3°WÐ=Ø�e˜U�^ð%ð 	%rE   c                 ó2  — | j         D ]m}t          ||¦  «        r[|j        |j        k    rK| j        r"t	          | j         |         d         ¦  «        c S t	          | j         |         d         ¦  «        c S Œn|j        }t	          t          |¦  «        ¦  «        S )Nr   rk   )r/  Ú
issubclassr�   rM   r   r   )rB   rJ   Úclsr  s       rD   Ú_print_FunctionClassz"PrettyPrinter._print_FunctionClass{  s£   € ØÔ1ð 	Nð 	NˆCÝ˜$ Ñ$Ô$ð N¨¬¸#¼,Ò)FÐ)FØÔ$ð NÝ% dÔ&DÀSÔ&IÈ!Ô&LÑMÔMÐMÐMÐMå% dÔ&DÀSÔ&IÈ!Ô&LÑMÔMÐMÐMÐMøØ”Mˆ	Ý�-¨	Ñ2Ô2Ñ3Ô3Ð3rE   c                 ó,   — |                       |¦  «        S rG   )rK   rI   s     rD   Ú_print_GeometryEntityz#PrettyPrinter._print_GeometryEntity…  s   € à× Ò  Ñ&Ô&Ð&rE   c                 ó
  — |                       |j        d         ¦  «        }| j        rHt          |¦  «        r9|                       t          d|z  ¦  «        |j        d         ¦  «        ¦  «        S |                      |¦  «        S )Nr   zLi_%srk   ©rP   r\   rM   r&   rÊ   r   ©rB   rU   rR  s      rD   Ú_print_polylogzPrettyPrinter._print_polylog‰  s|   € Ø—K’K ¤ q¤	Ñ*Ô*ˆ	ØÔð 	RÕ!<¸YÑ!GÔ!Gð 	RØ×'Ò'Ð(E­°¸9Ñ1DÑ(EÔ(EÀaÄfÈQÄiÑ(PÔ(PÑQÔQÐQØ×#Ò# AÑ&Ô&Ð&rE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S )Nr'  r!  r  ©rM   r"   rÊ   ©rB   rU   r  s      rD   Ú_print_lerchphizPrettyPrinter._print_lerchphi�  s2   € Ø,0Ô,=ÐM•M %Ô(Ð(À:ˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S )NÚetaÚdirichlet_etar  r;  r<  s      rD   Ú_print_dirichlet_etaz"PrettyPrinter._print_dirichlet_eta“  s2   € Ø,0Ô,=ÐR•M %Ô(Ð(À?ˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó<  — | j         rt          d         nd}|j        d         t          j        u rWt          |                      |j        d         ¦  «                             ¦   «         Ž }t          |                     |¦  «        Ž }|S |  	                    ||¬¦  «        S )NÚthetaÚ	Heavisiderk   r   r  )
rM   r"   r\   r   ÚHalfr   rP   r]   r^   rÊ   )rB   rU   r  r`   s       rD   Ú_print_HeavisidezPrettyPrinter._print_Heaviside—  sˆ   € Ø.2Ô.?ÐP•M 'Ô*Ð*À[ˆ	ØŒ6�!Œ9�œÐÐÝ §¢¨A¬F°1¬IÑ 6Ô 6× =Ò =Ñ ?Ô ?Ð@ˆEÝ §
¢
¨9Ñ 5Ô 5Ð6ˆEØˆLà×'Ò'¨°YÐ'Ñ?Ô?Ð?rE   c                 ó0   — |                       |d¬¦  «        S r  r  rT   s     rD   Ú_print_fresnelszPrettyPrinter._print_fresnels   r  rE   c                 ó0   — |                       |d¬¦  «        S r  r  rT   s     rD   Ú_print_fresnelczPrettyPrinter._print_fresnelc£  r  rE   c                 ó0   — |                       |d¬¦  «        S )NÚAir  r  rT   s     rD   Ú_print_airyaizPrettyPrinter._print_airyai¦  r  rE   c                 ó0   — |                       |d¬¦  «        S )NÚBir  r  rT   s     rD   Ú_print_airybizPrettyPrinter._print_airybi©  r  rE   c                 ó0   — |                       |d¬¦  «        S )NzAi'r  r  rT   s     rD   Ú_print_airyaiprimez PrettyPrinter._print_airyaiprime¬  ó   € Ø×#Ò# A°Ð#Ñ7Ô7Ð7rE   c                 ó0   — |                       |d¬¦  «        S )NzBi'r  r  rT   s     rD   Ú_print_airybiprimez PrettyPrinter._print_airybiprime¯  rS  rE   c                 ó0   — |                       |d¬¦  «        S )NÚWr  r  rT   s     rD   Ú_print_LambertWzPrettyPrinter._print_LambertW²  r  rE   c                 ó0   — |                       |d¬¦  «        S )NÚCovr  r  rT   s     rD   Ú_print_CovariancezPrettyPrinter._print_Covarianceµ  rS  rE   c                 ó0   — |                       |d¬¦  «        S )NÚVarr  r  rT   s     rD   Ú_print_VariancezPrettyPrinter._print_Variance¸  rS  rE   c                 ó0   — |                       |d¬¦  «        S )Nr½  r  r  rT   s     rD   Ú_print_Probabilityz PrettyPrinter._print_Probability»  r  rE   c                 ó4   — |                       |ddd¬¦  «        S )Nr‹  rŸ  r   )r  r^   ru   r  rT   s     rD   Ú_print_Expectationz PrettyPrinter._print_Expectation¾  s   € Ø×#Ò# A°¸3ÀcÐ#ÑJÔJÐJrE   c           	      ó8  — |j         }|j        }| j        rdt          d¦  «        › d�}nd}t	          |¦  «        dk    r|d         j        r|d         }|                      |¦  «        }t          t          j	        |||                      |¦  «        ¦  «        ddiŽS )Nr¦   ÚArrowFromBarú -> rk   r   r³   rt  )
rJ   Ú	signaturerM   r    r(  Ú	is_symbolrP   r   r   r·   )rB   rU   rJ   ÚsigÚarrowÚvar_forms         rD   Ú_print_LambdazPrettyPrinter._print_LambdaÁ  sœ   € ØŒvˆØŒkˆØÔð 	Ø6� NÑ3Ô3Ð6Ð6Ð6ˆEˆEàˆEÝˆs‰8Œ8�qŠ=ˆ=˜S œVÔ-ˆ=Ø�a”&ˆCØ—;’;˜sÑ#Ô#ˆå�:œ?¨8°U¸D¿KºKÈÑ<MÔ<MÑNÔNÐZÐXYÐZÐZÐZrE   c                 óB  — |                       |j        ¦  «        }|j        rt          d„ |j        D ¦   «         ¦  «        st	          |j        ¦  «        dk    �r�t          |                     d¦  «        Ž }t	          |j        ¦  «        dk    r5t          |                     |                       |j        ¦  «        ¦  «        Ž }nNt	          |j        ¦  «        r:t          |                     |                       |j        d         ¦  «        ¦  «        Ž }| j        r.t          |                     dt          d¦  «        › d�¦  «        Ž }nt          |                     d¦  «        Ž }t	          |j        ¦  «        dk    r5t          |                     |                       |j        ¦  «        ¦  «        Ž }n:t          |                     |                       |j        d         ¦  «        ¦  «        Ž }t          | 
                    ¦   «         Ž }t          |                     d¦  «        Ž }|S )	Nc              3   ó6   K  — | ]}|t           j        k    V — Œd S rG   )r   ÚZero)r“  rÃ  s     rD   rf  z-PrettyPrinter._print_Order.<locals>.<genexpr>Ð  s(   è è € Ð?Ð?¨q˜q¥A¤Fš{Ð?Ð?Ð?Ð?Ð?Ð?rE   rk   ú; r   r¦   rê   re  ÚO)rP   rJ   ÚpointÚanyr(  r¶  r   ru   rM   r    r]   r^   ©rB   rJ   r`   s      rD   Ú_print_OrderzPrettyPrinter._print_OrderÎ  s¼  € Ø—’˜DœIÑ&Ô&ˆØŒJð 	M�3Ð?Ð?°D´JÐ?Ñ?Ô?Ñ?Ô?ð 	MÝˆtŒ~ÑÔ Ò"Ñ"Ý §¢¨DÑ 1Ô 1Ð2ˆEÝ�4”>Ñ"Ô" QÒ&Ð&Ý" E§K¢K°·²¸D¼NÑ0KÔ0KÑ$LÔ$LÐM��Ý�T”^Ñ$Ô$ð QÝ" E§K¢K°·²¸D¼NÈ1Ô<MÑ0NÔ0NÑ$OÔ$OÐP�ØÔ ð 9Ý" E§K¢KÐ0KµKÀÑ4HÔ4HÐ0KÐ0KÐ0KÑ$LÔ$LÐM��å" E§K¢K°Ñ$7Ô$7Ð8�Ý�4”:‰Œ Ò"Ð"Ý" E§K¢K°·²¸D¼JÑ0GÔ0GÑ$HÔ$HÐI��å" E§K¢K°·²¸D¼JÀq¼MÑ0JÔ0JÑ$KÔ$KÐL�Ý˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c                 ó  — | j         rœ|                      |j        d         |j        d         z
  ¦  «        }|                      |j        d         ¦  «        }t          d¦  «        }t          |                     |¦  «        Ž }t          |                     d¦  «        Ž }||z  }|S |                      |j        d         ¦  «        }|                      |j        d         |j        d         z
  ¦  «        }|                      |ddd¦  «        }||z  S )Nr   rk   r§   ri  rj  r¦   )rM   rP   r\   r   ru   r[   )rB   rU   Úshiftr¬   r  r`   s         rD   Ú_print_SingularityFunctionz(PrettyPrinter._print_SingularityFunctionã  sâ   € ØÔð 	Ø—K’K ¤ q¤	¨!¬&°¬)Ñ 3Ñ4Ô4ˆEØ—’˜AœF 1œIÑ&Ô&ˆAÝ˜c‘?”?ˆDÝ˜tŸzšz¨%Ñ0Ô0Ð1ˆDÝ˜tŸzšz¨#™œÐ/ˆDØ˜!‘GˆEØˆLà—’˜AœF 1œIÑ&Ô&ˆAØ—K’K ¤ q¤	¨!¬&°¬)Ñ 3Ñ4Ô4ˆEØ—?’? 5¨#¨s°CÑ8Ô8ˆDØ˜‘7ˆNrE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S )Nr(  rä  r  r;  r<  s      rD   Ú_print_betazPrettyPrinter._print_betaò  s2   € Ø-1Ô->ÐG•M &Ô)Ð)ÀCˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó4   — d}|                       ||¬¦  «        S )NzB'r  r  r<  s      rD   Ú_print_betainczPrettyPrinter._print_betaincö  s    € Øˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó4   — d}|                       ||¬¦  «        S )Nrü  r  r  r<  s      rD   Ú_print_betainc_regularizedz(PrettyPrinter._print_betainc_regularizedú  s    € Øˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S ©Nr&  r  r;  r<  s      rD   Ú_print_gammazPrettyPrinter._print_gammaþ  ó2   € Ø.2Ô.?ÐL•M 'Ô*Ð*ÀWˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S r  r;  r<  s      rD   Ú_print_uppergammazPrettyPrinter._print_uppergamma  r�  rE   c                 ó\   — | j         rt          d         nd}|                      ||¬¦  «        S )Nr  r   r  r;  r<  s      rD   Ú_print_lowergammazPrettyPrinter._print_lowergamma  s2   € Ø.2Ô.?ÐQ•M 'Ô*Ð*À\ˆ	Ø×#Ò# A°Ð#Ñ;Ô;Ð;rE   c                 óÒ  — | j         �rKt          |j        ¦  «        dk    rÏt          t          d         ¦  «        }|                      |j        d         ¦  «        }t          |                     ¦   «         Ž }|                      |j        d         ¦  «        }t          |                     ¦   «         Ž }||z  }t          |                     d¦  «        Ž }t          |                     |¦  «        Ž }|S |                      |j        d         ¦  «        }t          |                     ¦   «         Ž }t          |                     t          d         ¦  «        Ž }|S |  	                    |¦  «        S )Nr§   r%  rk   r   r¦   )
rM   r(  r\   r   r"   rP   r]   ru   r^   rÊ   )rB   rU   rø  rÞ  Úcr`   s         rD   Ú_print_DiracDeltazPrettyPrinter._print_DiracDelta
  s  € ØÔñ 	+Ý�1”6‰{Œ{˜aÒÐÝ�}¨WÔ5Ñ6Ô6�Ø—K’K ¤ q¤	Ñ*Ô*�Ý §¢¡
¤
Ð+�Ø—K’K ¤ q¤	Ñ*Ô*�Ý §¢¡
¤
Ð+�Ø˜1™�Ý" E§K¢K°Ñ$4Ô$4Ð5�Ý" E§K¢K°¡N¤NÐ3�Ø�Ø—K’K ¤ q¤	Ñ*Ô*ˆEÝ §¢¡¤Ð/ˆEÝ §
¢
­=¸Ô+AÑ BÔ BÐCˆEØˆLà×'Ò'¨Ñ*Ô*Ð*rE   c                 ó
  — |                       |j        d         ¦  «        }| j        rHt          |¦  «        r9|                       t          d|z  ¦  «        |j        d         ¦  «        ¦  «        S |                      |¦  «        S )Nr   zE_%srk   r7  r8  s      rD   Ú_print_expintzPrettyPrinter._print_expint  s|   € Ø—K’K ¤ q¤	Ñ*Ô*ˆ	ØÔð 	QÕ!<¸YÑ!GÔ!Gð 	QØ×'Ò'Ð(D­°¸)Ñ1CÑ(DÔ(DÀQÄVÈAÄYÑ(OÔ(OÑPÔPÐPØ×#Ò# AÑ&Ô&Ð&rE   c                 óø   — t          d¦  «        }t          |                      |j        ¦  «                             ¦   «         Ž }t          t	          j        ||¦  «        dt           j        iŽ}||_        ||_        |S )Nr$  r³   )	r   r[   r\   r]   r   r·   r  rË  rÌ  )rB   rU   rË  rÌ  r`   s        rD   Ú
_print_ChizPrettyPrinter._print_Chi#  sw   € õ   Ñ&Ô&ˆ
Ý §¢°´Ñ!8Ô!8×!?Ò!?Ñ!AÔ!AÐBˆ
åÝ&0¤o°jÀ*Ñ&MÔ&MðOÝ”OðOð Oˆð &ˆÔØ%ˆÔàˆrE   c                 óV  — |                       |j        d         ¦  «        }t          |j        ¦  «        dk    r|}n6|                       |j        d         ¦  «        }|                      ||¦  «        }t	          |                     ¦   «         Ž }t	          |                     d¦  «        Ž }|S )Nr   rk   r‹  )rP   r\   r(  r×  r   r]   r^   )rB   rU   Úpforma0r`   Úpforma1s        rD   Ú_print_elliptic_ezPrettyPrinter._print_elliptic_e2  sŠ   € Ø—+’+˜aœf QœiÑ(Ô(ˆÝˆqŒv‰;Œ;˜!ÒÐØˆEˆEà—k’k !¤&¨¤)Ñ,Ô,ˆGØ×+Ò+¨G°WÑ=Ô=ˆEÝ˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c                 ó´   — |                       |j        d         ¦  «        }t          |                     ¦   «         Ž }t          |                     d¦  «        Ž }|S )Nr   ÚK)rP   r\   r   r]   r^   r_   s      rD   Ú_print_elliptic_kzPrettyPrinter._print_elliptic_k=  sD   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c                 ó   — |                       |j        d         ¦  «        }|                       |j        d         ¦  «        }|                      ||¦  «        }t          |                     ¦   «         Ž }t          |                     d¦  «        Ž }|S )Nr   rk   rß  )rP   r\   r×  r   r]   r^   )rB   rU   rŽ  r�  r`   s        rD   Ú_print_elliptic_fzPrettyPrinter._print_elliptic_fC  sp   € Ø—+’+˜aœf QœiÑ(Ô(ˆØ—+’+˜aœf QœiÑ(Ô(ˆØ×'Ò'¨°Ñ9Ô9ˆÝ˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ s™OœOÐ,ˆØˆrE   c                 ó^  — | j         rt          d         nd}|                      |j        d         ¦  «        }|                      |j        d         ¦  «        }t	          |j        ¦  «        dk    r|                      ||¦  «        }np|                      |j        d         ¦  «        }|                      ||d¬¦  «        }t          |                     d¦  «        Ž }t          |                     |¦  «        Ž }t          |                     ¦   «         Ž }t          |                     |¦  «        Ž }|S )NÚPir   rk   r§   F©rÑ  ro  )	rM   r"   rP   r\   r(  r×  r   r^   r]   )rB   rU   rc   rŽ  r�  r`   Úpforma2Úpformas           rD   Ú_print_elliptic_piz PrettyPrinter._print_elliptic_piK  sû   € Ø&*Ô&7ÐA�}˜TÔ"Ð"¸TˆØ—+’+˜aœf QœiÑ(Ô(ˆØ—+’+˜aœf QœiÑ(Ô(ˆÝˆqŒv‰;Œ;˜!ÒÐØ×+Ò+¨G°WÑ=Ô=ˆEˆEà—k’k !¤&¨¤)Ñ,Ô,ˆGØ×,Ò,¨W°gÈeÐ,ÑTÔTˆFÝ §¢¨TÑ!2Ô!2Ð3ˆFÝ §¢¨GÑ 4Ô 4Ð5ˆEÝ˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ tÑ,Ô,Ð-ˆØˆrE   c                 óŒ   — | j         rt          t          d¦  «        ¦  «        S |                      t	          d¦  «        ¦  «        S )NÚphiÚGoldenRatio©rM   r   r   rP   r   rI   s     rD   Ú_print_GoldenRatioz PrettyPrinter._print_GoldenRatioZ  s=   € ØÔð 	4Ý�m¨EÑ2Ô2Ñ3Ô3Ð3Ø�{Š{�6 -Ñ0Ô0Ñ1Ô1Ð1rE   c                 óŒ   — | j         rt          t          d¦  «        ¦  «        S |                      t	          d¦  «        ¦  «        S )Nr  Ú
EulerGammarŸ  rI   s     rD   Ú_print_EulerGammazPrettyPrinter._print_EulerGamma_  s=   € ØÔð 	6Ý�m¨GÑ4Ô4Ñ5Ô5Ð5Ø�{Š{�6 ,Ñ/Ô/Ñ0Ô0Ð0rE   c                 óF   — |                       t          d¦  «        ¦  «        S )Nrï  )rP   r   rI   s     rD   Ú_print_CatalanzPrettyPrinter._print_Cataland  s   € Ø�{Š{�6 #™;œ;Ñ'Ô'Ð'rE   c                 ót  — |                       |j        d         ¦  «        }|j        t          j        k    rt          |                     ¦   «         Ž }t          |                     d¦  «        Ž }t          |                     |                       |j        d         ¦  «        ¦  «        Ž }t          j        |_        |S )Nr   z mod rk   )rP   r\   r³   r   r  r]   ru   r¸   rs  s      rD   Ú
_print_ModzPrettyPrinter._print_Modg  s†   € Ø—’˜DœI aœLÑ)Ô)ˆØŒ=�:œ>Ò)Ð)Ý §¢¡¤Ð/ˆEÝ˜EŸKšK¨Ñ0Ô0Ð1ˆÝ˜EŸKšK¨¯ª°D´I¸a´LÑ(AÔ(AÑBÔBÐCˆÝ"œˆŒØˆrE   c                 óæ  — |                       ||¬¦  «        }g g }}d„ }t          |¦  «        D �]†\  }}|j        r†|                     ¦   «         rr|                     d¬¦  «        \  }	}
|	dk    rt          |
ddiŽ}nt          |	 g|
¢R ddiŽ}|                      |¦  «        }|                      |||¦  «        ¦  «         Œ“|j        r6|j	        dk    r+|                     d ¦  «         |                     |¦  «         ŒÐ|j
        r=|dk     r7|                      | ¦  «        }|                      |||¦  «        ¦  «         �Œ|j        rC|                     t          |                      |¦  «                             ¦   «         Ž ¦  «         �Œ^|                     |                      |¦  «        ¦  «         �Œˆ|r­d	}|D ]}|�|                     ¦   «         dk    r nŒd}|D ]…}||         d}}|dk     r| d	}}|rDt          t          |j        ¦  «        ¦  «        t          t          |j	        ¦  «        ¦  «        z  }n|                      |¦  «        }|r |||¦  «        }|||<   Œ†t          j        |Ž S )
N©r/   c                 ó4  — |dk    r|                       ¦   «         dk    rd}nd}nd}| j        t          j        k    s| j        t          j        k    rt          |                      ¦   «         Ž }n| }t          j        ||¦  «        }t          |dt          j        iŽS )z'Prepend a minus sign to a pretty form. r   rk   z- rI  r>  r³   )r:  r³   r   ÚNEGÚADDr   r]   r·   )r`   r�  Ú	pform_negrÃ  s       rD   Úpretty_negativez1PrettyPrinter._print_Add.<locals>.pretty_negativet  s’   € ð ˜ŠzˆzØ—<’<‘>”> AÒ%Ð%Ø $�I�Ià #�I�Ià!�	à”¥
¤Ò.Ð.Ø”=¥J¤NÒ2Ð2Ý §¢¡¤Ð/��à�Ý” 	¨1Ñ-Ô-ˆAõ °qÐ9¥j¤nÐ9Ð9Ð9rE   F)Úrationalr�  r)  rk   r   T)Ú_as_ordered_termsrö  Úis_Mulré  Úas_coeff_mulr   rP   rN  Úis_RationalÚqÚ	is_NumberÚis_Relationalr   r]   r:  r>   rÃ  r±  )rB   rJ   r/   ÚtermsÚpformsr™  r®  r.   rL  rë  ÚotherÚnegtermr`   ÚlargeÚnegatives                  rD   Ú
_print_AddzPrettyPrinter._print_Addp  sº  € Ø×&Ò& t°5Ð&Ñ9Ô9ˆØ˜b�ˆð	:ð 	:ð 	:õ* ! Ñ'Ô'ð 	1ñ 	1‰GˆAˆtØŒ{ð 1˜t×<Ò<Ñ>Ô>ð 1Ø#×0Ò0¸%Ð0Ñ@Ô@‘��uØ˜B’;�;Ý! 5Ð9°5Ð9Ð9�G�Gå! 5 &ÐA¨5ÐAÐAÐA¸5ÐAÐA�GØŸš GÑ,Ô,�Ø—’˜o˜o¨e°QÑ7Ô7Ñ8Ô8Ð8Ð8ØÔ!ð 	1 d¤f¨q¢j jØ—’˜dÑ#Ô#Ð#Ø—’˜qÑ!Ô!Ð!Ð!Ø”ð 1 D¨1¢H HØŸš T EÑ*Ô*�Ø—’˜o˜o¨e°QÑ7Ô7Ñ8Ô8Ð8Ñ8ØÔ#ð 1Ø—’�j¨$¯+ª+°dÑ*;Ô*;×*BÒ*BÑ*DÔ*DÐEÑFÔFÐFÑFà—’˜dŸkšk¨$Ñ/Ô/Ñ0Ô0Ð0Ñ0àð 	"ØˆEàð ð �ØÐ$¨¯ª©¬¸!Ò);Ð);Ø�Eøà�àð "ð "�Ø!& q¤¨5�h�à˜!’8�8Ø&* U¨D˜(�Dàð .Ý&¥s¨4¬6¡{¤{Ñ3Ô3µJ½sÀ4Ä6¹{¼{Ñ4KÔ4KÑK�E�Eà ŸKšK¨Ñ-Ô-�Eàð 6Ø+˜O¨E°1Ñ5Ô5�Eà!��q‘	�	åÔ! 6Ð*Ð*rE   c                 óž  ‡ ‡	— ddl mŠ	 |j        }|d         t          j        u s!t          d„ |dd …         D ¦   «         ¦  «        ryt          t          ‰ j        |¦  «        ¦  «        }|d         dk    }|rt          ddd¦  «        |d<   t          j
        |Ž }|r#t          d|j        z   |j        |j        ¦  «        }|S g }g }‰ j        dvr|                     ¦   «         }nt          |j        ¦  «        }t!          |ˆ	fd	„¬
¦  «        }|D �]$}|j        rŠ|j        rƒ|j        j        rw|j        j        rk|j        dk    r1|                     t/          |j        |j         d¬¦  «        ¦  «         Œe|                     t/          |j        |j         ¦  «        ¦  «         Œ”|j        rt|t          j        urf|j        dk    r'|                     t7          |j        ¦  «        ¦  «         |j        dk    r'|                     t7          |j        ¦  «        ¦  «         �Œ|                     |¦  «         �Œ&ˆ fd„|D ¦   «         }ˆ fd„|D ¦   «         }t;          |¦  «        dk    rt          j
        |Ž S t;          |¦  «        dk    r2|                     ‰                      t          j        ¦  «        ¦  «         t          j
        |Ž t          j
        |Ž z  S )Nr   )ÚQuantityc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rG   )r<   r	   )r“  rË   s     rD   rf  z+PrettyPrinter._print_Mul.<locals>.<genexpr>À  s,   è è € Ð"OÐ"O¸s¥:¨cµ6Ñ#:Ô#:Ð"OÐ"OÐ"OÐ"OÐ"OÐ"OrE   rk   z-1r  rI  )ÚoldÚnonec                 óx   •— t          | ‰¦  «        p)t          | t          ¦  «        ot          | j        ‰¦  «        S rG   )r<   r   r  )rž   r¿  s    €rD   r³  z*PrettyPrinter._print_Mul.<locals>.<lambda>Ö  s8   ø€ ­*°Q¸Ñ*AÔ*Að +KÝ  ¥CÑ(Ô(ÐI­Z¸¼ÀÑ-IÔ-Ið rE   rÎ   r�  Fr(  c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  )r“  ÚairB   s     €rD   r•  z,PrettyPrinter._print_Mul.<locals>.<listcomp>é  ó#   ø€ Ð)Ð)Ð) ˆT�[Š[˜‰_Œ_Ð)Ð)Ð)rE   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  )r“  ÚbirB   s     €rD   r•  z,PrettyPrinter._print_Mul.<locals>.<listcomp>ê  rÆ  rE   )Úsympy.physics.unitsr¿  r\   r   ÚOnerr  r  ÚmaprP   r   r÷  r  r«   r³   r/   Úas_ordered_factorsrÑ   Úis_commutativeÚis_Powr  r³  Úis_negativerN  r   r  r†  rÃ  r
   r´  r(  )
rB   rŽ  r\   ÚstrargsÚnegoneÚobjrø  rÞ  rê  r¿  s
   `        @rD   r+  zPrettyPrinter._print_Mul¸  sé  øø€ Ø0Ð0Ð0Ð0Ð0Ð0ð Œ|ˆØ�Œ7•a”eÐÐ�sÐ"OÐ"OÀdÈ1È2È2ÄhÐ"OÑ"OÔ"OÑOÔOÐÝ�3˜tœ{¨DÑ1Ô1Ñ2Ô2ˆGð ˜Q”Z 4Ò'ˆFØð 3Ý'¨¨Q°Ñ2Ô2�˜‘
ÝÔ$ gÐ.ˆCØð IÝ   s¤u¡¨c¬l¸C¼KÑHÔH�ØˆJàˆØˆàŒ:˜_Ð,Ð,Ø×-Ò-Ñ/Ô/ˆDˆDå˜œÑ%Ô%ˆDõ �dð !Kð !Kð !Kð !Kð Lñ Lô Lˆð ð 	ñ 	ˆDØÔ"ð  t¤{ð °t´xÔ7Kð ÐPTÔPXÔPdð Ø”8˜r’>�>Ø—H’H�S ¤¨T¬X¨IÀÐFÑFÔFÑGÔGÐGÐGà—H’H�S ¤¨T¬X¨IÑ6Ô6Ñ7Ô7Ð7Ð7ØÔ!ð  dµ!´*Ð&<Ð&<Ø”6˜Q’;�;Ø—H’H�h t¤vÑ.Ô.Ñ0Ô0Ð0Ø”6˜Q’;�;Ø—H’H�h t¤vÑ.Ô.Ñ0Ô0Ð0ùà—’˜‘”�‘ð *Ð)Ð)Ð) qÐ)Ñ)Ô)ˆØ)Ð)Ð)Ð) qÐ)Ñ)Ô)ˆõ ˆq‰6Œ6�QŠ;ˆ;ÝÔ% qÐ)Ð)å�1‰vŒv˜Š{ˆ{Ø—’˜$Ÿ+š+¥a¤eÑ,Ô,Ñ.Ô.Ð.ÝÔ% qÐ)­*Ô*<¸aÐ*@Ñ@Ð@rE   c                 ó
  ‡	‡
— |                       |¦  «        }| j        d         rr| j        rk|dk    re|                     ¦   «         dk    rM|                     ¦   «         dk    s|j        r.|j        r't          |                     t          d         ¦  «        Ž S t          dd¦  «        Š	t          dd¦  «        ‰	z   }|                       |¦  «        }|                     ¦   «         dk    r.|                       |¦  «        |                       d|z  ¦  «        z  S |dk    rdn!t          |¦  «                             d¦  «        }t          |¦  «        dk    rdt          |¦  «        dz
  z  |z   }t          |dz   |z   ¦  «        }d	|_        |                     ¦   «         dz
  Š
t          d                     ˆ	ˆ
fd
„t#          ‰
¦  «        D ¦   «         ¦  «        ¦  «        }‰
dz
  |_        t          |                     |¦  «        Ž }t'          d|j        ¦  «        |_        t          t)          dd|                     ¦   «         z   ¦  «        ¦  «        }t          |                     |¦  «        Ž }t          |                     |¦  «        Ž }|S )Nr4   r§   rk   rr  rq  r  r¦   ra  r   c              3   ó@   •K  — | ]}d ‰|z
  dz
  z  ‰z   d |z  z   V — ŒdS )r¦   rk   NrO   )r“  r.   Ú_zZÚ
linelengths     €€rD   rf  z0PrettyPrinter._print_nth_root.<locals>.<genexpr>  sS   øè è € ð (
ð (
àð �˜a‘ !Ñ#Ñ$ sÑ*¨S°©UÑ2ð(
ð (
ð (
ð (
ð (
ð (
rE   rï   )rP   r=   rM   r:  r©   rš   r›   r   r^   Únth_rootr   r>   Úljustr(  r   r«   rs  r'  ru   r¨   r   rª   )rB   r  r(   ÚbprettyÚrootsignÚrprettyr  Údiagonalr  rÕ  rÖ  s            @@rD   Ú_print_nth_rootzPrettyPrinter._print_nth_rootõ  s`  øø€ Ø—+’+˜dÑ#Ô#ˆð ŒNÐ2Ô3ð 	:¸Ô8Ið 	:Ø˜’	�	˜gŸnšnÑ.Ô.°!Ò3Ð3Ø—’‘” AÒ%Ð%Ø”_ð &Ø)-Ô)<ð &å˜wŸ|š|­H°Q¬KÑ8Ô8Ð9Ð9õ �3˜‰lŒlˆÝ˜˜a‘=”= 3Ñ&ˆà—+’+˜dÑ#Ô#ˆà�>Š>ÑÔ˜qÒ Ð Ø—;’;˜tÑ$Ô$ d§k¢k°!°D±&Ñ&9Ô&9Ñ9Ð9à˜A’I�Iˆbˆb¥3 w¡<¤<×#5Ò#5°aÑ#8Ô#8ˆÝˆs‰8Œ8�aŠ<ˆ<Ø�C ™HœH q™LÑ)¨HÑ4ˆHå˜c D™j¨8Ñ3Ñ4Ô4ˆØˆÔà—^’^Ñ%Ô%¨Ñ)ˆ
Ý˜dŸišið (
ð (
ð (
ð (
ð (
å˜:Ñ&Ô&ð(
ñ (
ô (
ñ 
ô 
ñ ô ˆð
 '¨™NˆÔå˜xŸ~š~¨hÑ7Ô7Ð8ˆõ    7Ô#3Ñ4Ô4ˆÔå•t˜C  W§]¢]¡_¤_Ñ!4Ñ5Ô5Ñ6Ô6ˆÝ˜Ÿš aÑ(Ô(Ð)ˆÝ˜Ÿš˜xÑ(Ô(Ð)ˆØˆrE   c                 óø  — ddl m} |                     ¦   «         \  }}|j        rÑ|t          j        u r%t          d¦  «        |                      |¦  «        z  S  ||¦  «        \  }}|t          j        u r?|j	        r8|j
        s1|j        s|j        r#| j        d         r|                      ||¦  «        S |j        r<|dk     r6t          d¦  «        |                      t          || d¬¦  «        ¦  «        z  S |j        rTt          |                      |¦  «                             ¦   «         Ž                      |                      |¦  «        ¦  «        S |                      |¦  «        |                      |¦  «        z  S )Nr   )Úfractionr  r5   Fr(  )Úsympy.simplify.simplifyrß  Úas_base_exprÍ  r   ÚNegativeOner   rP   rÊ  Úis_Atomrš   r³  rœ   r=   rÝ  r   r¶  r]   Ú__pow__)rB   Úpowerrß  rÞ  rU   r¬   rÿ   s          rD   Ú
_print_PowzPrettyPrinter._print_Pow!  s\  € Ø4Ð4Ð4Ð4Ð4Ð4Ø× Ò Ñ"Ô"‰ˆˆ1ØÔð 	OØ•A”MÐ!Ð!Ý! #‘” t§{¢{°1¡~¤~Ñ5Ð5Ø�8˜A‘;”;‰DˆAˆqØ•A”Eˆzˆz˜aœiˆz°´ˆzÀ!Ä-ˆzÐSTÔS^ˆzØœ Ô7ð à×+Ò+¨A¨qÑ1Ô1Ð1ØŒ}ð O  Q¢ Ý! #‘” t§{¢{µ3°q¸1¸"ÀuÐ3MÑ3MÔ3MÑ'NÔ'NÑNÐNàŒ?ð 	PÝ˜tŸ{š{¨1™~œ~×4Ò4Ñ6Ô6Ð7×?Ò?ÀÇÂÈAÁÄÑOÔOÐOà�{Š{˜1‰~Œ~˜tŸ{š{¨1™~œ~Ñ-Ð-rE   c                 óB   — |                       |j        d         ¦  «        S r_  )rP   r\   rI   s     rD   Ú_print_UnevaluatedExprz$PrettyPrinter._print_UnevaluatedExpr3  s   € Ø�{Š{˜4œ9 Qœ<Ñ(Ô(Ð(rE   c                 óú  — |dk    rJ|dk     r(t          t          |¦  «        t           j        ¬¦  «        S t          t          |¦  «        ¦  «        S t          |¦  «        dk    r—t          |¦  «        dk    r„|dk     rEt          t          |¦  «        t           j        ¬¦  «        t          t          |¦  «        ¦  «        z  S t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        z  S d S )Nrk   r   )r³   é
   )r   r>   r«  Úabs)rB   rÃ  r´  s      rD   Ú__print_numer_denomz!PrettyPrinter.__print_numer_denom6  sÆ   € Ø�Š6ˆ6Ø�1ŠuˆuÝ!¥# a¡&¤&µ*´.ÐAÑAÔAÐAå!¥# a¡&¤&Ñ)Ô)Ð)Ý�‰VŒV�rŠ\ˆ\�c !™fœf¨šl˜là�1ŠuˆuÝ!¥# a¡&¤&µ*´.ÐAÑAÔAÅ*ÍSÐQRÉVÌVÑBTÔBTÑTÐTõ
 "¥# a¡&¤&Ñ)Ô)­*µS¸±V´VÑ*<Ô*<Ñ<Ð<à�4rE   c                 ót   — |                       |j        |j        ¦  «        }|�|S |                      |¦  «        S rG   )Ú!_PrettyPrinter__print_numer_denomrÃ  r´  rK   ©rB   rJ   r,  s      rD   Ú_print_RationalzPrettyPrinter._print_RationalH  s:   € Ø×)Ò)¨$¬&°$´&Ñ9Ô9ˆàÐØˆMà×$Ò$ TÑ*Ô*Ð*rE   c                 ót   — |                       |j        |j        ¦  «        }|�|S |                      |¦  «        S rG   )rî  Ú	numeratorÚdenominatorrK   rï  s      rD   Ú_print_FractionzPrettyPrinter._print_FractionP  s;   € Ø×)Ò)¨$¬.¸$Ô:JÑKÔKˆàÐØˆMà×$Ò$ TÑ*Ô*Ð*rE   c                 ó`  — t          |j        ¦  «        dk    r\t          |j        ¦  «        sH|                      |j        d         ¦  «        |                      t          |j        ¦  «        ¦  «        z  S | j        rt          d¦  «        nd}|                      |j        d d d|z  d„ ¬¦  «        S )Nrk   r   ÚMultiplicationrž   rÐ   c                 ó,   — | j         p| j        p| j        S rG   )Úis_UnionÚis_IntersectionÚis_ProductSet©Úsets    rD   r³  z1PrettyPrinter._print_ProductSet.<locals>.<lambda>^  s#   € ¸C¼Lð =LØ#&Ô#6ð=LØ:=Ô:Kð rE   rµ  )r(  Úsetsr   rP   rM   r    r[   )rB   rÃ  Ú	prod_chars      rD   Ú_print_ProductSetzPrettyPrinter._print_ProductSetX  sª   € ÝˆqŒv‰;Œ;˜!ÒÐ¥K°´Ñ$7Ô$7ÐØ—;’;˜qœv aœyÑ)Ô)¨T¯[ª[½¸Q¼V¹¼Ñ-EÔ-EÑEÐEà9=Ô9JÐS�Ð$4Ñ5Ô5Ð5ÐPSˆIØ—?’? 1¤6¨4°°vÀ	Ñ7Ið1Lð 1Lð #ñ Mô Mð MrE   c                 óh   — t          |j        t          ¬¦  «        }|                      |ddd¦  «        S )NrÎ   r¿  Ú}rÄ  )rÑ   r\   r   r[   )rB   r  rn  s      rD   Ú_print_FiniteSetzPrettyPrinter._print_FiniteSeta  s/   € Ý�q”vÕ#3Ð4Ñ4Ô4ˆØ�Š˜u c¨3°Ñ6Ô6Ð6rE   c                 ó>  — | j         rt          d¦  «        }nd}|j        j        r(|j        j        r|j        j        r|ddd|f}nÁ|ddd|f}n¹|j        j        r||d         |j        z
  |d         f}n“|j        j        r/t          |¦  «        }t          |¦  «        t          |¦  «        |f}nXt          |¦  «        dk    r6t          |¦  «        }t          |¦  «        t          |¦  «        ||d         f}nt          |¦  «        }|                      |ddd	¦  «        S )
NÚDotsú...r�  r   rk   r6  r¿  r  rÄ  )rM   r    ÚstartÚis_infiniteÚstopÚstepÚis_positiveÚiterr·   r(  r  r[   )rB   r  ÚdotsÚprintsetÚits        rD   Ú_print_RangezPrettyPrinter._print_Rangee  s#  € àÔð 	Ý˜vÑ&Ô&ˆDˆDàˆDàŒ7Ôð 	  1¤6Ô#5ð 	 ØŒvÔ!ð 0Ø  Q¨¨4Ð/��à  A r¨4Ð/��ØŒWÔ ð 		 Ø˜Q˜rœU Q¤V™^¨Q¨r¬UÐ2ˆHˆHØŒVÔð 	 Ý�a‘”ˆBÝ˜B‘x”x¥ b¡¤¨4Ð/ˆHˆHÝ�‰VŒV�aŠZˆZÝ�a‘”ˆBÝ˜B‘x”x¥ b¡¤¨4°°2´Ð6ˆHˆHå˜Q‘x”xˆHà�Š˜x¨¨c°4Ñ9Ô9Ð9rE   c                 óâ   — |j         |j        k    r$|                      |j        d d…         dd¦  «        S |j        rd}nd}|j        rd}nd}|                      |j        d d…         ||¦  «        S )	Nrk   r¿  r  ro   rŸ  rp   r   r§   )r  Úendr[   r\   Ú	left_openÚ
right_open©rB   r.   r^   ru   s       rD   Ú_print_IntervalzPrettyPrinter._print_Interval~  s   € ØŒ7�a”eÒÐØ—?’? 1¤6¨"¨1¨"¤:¨s°CÑ8Ô8Ð8ð Œ{ð Ø��à�àŒ|ð Ø��à�à—?’? 1¤6¨"¨1¨"¤:¨t°UÑ;Ô;Ð;rE   c                 óR   — d}d}|                       |j        d d…         ||¦  «        S )Nri  rj  r§   ©r[   r\   r  s       rD   Ú_print_AccumulationBoundsz'PrettyPrinter._print_AccumulationBounds�  s,   € ØˆØˆà�Š˜qœv b q bœz¨4°Ñ7Ô7Ð7rE   c                 óh   — dt          dd¦  «        z  }|                      |j        d d |d„ ¬¦  «        S )NrÐ   ÚIntersectionr¬   c                 ó,   — | j         p| j        p| j        S rG   )rú  rø  Úis_Complementrû  s    rD   r³  z3PrettyPrinter._print_Intersection.<locals>.<lambda>š  s#   € ¸Ô8Ið 9AØ"œ|ð9AØ/2Ô/@ð rE   rµ  ©r    r[   r\   ©rB   r.  rÆ  s      rD   Ú_print_Intersectionz!PrettyPrinter._print_Intersection•  sJ   € à�[¨¸Ñ=Ô=Ñ=ˆ	à�Š˜qœv t¨T°9ð-Að -Að ñ Bô Bð 	BrE   c                 óh   — dt          dd¦  «        z  }|                      |j        d d |d„ ¬¦  «        S )NrÐ   ÚUnionr#   c                 ó,   — | j         p| j        p| j        S rG   )rú  rù  r  rû  s    rD   r³  z,PrettyPrinter._print_Union.<locals>.<lambda>¢  s$   € ¸Ô8Ið 9HØ"Ô2ð9HØ69Ô6Gð rE   rµ  r  )rB   r.  Úunion_delimiters      rD   Ú_print_UnionzPrettyPrinter._print_Union�  sJ   € à ¥;¨w¸Ñ#<Ô#<Ñ<ˆà�Š˜qœv t¨T°?ð-Hð -Hð ñ Iô Ið 	IrE   c                 óŒ   — | j         st          d¦  «        ‚dt          d¦  «        z  }|                      |j        d d |¦  «        S )Nz?ASCII pretty printing of SymmetricDifference is not implementedrÐ   ÚSymmetricDifference)rM   rj  r    r[   r\   )rB   r.  Úsym_delimeters      rD   Ú_print_SymmetricDifferencez(PrettyPrinter._print_SymmetricDifference¥  sJ   € ØÔ ð 	iÝ%Ð&gÑhÔhÐhà¥Ð-BÑ!CÔ!CÑCˆà�Š˜qœv t¨T°=ÑAÔAÐArE   c                 óF   — d}|                       |j        d d |d„ ¬¦  «        S )Nz \ c                 ó,   — | j         p| j        p| j        S rG   )rú  rù  rø  rû  s    rD   r³  z1PrettyPrinter._print_Complement.<locals>.<lambda>²  s    €  cÔ&7ð '/¸3Ô;Nð '/Ø"%¤,ð rE   rµ  r  r  s      rD   Ú_print_ComplementzPrettyPrinter._print_Complement­  s6   € àˆ	à�Š˜qœv t¨T°9ð/ð /ð ñ 0ô 0ð 	0rE   c                 ó  ‡— | j         rt          d¦  «        ŠndŠ|j        }|j        }|j        }|                      |j        ¦  «        }t          |¦  «        dk    rA|                      |d         ‰|d         fd¬¦  «        }|  	                    ||ddd	d¬
¦  «        S t          ˆfd„t          ||¦  «        D ¦   «         ¦  «        }|                      |d d…         d¬¦  «        }|  	                    ||ddd	d¬
¦  «        S )NÚSmallElementOfÚinrk   r   r¦   rÅ  r¿  r  T©r^   ru   rÑ  rÆ  c              3   ó8   •K  — | ]\  }}|d ‰d |dfD ]}|V — ŒŒdS )r¦   rÄ  NrO   )r“  rA  Úsetvr:   Úinns       €rD   rf  z0PrettyPrinter._print_ImageSet.<locals>.<genexpr>Ë  sX   øè è € ð <ð <¡	  TØ  S¨#¨t°TÐ:ð<ð <Àa˜!ð <ð <ð <ð <ð <ð <ð <rE   r�  r  )rM   r    r$  Ú	base_setsrf  rP   rJ   r(  r[   r×  r  r)  )	rB   ÚtsÚfunrý  rf  rJ   r   Úpargsr2  s	           @rD   Ú_print_ImageSetzPrettyPrinter._print_ImageSetµ  sC  ø€ ØÔð 	ÝÐ.Ñ/Ô/ˆCˆCàˆCØŒhˆØŒ|ˆØ”Mˆ	Ø�{Š{˜3œ8Ñ$Ô$ˆõ ˆy‰>Œ>˜QÒÐØ—’ ¨1¤¨s°D¸´GÐ <Ø*-ð  ñ /ô /ˆAà×*Ò*¨4°Ø03¸3Ø:>È#ð +ñ Oô Oð Oõ ð <ð <ð <ð <­S°¸DÑ-AÔ-Að <ñ <ô <ñ <ô <ˆEà—’  c r c¤
°b�Ñ9Ô9ˆAØ×*Ò*¨4°Ø03¸3Ø:>È#ð +ñ Oô Oð OrE   c                 óÎ  — | j         rt          d¦  «        }t          d¦  «        }nd}d}|                      t          |j        ¦  «        ¦  «        }t          |j        dd ¦  «        }|�-|                      |j                             ¦   «         ¦  «        }nQ|                      |j        ¦  «        }| j         r0|                      |¦  «        }t          | 
                    ¦   «         Ž }|j        t          j        u r|                      ||dddd	¬
¦  «        S |                      |j        ¦  «        }|                      |||||fd	¬¦  «        }|                      ||dddd	¬
¦  «        S )Nr-  r×   r.  ÚandÚas_exprr¿  r  Tr¦   r/  rÅ  )rM   r    r[   r   r	  ÚgetattrÚ	conditionrP   r:  r   r]   Úbase_setr   ÚUniversalSetr×  )	rB   r4  r2  Ú_andr¶  r:  rÀ  r  rZ  s	            rD   Ú_print_ConditionSetz!PrettyPrinter._print_ConditionSetÒ  sn  € ØÔð 	ÝÐ.Ñ/Ô/ˆCõ ˜uÑ%Ô%ˆDˆDàˆCØˆDà—O’O¥E¨"¬&¡M¤MÑ2Ô2ˆ	Ý˜"œ,¨	°4Ñ8Ô8ˆØÐØ—;’;˜rœ|×3Ò3Ñ5Ô5Ñ6Ô6ˆDˆDà—;’;˜rœ|Ñ,Ô,ˆDØÔ ð 2Ø—{’{ 4Ñ(Ô(�Ý! 4§;¢;¡=¤=Ð1�àŒ;�!œ.Ð(Ð(Ø×*Ò*¨9°dÀØ14ÀTØ58ð +ñ :ô :ð :ð �{Š{˜2œ;Ñ'Ô'ˆØ�OŠO˜Y¨¨T°4¸Ð>Ø&)ð ñ +ô +ˆà×&Ò& y°!¸#ÀSØ6:Àcð 'ñ Kô Kð 	KrE   c                 ó:  — | j         rt          d¦  «        }nd}|                      |j        ¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }|                      |||fd¬¦  «        }|                      ||dddd¬¦  «        S )	Nr-  r.  r¦   rÅ  r¿  r  Tr/  )rM   r    r[   r¶  rP   rJ   rý  r×  )rB   r4  r2  r¶  rJ   ÚprodsetsrZ  s          rD   Ú_print_ComplexRegionz"PrettyPrinter._print_ComplexRegionñ  s¬   € ØÔð 	ÝÐ.Ñ/Ô/ˆCˆCàˆCØ—O’O B¤LÑ1Ô1ˆ	Ø�{Š{˜2œ7Ñ#Ô#ˆØ—;’;˜rœwÑ'Ô'ˆà�OŠO˜Y¨¨XÐ6Ø&)ð ñ +ô +ˆà×&Ò& t¨Q°SÀØ6:Àcð 'ñ Kô Kð 	KrE   c           	      ó  — |j         \  }}| j        rYdt          d¦  «        › d�}t          t	          j        |                      |¦  «        ||                      |¦  «        ¦  «        ddiŽS t          t          |¦  «        ¦  «        S )Nr¦   Ú	ElementOfr³   rt  )r\   rM   r    r   r   r·   rP   r   )rB   rU   rA  rü  Úels        rD   Ú_print_ContainszPrettyPrinter._print_Containsÿ  s“   € Ø”6‰ˆˆSØÔð 	'Ø0•[ Ñ-Ô-Ð0Ð0Ð0ˆBÝ�zœ¨t¯{ª{¸3Ñ/?Ô/?Ø/1°4·;²;¸sÑ3CÔ3Cñ Eô  Eð QØNOðQð Qð Qõ �d 1™gœgÑ&Ô&Ð&rE   c                 óB  — |j         j        t          j        u r2|j        j        t          j        u r|                      |j        ¦  «        S | j        rt          d¦  «        }nd}|  	                    | 
                    ¦   «         ¦  «        |                      |¦  «        z   S )Nr  r  )rò  Úformular   rn  ÚbnrP   Úa0rM   r    r½  Útruncate)rB   r  r  s      rD   Ú_print_FourierSeriesz"PrettyPrinter._print_FourierSeries	  s�   € ØŒ4Œ<�1œ6Ð!Ð! a¤d¤lµa´fÐ&<Ð&<Ø—;’;˜qœtÑ$Ô$Ð$ØÔð 	Ý˜vÑ&Ô&ˆDˆDàˆDØ�Š˜qŸzšz™|œ|Ñ,Ô,¨t¯{ª{¸4Ñ/@Ô/@Ñ@Ð@rE   c                 ó6   — |                       |j        ¦  «        S rG   )r½  Úinfinite©rB   r  s     rD   Ú_print_FormalPowerSeriesz&PrettyPrinter._print_FormalPowerSeries	  s   € Ø�Š˜qœzÑ*Ô*Ð*rE   c                 óä   — t          |                      |j        ¦  «                             ¦   «         Ž }|                      t	          d¦  «        ¦  «        }t          |                     |¦  «        Ž S )NÚSetExpr)r   rP   rü  r]   r   ru   )rB   ÚseÚ
pretty_setÚpretty_names       rD   Ú_print_SetExprzPrettyPrinter._print_SetExpr	  sX   € Ý §¢¨R¬VÑ!4Ô!4×!;Ò!;Ñ!=Ô!=Ð>ˆ
Ø—k’k¥&¨Ñ"3Ô"3Ñ4Ô4ˆÝ˜;×,Ò,¨ZÑ8Ô8Ð9Ð9rE   c                 ó–  — | j         rt          d¦  «        }nd}t          |j        j        ¦  «        dk    st          |j        j        ¦  «        dk    rt          d¦  «        ‚|j        t          j        u rd|j        }|| 	                    |dz
  ¦  «        | 	                    |dz
  ¦  «        | 	                    |dz
  ¦  «        | 	                    |¦  «        f}n\|j        t          j
        u s|j        dk    r/|d d…         }|                     |¦  «         t          |¦  «        }nt          |¦  «        }|                      |¦  «        S )	Nr  r  r   z@Pretty printing of sequences with symbolic bound not implementedr5  r§   rk   r6  )rM   r    r(  r  Úfree_symbolsr  rj  r   r‡  rë  r†  ÚlengthrN  r  Ú_print_list)rB   r  r  r  r  s        rD   Ú_print_SeqFormulazPrettyPrinter._print_SeqFormula	  s)  € ØÔð 	Ý˜vÑ&Ô&ˆDˆDàˆDåˆqŒwÔ#Ñ$Ô$ qÒ(Ð(­C°´Ô0CÑ,DÔ,DÀqÒ,HÐ,HÝ%Ð&hÑiÔiÐiàŒ7•aÔ(Ð(Ð(Ø”6ˆDØ˜aŸgšg d¨Q¡hÑ/Ô/°·²¸À¹Ñ1BÔ1BØ—’˜˜q™Ñ!Ô! 1§7¢7¨4¡=¤=ð2ˆHˆHàŒV•q”zÐ!Ð! Q¤X°¢\ \Ø˜˜!˜”uˆHØ�OŠO˜DÑ!Ô!Ð!Ý˜X‘”ˆHˆHå˜Q‘x”xˆHØ×Ò Ñ)Ô)Ð)rE   c                 ó   — dS )NFrO   r²  s    rD   r³  zPrettyPrinter.<lambda>3	  s   €  5€ rE   c                 ón  — g }|D ]i}|                       |¦  «        }	 ||¦  «        rt          |	                     ¦   «         Ž }	|r|                     |¦  «         |                     |	¦  «         Œj|st	          d¦  «        }
nt          t	          j        |Ž Ž }
t          |
                     |||¬¦  «        Ž }
|
S )Nr  r˜  )rP   r   r]   rN  r   r·   )rB   Úseqr^   ru   rÆ  r¶  rÑ  r¸  rê  r`   r  s              rD   r[   zPrettyPrinter._print_seq2	  sÃ   € ð ˆØð 	!ð 	!ˆDØ—K’K Ñ%Ô%ˆEØˆ|˜DÑ!Ô!ð 4Ý" E§L¢L¡N¤NÐ3�Øð )Ø—’˜iÑ(Ô(Ð(Ø�MŠM˜%Ñ Ô Ð Ð àð 	6Ý˜2‘”ˆAˆAå�JœO¨VÐ4Ð5ˆAå˜Ÿš  u¸^˜ÑLÔLÐMˆØˆrE   c                 ó°   — d }|D ]?}|€|}Œt          |                     |¦  «        Ž }t          |                     |¦  «        Ž }Œ@|€t          d¦  «        S |S )Nr  )r   ru   )rB   rÆ  r\   r`   rË   s        rD   rs  zPrettyPrinter.joinF	  sf   € Øˆàð 	6ð 	6ˆCØˆ}Ø��å" E§K¢K°	Ñ$:Ô$:Ð;�Ý" E§K¢K°Ñ$4Ô$4Ð5��àˆ=Ý˜b‘>”>Ð!àˆLrE   c                 ó0   — |                       |dd¦  «        S r#  ©r[   )rB   r»   s     rD   r[  zPrettyPrinter._print_listU	  s   € Ø�Š˜q # sÑ+Ô+Ð+rE   c                 óþ   — t          |¦  «        dk    rTt          t          j        |                      |d         ¦  «        d¦  «        Ž }t          |                     ddd¬¦  «        Ž S |                      |dd¦  «        S )Nrk   r   r  ro   rp   Tr˜  )r(  r   r   r·   rP   r]   r[   )rB   rä  Úptuples      rD   Ú_print_tuplezPrettyPrinter._print_tupleX	  sj   € Ýˆq‰6Œ6�QŠ;ˆ;Ý¥¤°·²¸Q¸q¼TÑ1BÔ1BÀCÑ!HÔ!HÐIˆFÝ˜vŸ}š}¨S°#Àd˜}ÑKÔKÐLÐLà—?’? 1 c¨3Ñ/Ô/Ð/rE   c                 ó,   — |                       |¦  «        S rG   )re  rI   s     rD   Ú_print_TuplezPrettyPrinter._print_Tuple_	  s   € Ø× Ò  Ñ&Ô&Ð&rE   c                 óR  — t          |                     ¦   «         t          ¬¦  «        }g }|D ]d}|                      |¦  «        }|                      ||         ¦  «        }t	          t          j        |d|¦  «        Ž }|                     |¦  «         Œe|                      |dd¦  «        S )NrÎ   z: r¿  r  )	rÑ   Úkeysr   rP   r   r   r·   rN  r[   )rB   rÿ   ri  rn  r­   r’  ÚVr  s           rD   Ú_print_dictzPrettyPrinter._print_dictb	  s”   € Ý�a—f’f‘h”hÕ$4Ð5Ñ5Ô5ˆØˆàð 	ð 	ˆAØ—’˜A‘”ˆAØ—’˜A˜aœDÑ!Ô!ˆAÝ�JœO¨A¨t°QÑ7Ô7Ð8ˆAà�LŠL˜‰OŒOˆOˆOà�Š˜u c¨3Ñ/Ô/Ð/rE   c                 ó,   — |                       |¦  «        S rG   )rk  )rB   rÿ   s     rD   Ú_print_DictzPrettyPrinter._print_Dicto	  s   € Ø×Ò Ñ"Ô"Ð"rE   c                 ó¼   — |st          d¦  «        S t          |t          ¬¦  «        }|                      |¦  «        }t          |                     ddd¬¦  «        Ž }|S )Nzset()rÎ   r¿  r  Tr˜  )r   rÑ   r   r[   r]   ©rB   r  rn  Úprettys       rD   Ú
_print_setzPrettyPrinter._print_setr	  s]   € Øð 	'Ý˜gÑ&Ô&Ð&Ý�qÕ.Ð/Ñ/Ô/ˆØ—’ Ñ'Ô'ˆÝ˜VŸ]š]¨3°ÀD˜]ÑIÔIÐJˆØˆrE   c                 óV  — |st          d¦  «        S t          |t          ¬¦  «        }|                      |¦  «        }t          |                     ddd¬¦  «        Ž }t          |                     ddd¬¦  «        Ž }t          t          j        t          |¦  «        j        |¦  «        Ž }|S )	Nzfrozenset()rÎ   r¿  r  Tr˜  ro   rp   )	r   rÑ   r   r[   r]   r   r·   Útyper�   ro  s       rD   Ú_print_frozensetzPrettyPrinter._print_frozensetz	  s˜   € Øð 	-Ý˜mÑ,Ô,Ð,Ý�qÕ.Ð/Ñ/Ô/ˆØ—’ Ñ'Ô'ˆÝ˜VŸ]š]¨3°ÀD˜]ÑIÔIÐJˆÝ˜VŸ]š]¨3°ÀD˜]ÑIÔIÐJˆÝ�Zœ_­T°!©W¬WÔ-=¸vÑFÔFÐGˆØˆrE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )NÚUniverser>  rý  rP  s     rD   Ú_print_UniversalSetz!PrettyPrinter._print_UniversalSet„	  s1   € ØÔð 	.Ý�k¨*Ñ5Ô5Ñ6Ô6Ð6å˜nÑ-Ô-Ð-rE   c                 ó:   — t          t          |¦  «        ¦  «        S rG   ©r   r   )rB   Úrings     rD   Ú_print_PolyRingzPrettyPrinter._print_PolyRingŠ	  ó   € Ý�$˜t™*œ*Ñ%Ô%Ð%rE   c                 ó:   — t          t          |¦  «        ¦  «        S rG   ry  )rB   Úfields     rD   Ú_print_FracFieldzPrettyPrinter._print_FracField�	  s   € Ý�$˜u™+œ+Ñ&Ô&Ð&rE   c                 ó:   — t          t          |¦  «        ¦  «        S rG   rH   )rB   Úelms     rD   Ú_print_FreeGroupElementz%PrettyPrinter._print_FreeGroupElement�	  s   € Ý�#˜c™(œ(Ñ#Ô#Ð#rE   c                 ó:   — t          t          |¦  «        ¦  «        S rG   ry  )rB   Úpolys     rD   Ú_print_PolyElementz PrettyPrinter._print_PolyElement“	  r|  rE   c                 ó:   — t          t          |¦  «        ¦  «        S rG   ry  )rB   Úfracs     rD   Ú_print_FracElementz PrettyPrinter._print_FracElement–	  r|  rE   c                 óÐ   — |j         r9|                      |                     ¦   «                              ¦   «         ¦  «        S |                      |                     ¦   «         ¦  «        S rG   )Ú
is_aliasedrP   Úas_polyr:  rI   s     rD   Ú_print_AlgebraicNumberz$PrettyPrinter._print_AlgebraicNumber™	  sL   € ØŒ?ð 	/Ø—;’;˜tŸ|š|™~œ~×5Ò5Ñ7Ô7Ñ8Ô8Ð8à—;’;˜tŸ|š|™~œ~Ñ.Ô.Ð.rE   c                 óà   — |                       |j        d¬¦  «        |j        g}t          |                      |¦  «                             ¦   «         Ž }t          |                     d¦  «        Ž }|S )NÚlexr©  ÚCRootOf)r½  rJ   r�  r   r[   r]   r^   ©rB   rJ   r\   r`   s       rD   Ú_print_ComplexRootOfz"PrettyPrinter._print_ComplexRootOfŸ	  s]   € Ø—’ ¤	°�Ñ7Ô7¸¼ÐDˆÝ˜DŸOšO¨DÑ1Ô1×8Ò8Ñ:Ô:Ð;ˆÝ˜EŸJšJ yÑ1Ô1Ð2ˆØˆrE   c                 óT  — |                       |j        d¬¦  «        g}|j        t          j        ur-|                     |                      |j        ¦  «        ¦  «         t          |                      |¦  «         	                    ¦   «         Ž }t          | 
                    d¦  «        Ž }|S )NrŽ  r©  ÚRootSum)r½  rJ   r5  r   ÚIdentityFunctionrN  rP   r   r[   r]   r^   r�  s       rD   Ú_print_RootSumzPrettyPrinter._print_RootSum¥	  s‰   € Ø—’ ¤	°�Ñ7Ô7Ð8ˆàŒ8�1Ô-Ð-Ð-Ø�KŠK˜Ÿš D¤HÑ-Ô-Ñ.Ô.Ð.å˜DŸOšO¨DÑ1Ô1×8Ò8Ñ:Ô:Ð;ˆÝ˜EŸJšJ yÑ1Ô1Ð2ˆàˆrE   c                 ó‚   — | j         rt          d¦  «        › d�}nd}t          t          ||j        z  ¦  «        ¦  «        S )NÚIntegersz_%dzGF(%d))rM   r    r   r   Úmod)rB   rJ   Úforms      rD   Ú_print_FiniteFieldz PrettyPrinter._print_FiniteField°	  sF   € ØÔð 	Ý! *Ñ-Ô-Ð2Ð2Ð2ˆDˆDàˆDå�-¨¨t¬x©Ñ8Ô8Ñ9Ô9Ð9rE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )Nr—  ÚZZrý  rI   s     rD   Ú_print_IntegerRingz PrettyPrinter._print_IntegerRing¸	  s1   € ØÔð 	$Ý�k¨*Ñ5Ô5Ñ6Ô6Ð6å˜dÑ#Ô#Ð#rE   c                 óf   — | j         rt          t          d¦  «        ¦  «        S t          d¦  «        S )NÚ	RationalsÚQQrý  rI   s     rD   Ú_print_RationalFieldz"PrettyPrinter._print_RationalField¾	  s1   € ØÔð 	$Ý�k¨+Ñ6Ô6Ñ7Ô7Ð7å˜dÑ#Ô#Ð#rE   c                 óÔ   — | j         rt          d¦  «        }nd}|j        rt          |¦  «        S |                      t          |dz   t          |j        ¦  «        z   ¦  «        ¦  «        S )NÚRealsÚRRrï   ©rM   r    Úhas_default_precisionr   rP   r   r>   Ú	precision©rB   ÚdomainÚprefixs      rD   Ú_print_RealFieldzPrettyPrinter._print_RealFieldÄ	  si   € ØÔð 	Ý  Ñ)Ô)ˆFˆFàˆFàÔ'ð 	TÝ˜fÑ%Ô%Ð%à—;’;�}¨V°c©\½CÀÔ@PÑ<QÔ<QÑ-QÑRÔRÑSÔSÐSrE   c                 óÔ   — | j         rt          d¦  «        }nd}|j        rt          |¦  «        S |                      t          |dz   t          |j        ¦  «        z   ¦  «        ¦  «        S )NÚ	ComplexesÚCCrï   r¥  r¨  s      rD   Ú_print_ComplexFieldz!PrettyPrinter._print_ComplexFieldÏ	  si   € ØÔð 	Ý  Ñ-Ô-ˆFˆFàˆFàÔ'ð 	TÝ˜fÑ%Ô%Ð%à—;’;�}¨V°c©\½CÀÔ@PÑ<QÔ<QÑ-QÑRÔRÑSÔSÐSrE   c                 óˆ  — t          |j        ¦  «        }|j        j        sVt	          t	          d¦  «                             |                      |j        ¦  «        ¦  «        Ž }|                     |¦  «         |                      |dd¦  «        }t	          | 	                    |                      |j
        ¦  «        ¦  «        Ž }|S ©Núorder=rŸ  r   ©r  Úsymbolsr/   Ú
is_defaultr   ru   rP   rN  r[   r^   r©  ©rB   rJ   r\   r/   r`   s        rD   Ú_print_PolynomialRingz#PrettyPrinter._print_PolynomialRingÚ	  óœ   € Ý�D”LÑ!Ô!ˆàŒzÔ$ð 	Ý¥
¨8Ñ 4Ô 4× :Ò :¸4¿;º;ÀtÄzÑ;RÔ;RÑ SÔ SÐTˆEØ�KŠK˜ÑÔÐà—’  c¨3Ñ/Ô/ˆÝ˜EŸJšJ t§{¢{°4´;Ñ'?Ô'?Ñ@Ô@ÐAˆàˆrE   c                 óˆ  — t          |j        ¦  «        }|j        j        sVt	          t	          d¦  «                             |                      |j        ¦  «        ¦  «        Ž }|                     |¦  «         |                      |dd¦  «        }t	          | 	                    |                      |j
        ¦  «        ¦  «        Ž }|S )Nr²  ro   rp   r³  r¶  s        rD   Ú_print_FractionFieldz"PrettyPrinter._print_FractionFieldæ	  r¸  rE   c                 ó4  — |j         }t          |j        ¦  «        t          |j        ¦  «        k    r|dt          |j        ¦  «        z   fz   }|                      |dd¦  «        }t          |                     |                      |j        ¦  «        ¦  «        Ž }|S r±  )	r´  r>   r/   Údefault_orderr[   r   r^   rP   r©  )rB   rJ   Úgr`   s       rD   Ú_print_PolynomialRingBasez'PrettyPrinter._print_PolynomialRingBaseò	  s   € ØŒLˆÝˆtŒz‰?Œ?�c $Ô"4Ñ5Ô5Ò5Ð5Ø�X¥ D¤J¡¤Ñ/Ð1Ñ1ˆAØ—’  3¨Ñ,Ô,ˆÝ˜EŸJšJ t§{¢{°4´;Ñ'?Ô'?Ñ@Ô@ÐAˆàˆrE   c                 ó€  ‡ ‡— ˆˆ fd„‰j         D ¦   «         }t          ‰                      d|¦  «                             dd¬¦  «        Ž }ˆ fd„‰j        D ¦   «         }t          t          d¦  «                             ‰                      ‰j        ¦  «        ¦  «        Ž }t          t          d¦  «                             ‰                      ‰j        ¦  «        ¦  «        Ž }‰                      d|g|z   ||gz   ¦  «        }t          |                     ¦   «         Ž }t          | 	                    ‰j
        j        ¦  «        Ž }|S )	Nc                 óH   •— g | ]}‰                      |‰j        ¬ ¦  «        ‘ŒS )r©  )r½  r/   )r“  rË   ÚbasisrB   s     €€rD   r•  z6PrettyPrinter._print_GroebnerBasis.<locals>.<listcomp>ü	  s;   ø€ ð +ð +ð +Øð —/’/ #¨U¬[�/Ñ9Ô9ð +ð +ð +rE   rÄ  rŸ  r   rÇ  c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rO   ra  )r“  ÚgenrB   s     €rD   r•  z6PrettyPrinter._print_GroebnerBasis.<locals>.<listcomp> 
  s%   ø€ Ð9Ð9Ð9 c�—’˜SÑ!Ô!Ð9Ð9Ð9rE   zdomain=r²  )Úexprsr   rs  r]   Úgensru   rP   r©  r/   r^   r�   r�   )rB   rÁ  rÄ  rÅ  r©  r/   r`   s   ``     rD   Ú_print_GroebnerBasisz"PrettyPrinter._print_GroebnerBasisû	  s3  øø€ ð+ð +ð +ð +ð +Ø"œ[ð+ñ +ô +ˆå˜DŸIšI d¨EÑ2Ô2×9Ò9¸sÈ#Ð9ÑNÔNÐOˆà9Ð9Ð9Ð9¨U¬ZÐ9Ñ9Ô9ˆåÝ˜	Ñ"Ô"×(Ò(¨¯ª°U´\Ñ)BÔ)BÑCÔCðEˆåÝ˜Ñ!Ô!×'Ò'¨¯ª°E´KÑ(@Ô(@ÑAÔAðCˆð —	’	˜$  ¨$¡°&¸%°Ñ @ÑAÔAˆå˜EŸLšL™NœNÐ+ˆÝ˜EŸJšJ u¤Ô'?Ñ@Ô@ÐAˆàˆrE   c                 óH  ‡ — ‰                       |j        ¦  «        }t          |                     ¦   «         Ž }|                     ¦   «         dk    r|                     ¦   «         nd}t          t          d|¦  «        |j        ¬¦  «        }t          |                     |¦  «        Ž }|j        }|                     ¦   «         dz
  |_        t          |                     ‰  	                    ˆ fd„t          |j        |j        ¦  «        D ¦   «         ¦  «        ¦  «        Ž }||_        |S )Nrk   r§   rò   rÒ  c           
      óÂ   •— g | ][}‰                      ‰                     |d          ¦  «        t          d¦  «        ‰                     |d         ¦  «        fd¬¦  «        ‘Œ\S )r   r_  rk   r  rÅ  )r[   rP   r   )r“  ry  rB   s     €rD   r•  z-PrettyPrinter._print_Subs.<locals>.<listcomp>
  st   ø€ ð 9Cð 9Cð 9Cà"#ð �OŠO˜TŸ[š[¨¨1¬Ñ.Ô.µ°T±
´
¸D¿KºKÈÈ!ÌÑ<MÔ<MÐNØð ñ ô ð9Cð 9Cð 9CrE   )rP   rJ   r   r]   r:  r   r   r«   ru   r[   r)  r¶  rq  )rB   rU   r`   r@  ÚrvertrÞ  s   `     rD   Ú_print_SubszPrettyPrinter._print_Subs
  s  ø€ Ø—’˜AœFÑ#Ô#ˆÝ˜EŸLšL™NœNÐ+ˆà#Ÿlšl™nœn¨qÒ0Ð0ˆE�LŠL‰NŒNˆN°aˆÝ�4  Q™<œ<°%´.ÐAÑAÔAˆÝ˜EŸKšK¨Ñ.Ô.Ð/ˆàŒNˆØŸš™œ¨!Ñ+ˆŒÝ˜EŸKšK¨¯ªð 9Cð 9Cð 9Cð 9Cå'*¨1¬;¸¼Ñ'@Ô'@ð9Cñ 9Cô 9Cñ )Dô )Dñ Eô Eð Fˆð ˆŒØˆrE   c                 ó4  — t          |¦  «        }|                      |j        d         ¦  «        }t          d|                     ¦   «         z  ¦  «        }t          |                     |¦  «        Ž }t          |                     |¦  «        Ž }t          |j        ¦  «        dk    r|S |j        \  }}|}t          |                      |g¦  «                             ¦   «         Ž }	t          t          j
        ||	¦  «        dt           j        iŽ}||_        |	|_        |S )Nr   r¦   rk   r³   )r   rP   r\   r©   r  ru   r(  r[   r]   r   r·   r  rË  rÌ  )
rB   rU   rc   r`   rË   rÔ   rÖ  rž   rË  rÌ  s
             rD   Ú_print_number_functionz$PrettyPrinter._print_number_function
  sù   € õ ˜4Ñ Ô ˆØ�kŠk˜!œ& œ)Ñ$Ô$ˆÝ˜s 3§9¢9¡;¤;™Ñ/Ô/ˆ	Ý 	§¢°Ñ 4Ô 4Ð5ˆ	Ý˜EŸKšK¨	Ñ2Ô2Ð3ˆÝˆqŒv‰;Œ;˜!ÒÐØˆLØŒv‰ˆˆ1àˆ
Ý §¢°!°Ñ!5Ô!5×!<Ò!<Ñ!>Ô!>Ð?ˆ
ÝÝ&0¤o°jÀ*Ñ&MÔ&MðOÝ”OðOð Oˆà%ˆÔØ%ˆÔØˆrE   c                 ó.   — |                       |d¦  «        S )Nr‹  ©rÌ  rT   s     rD   Ú_print_eulerzPrettyPrinter._print_euler3
  ó   € Ø×*Ò*¨1¨cÑ2Ô2Ð2rE   c                 ó.   — |                       |d¦  «        S )NrZ  rÎ  rT   s     rD   Ú_print_catalanzPrettyPrinter._print_catalan6
  rÐ  rE   c                 ó.   — |                       |d¦  «        S )Nrä  rÎ  rT   s     rD   Ú_print_bernoullizPrettyPrinter._print_bernoulli9
  rÐ  rE   c                 ó.   — |                       |d¦  «        S )NÚLrÎ  rT   s     rD   Ú_print_lucaszPrettyPrinter._print_lucas>
  rÐ  rE   c                 ó.   — |                       |d¦  «        S )Nrß  rÎ  rT   s     rD   Ú_print_fibonaccizPrettyPrinter._print_fibonacciA
  rÐ  rE   c                 ó.   — |                       |d¦  «        S )NrÚ  rÎ  rT   s     rD   Ú_print_tribonaccizPrettyPrinter._print_tribonacciD
  rÐ  rE   c                 ó~   — | j         r!|                      |t          d         ¦  «        S |                      |d¦  «        S )Nr  Ú	stieltjes)rM   rÌ  r"   rT   s     rD   Ú_print_stieltjeszPrettyPrinter._print_stieltjesG
  s>   € ØÔð 	?Ø×.Ò.¨qµ-ÀÔ2HÑIÔIÐIà×.Ò.¨q°+Ñ>Ô>Ð>rE   c                 óˆ  — |                       |j        d         ¦  «        }t          |                     t          d¦  «        ¦  «        Ž }t          |                     |                       |j        d         ¦  «        ¦  «        Ž }| j        rt          t          d¦  «        ¦  «        }nt          d¦  «        }|}t          |                     d|                     ¦   «         z  ¦  «        Ž }t          |                     d|                     ¦   «         z  ¦  «        Ž }t          | 	                    |¦  «        dt          j
        iŽS )Nr   r  rk   r%  rÿ   r¦   r³   )rP   r\   r   ru   rM   r   r   r^   r©   r  ÚPOW)rB   rU   r`   rø  rÞ  rœ  r�  s          rD   Ú_print_KroneckerDeltaz#PrettyPrinter._print_KroneckerDeltaM
  sò   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸKšK­
°3©¬Ñ8Ô8Ð9ˆÝ˜EŸKšK¨¯ª°A´F¸1´IÑ(>Ô(>Ñ?Ô?Ð@ˆØÔð 	 Ý�=¨Ñ1Ô1Ñ2Ô2ˆAˆAå˜3‘”ˆAØˆÝ˜!Ÿ&š&  Q§W¢W¡Y¤Y¡Ñ/Ô/Ð0ˆÝ˜!Ÿ'š' # a§g¢g¡i¤i¡-Ñ0Ô0Ð1ˆÝ°3·9²9¸S±>´>ÐB¥*¤.ÐBÐBÐBrE   c                 ó.  — t          |d¦  «        rX|                      d¦  «        }t          |                     |                      |                     ¦   «         ¦  «        ¦  «        Ž }|S t          |d¦  «        r®|                      d¦  «        }t          |                     |                      |j        ¦  «        ¦  «        Ž }t          |                     |                      d¦  «        ¦  «        Ž }t          |                     |                      |j        ¦  «        ¦  «        Ž }|S t          |d¦  «        rK|                      d¦  «        }t          |                     |                      |j        ¦  «        ¦  «        Ž }|S |                      d ¦  «        S )NÚ
as_booleanzDomain: rü  z in r´  z
Domain on )r  rP   r   ru   rã  r´  rü  )rB   rÿ   r`   s      rD   Ú_print_RandomDomainz!PrettyPrinter._print_RandomDomainZ
  sD  € Ý�1�lÑ#Ô#ð 	%Ø—K’K 
Ñ+Ô+ˆEÝ §¢¨D¯KªK¸¿º¹¼Ñ,GÔ,GÑ HÔ HÐIˆEØˆLÝ�Q˜ÑÔð 	%Ø—K’K 
Ñ+Ô+ˆEÝ §¢¨D¯KªK¸¼	Ñ,BÔ,BÑ CÔ CÐDˆEÝ §¢¨D¯KªK¸Ñ,?Ô,?Ñ @Ô @ÐAˆEÝ §¢¨D¯KªK¸¼Ñ,>Ô,>Ñ ?Ô ?Ð@ˆEØˆLÝ�Q˜	Ñ"Ô"ð 	%Ø—K’K Ñ-Ô-ˆEÝ §¢¨D¯KªK¸¼	Ñ,BÔ,BÑ CÔ CÐDˆEØˆLà—;’;˜tÑ$Ô$Ð$rE   c                 óÒ   — 	 |j         �-|                      |j                              |¦  «        ¦  «        S n# t          $ r Y nw xY w|                      t	          |¦  «        ¦  «        S rG   )rz  rP   Úto_sympyr   Úrepr©rB   rÃ  s     rD   Ú
_print_DMPzPrettyPrinter._print_DMPl
  sn   € ð	ØŒvÐ!à—{’{ 1¤6§?¢?°1Ñ#5Ô#5Ñ6Ô6Ð6ð "øõ ð 	ð 	ð 	ØˆDð	øøøà�{Š{�4 ™7œ7Ñ#Ô#Ð#s   ‚37 ·
AÁAc                 ó,   — |                       |¦  «        S rG   )ré  rè  s     rD   Ú
_print_DMFzPrettyPrinter._print_DMFu
  s   € Ø�Š˜qÑ!Ô!Ð!rE   c                 óP   — |                       t          |j        ¦  «        ¦  «        S rG   ©rP   r   rc   )rB   Úobjects     rD   Ú_print_ObjectzPrettyPrinter._print_Objectx
  s   € Ø�{Š{�=¨¬Ñ5Ô5Ñ6Ô6Ð6rE   c                 óÞ   — t          d¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }|                     ||¦  «        d         }t          |¦  «        S )Nz-->r   )r   rP   r©  Úcodomainru   r   )rB   Úmorphismri  r©  rñ  Útails         rD   Ú_print_MorphismzPrettyPrinter._print_Morphism{
  sZ   € Ý�U‘”ˆà—’˜Xœ_Ñ-Ô-ˆØ—;’;˜xÔ0Ñ1Ô1ˆØ�|Š|˜E 8Ñ,Ô,¨QÔ/ˆå˜$ÑÔÐrE   c                 óÌ   — |                       t          |j        ¦  «        ¦  «        }|                      |¦  «        }t	          |                     d|¦  «        d         ¦  «        S )NrÑ  r   )rP   r   rc   rô  r   ru   )rB   rò  rV  Úpretty_morphisms       rD   Ú_print_NamedMorphismz"PrettyPrinter._print_NamedMorphism„
  sS   € Ø—k’k¥-°´Ñ">Ô">Ñ?Ô?ˆØ×.Ò.¨xÑ8Ô8ˆÝ˜+×+Ò+¨C°ÑAÔAÀ!ÔDÑEÔEÐErE   c                 ób   — ddl m} |                       ||j        |j        d¦  «        ¦  «        S )Nr   )ÚNamedMorphismÚid)Úsympy.categoriesrù  r÷  r©  rñ  )rB   rò  rù  s      rD   Ú_print_IdentityMorphismz%PrettyPrinter._print_IdentityMorphism‰
  sE   € Ø2Ð2Ð2Ð2Ð2Ð2Ø×(Ò(ØˆM˜(œ/¨8Ô+<¸dÑCÔCñEô Eð 	ErE   c                 ó>  — t          d¦  «        }d„ |j        D ¦   «         }|                     ¦   «          |                     |¦  «        dz   }|                      |¦  «        }|                      |¦  «        }t          |                     |¦  «        d         ¦  «        S )Nr  c                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS rO   )r   rc   )r“  Ú	components     rD   r•  z:PrettyPrinter._print_CompositeMorphism.<locals>.<listcomp>”
  s8   € ð  Bð  Bð  BØ )õ !.¨i¬nÑ =Ô =ð  Bð  Bð  BrE   rÑ  r   )r   ro  Úreversers  rP   rô  r   ru   )rB   rò  ÚcircleÚcomponent_names_listÚcomponent_namesrV  rö  s          rD   Ú_print_CompositeMorphismz&PrettyPrinter._print_CompositeMorphismŽ
  s¢   € å�c‘”ˆð Bð  BØ-5Ô-@ð Bñ  Bô  BÐà×$Ò$Ñ&Ô&Ð&Ø Ÿ+š+Ð&:Ñ;Ô;¸cÑAˆà—k’k /Ñ2Ô2ˆØ×.Ò.¨xÑ8Ô8ˆÝ˜+×+Ò+¨OÑ<Ô<¸QÔ?Ñ@Ô@Ð@rE   c                 óP   — |                       t          |j        ¦  «        ¦  «        S rG   rí  )rB   Úcategorys     rD   Ú_print_CategoryzPrettyPrinter._print_Category�
  s   € Ø�{Š{�=¨¬Ñ7Ô7Ñ8Ô8Ð8rE   c                 óJ  — |j         s|                      t          j        ¦  «        S |                      |j         ¦  «        }|j        rHdt          d¦  «        z  }|                      |j        ¦  «        d         }|                     ||¦  «        }t          |d         ¦  «        S )NrÐ   z==>r   )ÚpremisesrP   r   ÚEmptySetÚconclusionsr   ru   r   )rB   ÚdiagramÚpretty_resultÚresults_arrowÚpretty_conclusionss        rD   Ú_print_DiagramzPrettyPrinter._print_Diagram 
  sš   € ØÔð 	+à—;’;�qœzÑ*Ô*Ð*àŸš GÔ$4Ñ5Ô5ˆØÔð 	3Ø"¥T¨%¡[¤[Ñ0ˆMà!%§¢¨WÔ-@Ñ!AÔ!AÀ!Ô!DÐØ)×/Ò/ØÐ1ñ3ô 3ˆMõ ˜-¨Ô*Ñ+Ô+Ð+rE   c                 óŒ   ‡— ddl m}  |ˆfd„t          ‰j        ¦  «        D ¦   «         ¦  «        }|                      |¦  «        S )Nr   )ÚMatrixc                 óT   •‡— g | ]#Šˆˆfd „t          ‰j        ¦  «        D ¦   «         ‘Œ$S )c                 óV   •— g | ]%}‰‰|f         r
‰‰|f         nt          d ¦  «        ‘Œ&S )r¦   r   )r“  r:   Úgridr.   s     €€rD   r•  z?PrettyPrinter._print_DiagramGrid.<locals>.<listcomp>.<listcomp>±
  sH   ø€ ð 6ð 6ð 6Øð )-¨Q°¨T¬
ÐC˜$˜q !˜tœ*˜*½¸s¹¼ð 6ð 6ð 6rE   )r'  r©   )r“  r.   r  s    @€rD   r•  z4PrettyPrinter._print_DiagramGrid.<locals>.<listcomp>±
  sZ   øø€ ð 6ð 6ð 6àð6ð 6ð 6ð 6ð 6Ý#(¨¬Ñ#4Ô#4ð6ñ 6ô 6ð 6ð 6ð 6rE   )rÈ  r  r'  r:  rž  )rB   r  r  Úmatrixs    `  rD   Ú_print_DiagramGridz PrettyPrinter._print_DiagramGrid¯
  sl   ø€ Ø)Ð)Ð)Ð)Ð)Ð)Ø�ð 6ð 6ð 6ð 6å"'¨¬Ñ"4Ô"4ð6ñ 6ô 6ñ 7ô 7ˆð ×*Ò*¨6Ñ2Ô2Ð2rE   c                 ó0   — |                       |dd¦  «        S r#  rb  ©rB   rÖ  s     rD   Ú_print_FreeModuleElementz&PrettyPrinter._print_FreeModuleElement¶
  s   € à�Š˜q # sÑ+Ô+Ð+rE   c                 óX   ‡— ˆfd„‰j         D ¦   «         }|                      |dd¦  «        S )Nc                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 óD   •— g | ]}‰j                              |¦  «        ‘ŒS rO   )rz  ræ  )r“  r½  r˜  s     €rD   r•  z=PrettyPrinter._print_SubModule.<locals>.<listcomp>.<listcomp>»
  s'   ø€ Ð1Ð1Ð1¨�”—’ Ñ#Ô#Ð1Ð1Ð1rE   rO   )r“  rÃ  r˜  s     €rD   r•  z2PrettyPrinter._print_SubModule.<locals>.<listcomp>»
  s.   ø€ ÐDÐDÐD°cÐ1Ð1Ð1Ð1¨SÐ1Ñ1Ô1ÐDÐDÐDrE   ri  rj  )rÅ  r[   )rB   r˜  rÅ  s    ` rD   Ú_print_SubModulezPrettyPrinter._print_SubModuleº
  s4   ø€ ØDÐDÐDÐD¸Q¼VÐDÑDÔDˆØ�Š˜t S¨#Ñ.Ô.Ð.rE   c                 ól   — |                       |j        ¦  «        |                       |j        ¦  «        z  S rG   )rP   rz  rŒ  ©rB   r˜  s     rD   Ú_print_FreeModulezPrettyPrinter._print_FreeModule¾
  s)   € Ø�{Š{˜1œ6Ñ"Ô" D§K¢K°´Ñ$7Ô$7Ñ7Ð7rE   c                 óv   ‡— |j         j        Š|                      ˆfd„|j        j        D ¦   «         dd¦  «        S )Nc                 ó*   •— g | ]\  } ‰|¦  «        ‘ŒS rO   rO   )r“  rž   r	  s     €rD   r•  z?PrettyPrinter._print_ModuleImplementedIdeal.<locals>.<listcomp>Ã
  s#   ø€ ÐAÐAÐA©3¨A   A¡¤ÐAÐAÐArE   ri  rj  )rz  ræ  r[   Ú_modulerÅ  )rB   r˜  r	  s     @rD   Ú_print_ModuleImplementedIdealz+PrettyPrinter._print_ModuleImplementedIdealÁ
  s;   ø€ ØŒfŒoˆØ�ŠÐAÐAÐAÐA°!´)´.ÐAÑAÔAÀ3ÈÑLÔLÐLrE   c                 ól   — |                       |j        ¦  «        |                       |j        ¦  «        z  S rG   )rP   rz  Ú
base_ideal©rB   ÚRs     rD   Ú_print_QuotientRingz!PrettyPrinter._print_QuotientRingÅ
  s)   € Ø�{Š{˜1œ6Ñ"Ô" T§[¢[°´Ñ%>Ô%>Ñ>Ð>rE   c                 óœ   — |                       |j                             |¦  «        ¦  «        |                       |j        j        ¦  «        z   S rG   )rP   rz  ræ  r'  r(  s     rD   Ú_print_QuotientRingElementz(PrettyPrinter._print_QuotientRingElementÈ
  s8   € Ø�{Š{˜1œ6Ÿ?š?¨1Ñ-Ô-Ñ.Ô.°·²¸Q¼VÔ=NÑ1OÔ1OÑOÐOrE   c                 óv   — |                       |j        ¦  «        |                       |j        j        ¦  «        z   S rG   )rP   ÚdataÚmoduleÚkilled_moduler  s     rD   Ú_print_QuotientModuleElementz*PrettyPrinter._print_QuotientModuleElementË
  s,   € Ø�{Š{˜1œ6Ñ"Ô" T§[¢[°´Ô1GÑ%HÔ%HÑHÐHrE   c                 ól   — |                       |j        ¦  «        |                       |j        ¦  «        z  S rG   )rP   r  r0  r   s     rD   Ú_print_QuotientModulez#PrettyPrinter._print_QuotientModuleÎ
  s)   € Ø�{Š{˜1œ6Ñ"Ô" T§[¢[°´Ñ%AÔ%AÑAÐArE   c                 óL  — |                       |                     ¦   «         ¦  «        }|                     ¦   «         dz  |_        t	          |                     d|                       |j        ¦  «        dt          dd¦  «        z  |                       |j        ¦  «        ¦  «        Ž }|S )Nr§   z : z %s> rI  )	rP   Ú_sympy_matrixr:  r«   r   ru   r©  r   rñ  )rB   r@  r  r`   s       rD   Ú_print_MatrixHomomorphismz'PrettyPrinter._print_MatrixHomomorphismÑ
  s‚   € Ø—’˜QŸ_š_Ñ.Ô.Ñ/Ô/ˆØ Ÿ-š-™/œ/¨QÑ.ˆŒÝ˜FŸLšL¨°·²¸A¼HÑ0EÔ0EØ•d˜3 ‘l”lÑ" D§K¢K°´
Ñ$;Ô$;ñ=ô =ð >ˆàˆrE   c                 ó6   — |                       |j        ¦  «        S rG   ©rP   rc   )rB   Úmanifolds     rD   Ú_print_ManifoldzPrettyPrinter._print_ManifoldØ
  s   € Ø�{Š{˜8œ=Ñ)Ô)Ð)rE   c                 ó6   — |                       |j        ¦  «        S rG   r8  )rB   Úpatchs     rD   Ú_print_PatchzPrettyPrinter._print_PatchÛ
  s   € Ø�{Š{˜5œ:Ñ&Ô&Ð&rE   c                 ó6   — |                       |j        ¦  «        S rG   r8  )rB   Úcoordss     rD   Ú_print_CoordSystemz PrettyPrinter._print_CoordSystemÞ
  s   € Ø�{Š{˜6œ;Ñ'Ô'Ð'rE   c                 ó~   — |j         j        |j                 j        }|                      t          |¦  «        ¦  «        S rG   )Ú
_coord_sysr´  Ú_indexrc   rP   r   )rB   r~  Ústrings      rD   Ú_print_BaseScalarFieldz$PrettyPrinter._print_BaseScalarFieldá
  s1   € ØÔ!Ô)¨%¬,Ô7Ô<ˆØ�{Š{�=¨Ñ0Ô0Ñ1Ô1Ð1rE   c                 ó¤   — t          d¦  «        dz   |j        j        |j                 j        z   }|                      t          |¦  «        ¦  «        S )Nrþ   rï   )r#   rB  r´  rC  rc   rP   r   )rB   r~  r  s      rD   Ú_print_BaseVectorFieldz$PrettyPrinter._print_BaseVectorFieldå
  sD   € ÝÐ$Ñ%Ô%¨Ñ+¨eÔ.>Ô.FÀuÄ|Ô.TÔ.YÑYˆØ�{Š{�=¨Ñ+Ô+Ñ,Ô,Ð,rE   c                 ó‚  — | j         rt          d¦  «        }nd}|j        }t          |d¦  «        rD|j        j        |j                 j        }|                      |dz   t          |¦  «        z   ¦  «        S |                      |¦  «        }t          |                     ¦   «         Ž }t          |                     |¦  «        Ž S )NÚDifferentialrÿ   rB  r¦   )rM   r    Ú_form_fieldr  rB  r´  rC  rc   rP   r   r   r]   r^   )rB   rñ  rÿ   r~  rD  r`   s         rD   Ú_print_Differentialz!PrettyPrinter._print_Differentialé
  s«   € ØÔð 	Ý˜NÑ+Ô+ˆAˆAàˆAØÔ ˆÝ�5˜,Ñ'Ô'ð 	.ØÔ%Ô-¨e¬lÔ;Ô@ˆFØ—;’;˜q 3™w­°vÑ)>Ô)>Ñ>Ñ?Ô?Ð?à—K’K Ñ&Ô&ˆEÝ §¢¡¤Ð/ˆEÝ˜uŸzšz¨!™}œ}Ð-Ð-rE   c                 óÐ   — |                       |j        d         ¦  «        }t          |                     d|j        j        z  ¦  «        Ž }t          |                     d¦  «        Ž }|S )Nr   z%s(rp   )rP   r\   r   r^   r�   r�   ru   )rB   rÃ  r`   s      rD   Ú	_print_TrzPrettyPrinter._print_Tr÷
  sT   € à—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸJšJ u°´Ô0DÑ'EÑFÔFÐGˆÝ˜EŸKšK¨Ñ,Ô,Ð-ˆØˆrE   c                 ó  — |                       |j        d         ¦  «        }t          |                     ¦   «         Ž }| j        r(t          |                     t          d         ¦  «        Ž }nt          |                     d¦  «        Ž }|S )Nr   Únu©rP   r\   r   r]   rM   r^   r"   r_   s      rD   Ú_print_primenuzPrettyPrinter._print_primenuþ
  sn   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸLšL™NœNÐ+ˆØÔð 	2Ý §
¢
­=¸Ô+>Ñ ?Ô ?Ð@ˆEˆEå §
¢
¨4Ñ 0Ô 0Ð1ˆEØˆrE   c                 ó  — |                       |j        d         ¦  «        }t          |                     ¦   «         Ž }| j        r(t          |                     t          d         ¦  «        Ž }nt          |                     d¦  «        Ž }|S )Nr   ÚOmegarP  r_   s      rD   Ú_print_primeomegazPrettyPrinter._print_primeomega  sn   € Ø—’˜AœF 1œIÑ&Ô&ˆÝ˜EŸLšL™NœNÐ+ˆØÔð 	5Ý §
¢
­=¸Ô+AÑ BÔ BÐCˆEˆEå §
¢
¨7Ñ 3Ô 3Ð4ˆEØˆrE   c                 óè   — |j         j         dk    rN| j        r#|                      t          d¦  «        ¦  «        }n"|                      t	          d¦  «        ¦  «        }|S |                      |¦  «        S )NÚdegreeÚDegreeé°   )rc   rM   rP   r    ÚchrrK   r_   s      rD   Ú_print_QuantityzPrettyPrinter._print_Quantity  sg   € ØŒ6Œ;˜(Ò"Ð"ØÔ ð .ØŸš¥K°Ñ$9Ô$9Ñ:Ô:��àŸš¥C¨¡H¤HÑ-Ô-�ØˆLà×$Ò$ QÑ'Ô'Ð'rE   c                 óö   — t          dt          |j        ¦  «        z   dz   ¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }t          t          j        |||¦  «        Ž }|S )Nr¦   )r   r   rº   rP   rµ   r¶   r   r·   r¹   s         rD   Ú_print_AssignmentBasez#PrettyPrinter._print_AssignmentBase  sd   € å˜�d 1¤4™jœjÑ(¨3Ñ.Ñ/Ô/ˆà�KŠK˜œÑÔˆØ�KŠK˜œÑÔˆÝ�JœO¨A¨r°1Ñ5Ô5Ð6ˆØˆrE   c                 ó6   — |                       |j        ¦  «        S rG   r8  rP  s     rD   Ú
_print_StrzPrettyPrinter._print_Str#  s   € Ø�{Š{˜1œ6Ñ"Ô"Ð"rE   rG   )F)T)rŸ  r   )NNr  F)FNro   rp   )FNrÄ  Fro   rp   )ür�   Ú
__module__Ú__qualname__Ú__doc__ÚprintmethodÚ_default_settingsr;   rK   ÚpropertyrM   rR   rV   rX   ra   rf   Ú_print_RandomSymbolri   rm   ry   r€   rƒ   r…   r‰   rŒ   r’   Ú_print_InfinityÚ_print_NegativeInfinityÚ_print_EmptySetÚ_print_NaturalsÚ_print_Naturals0Ú_print_IntegersÚ_print_RationalsÚ_print_ComplexesÚ_print_EmptySequencer–   rŸ   r¢   r¤   r±   r½   rÌ   rÚ   rÛ   rß   râ   rå   rè   rÇ   rÆ   rð   ró   rø   rü   r  r  r2  rG  r\  rM  r�  rŽ  rž  r¤  r¬  r¹  r½  rÀ  rÎ  r×  rÛ  rß  rå  rì  rù  rþ  r  r  r	  r  r  r  r!  r&  r-  r/  r5  r7  r:  rH  rN  rS  r[  r„  r•  r¢  r¥  r§  r®  r²  r´  r¸  rÇ  rÍ  rÏ  r×  rç  r  r  r  rÊ   r  r  r  r  r	  r  r/  r3  r5  r9  r=  rA  rF  rH  rJ  rM  rP  rR  rU  rX  r[  r^  r`  rb  rk  rt  rw  ry  r{  r}  r€  rƒ  r…  rˆ  rŠ  rŒ  r�  r“  r•  r›  r   r£  r¥  r§  r½  r+  rÝ  ræ  rè  rî  rð  rô  rÿ  r  r  r  r  r  r$  r(  r+  r7  r@  rC  rG  rM  rQ  rW  r\  Ú_print_SeqPerÚ_print_SeqAddÚ_print_SeqMulr[   rs  r[  re  rg  rk  rm  rq  rt  rw  r{  r  r‚  r…  rˆ  rŒ  r‘  r•  rš  r�  r¡  r«  r¯  r·  rº  r¾  rÆ  rÊ  rÌ  rÏ  rÒ  rÔ  Ú_print_bellr×  rÙ  rÛ  rÞ  rá  rä  ré  rë  rï  rô  r÷  rü  r  r  r  r  r  r  r!  r%  r*  r,  r1  r3  r6  r:  r=  r@  rE  rG  rK  rM  rQ  rT  rZ  r\  r^  rO   rE   rD   r*   r*      s3  € € € € € ØIÐIØ€Kð ØØØØØ!%ØØ#ØØðð Ðð~ð ~ð ~ð ~ð%ð %ð %ð ð(ð (ñ „Xð(ð:ð :ð :ðð ð ðð ð ðð ð ð
 ð  ð  ð  ð (ÐðSð Sð Sð8ð 8ð 8ð
ð 
ð 
ðð ð ðð ð ð
ð 
ð 
ðð ð ðð ð ð(ð (ð (ð "€OØ)ÐØ!€OØ!€OØ"ÐØ!€OØ"ÐØ"Ðà&Ðð7ð 7ð 7ðð ð ðð ð ðð ð ðð ð ð ð ð ð+ð +ð +ð"ð ð ð ð*6ð 6ð 6ð6ð 6ð 6ð6ð 6ð 6ð6ð 6ð 6ð6ð 6ð 6ð+ð +ð +ð +ð6ð 6ð 6ð 6ðEð Eð Eðð ð ð
+ð +ð +ð+ð +ð +ð#ð #ð #ðJð ð ð&",ð ",ð ",ðJIð Ið IðV4ð 4ð 4ðl
(ð 
(ð 
(ð_ð _ð _ðBð ð ð8Að Að AðFð ð ð ð
Ið 
Ið 
IðSð Sð SðSð Sð Sðð ð ðð ð ð*ð ð ð6ð ð ðð ð ð%ð %ð %ð
ð ð ð")ð )ð )ð#ð #ð #ð#ð #ð #ð#ð #ð #ð)ð )ð )ðð ð ð	Yð 	Yð 	Yð,ð ,ð ,ð Hð Hð Hðð ð ð
8ð 8ð 8ð)ð )ð )ð0ð 0ð 0ðð ð ðð ð ð""&ð "&ð "&ðHð ð ð$ð ð ð'ð 'ð 'ðd=ð d=ð d=ðL%ð %ð %ðB @Bð !ð !ð !ð !ðF;ð ;ð ;ð
Fð Fð Fðð ð ð)ð )ð )ð ð  ð  ðð ð ð@6ð 6ð 6ðp3ð 3ð 3ðð ð ð4ð 4ð 4ð 4ð.ð .ð .ð`Rð Rð Rðh.ð .ð .ð4ð 4ð 4ð CFØ!ðsð sð sð sð6ð 6ð 6ð6ð 6ð 6ð7ð 7ð 7ð7ð 7ð 7ð HLØGJØ%(ð#ð #ð #ð #ðJWð Wð Wð ð%ð %ñ „Xð%ð4ð 4ð 4ð'ð 'ð 'ð'ð 'ð 'ð<ð <ð <ð<ð <ð <ð@ð @ð @ð6ð 6ð 6ð6ð 6ð 6ð7ð 7ð 7ð7ð 7ð 7ð8ð 8ð 8ð8ð 8ð 8ð6ð 6ð 6ð8ð 8ð 8ð8ð 8ð 8ð6ð 6ð 6ðKð Kð Kð[ð [ð [ðð ð ð*ð ð ð<ð <ð <ð<ð <ð <ð<ð <ð <ð<ð <ð <ð<ð <ð <ð<ð <ð <ð+ð +ð +ð&'ð 'ð 'ðð ð ð	ð 	ð 	ðð ð ðð ð ðð ð ð2ð 2ð 2ð
1ð 1ð 1ð
(ð (ð (ðð ð ðF+ð F+ð F+ð F+ðP:Að :Að :Aðz*ð *ð *ðX.ð .ð .ð$)ð )ð )ðð ð ð$+ð +ð +ð+ð +ð +ðMð Mð Mð7ð 7ð 7ð:ð :ð :ð2<ð <ð <ð"8ð 8ð 8ðBð Bð BðIð Ið IðBð Bð Bð0ð 0ð 0ðOð Oð Oð:Kð Kð Kð>Kð Kð Kð'ð 'ð 'ðAð Að Að+ð +ð +ð:ð :ð :ð
*ð *ð *ð* &€MØ%€MØ%€Mà#'¨t¸tØ(˜¸ðð ð ð ð(ð ð ð,ð ,ð ,ð0ð 0ð 0ð'ð 'ð 'ð0ð 0ð 0ð#ð #ð #ðð ð ðð ð ð.ð .ð .ð&ð &ð &ð'ð 'ð 'ð$ð $ð $ð&ð &ð &ð&ð &ð &ð/ð /ð /ðð ð ð	ð 	ð 	ð:ð :ð :ð$ð $ð $ð$ð $ð $ð	Tð 	Tð 	Tð	Tð 	Tð 	Tð
ð 
ð 
ð
ð 
ð 
ðð ð ðð ð ð&ð ð ð"ð ð ð(3ð 3ð 3ð3ð 3ð 3ð3ð 3ð 3ð #€Kð3ð 3ð 3ð3ð 3ð 3ð3ð 3ð 3ð?ð ?ð ?ðCð Cð Cð%ð %ð %ð$$ð $ð $ð"ð "ð "ð7ð 7ð 7ð ð  ð  ðFð Fð Fð
Eð Eð Eð
Að Að Að9ð 9ð 9ð,ð ,ð ,ð3ð 3ð 3ð,ð ,ð ,ð/ð /ð /ð8ð 8ð 8ðMð Mð Mð?ð ?ð ?ðPð Pð PðIð Ið IðBð Bð Bðð ð ð*ð *ð *ð'ð 'ð 'ð(ð (ð (ð2ð 2ð 2ð-ð -ð -ð.ð .ð .ðð ð ðð ð ðð ð ð(ð (ð (ðð ð ð#ð #ð #ð #ð #rE   r*   c                 óÊ   — t          |¦  «        }|j        d         }t          |¦  «        }	 |                     | ¦  «        t          |¦  «         S # t          |¦  «         w xY w)zƒReturns a string containing the prettified form of expr.

    For information on keyword arguments see pretty_print function.

    r1   )r*   r=   r!   rR   )rJ   rC   rú  r1   Úuflags        rD   rp  rp  '  sf   € õ 
�xÑ	 Ô	 €Bð ”,˜}Ô-€KÝ˜{Ñ+Ô+€Eð"Ø�zŠz˜$ÑÔå˜5Ñ!Ô!Ð!Ð!øÕ˜5Ñ!Ô!Ð!Ð!øøøs   ­A ÁA"c                 ó:   — t          t          | fi |¤Ž¦  «         dS )aÒ  Prints expr in pretty form.

    pprint is just a shortcut for this function.

    Parameters
    ==========

    expr : expression
        The expression to print.

    wrap_line : bool, optional (default=True)
        Line wrapping enabled/disabled.

    num_columns : int or None, optional (default=None)
        Number of columns before line breaking (default to None which reads
        the terminal width), useful when using SymPy without terminal.

    use_unicode : bool or None, optional (default=None)
        Use unicode characters, such as the Greek letter pi instead of
        the string pi.

    full_prec : bool or string, optional (default="auto")
        Use full precision.

    order : bool or string, optional (default=None)
        Set to 'none' for long expressions if slow; default is None.

    use_unicode_sqrt_char : bool, optional (default=True)
        Use compact single-character square root symbol (when unambiguous).

    root_notation : bool, optional (default=True)
        Set to 'False' for printing exponents of the form 1/n in fractional form.
        By default exponent is printed in root form.

    mat_symbol_style : string, optional (default="plain")
        Set to "bold" for printing MatrixSymbols using a bold mathematical symbol face.
        By default the standard face is used.

    imaginary_unit : string, optional (default="i")
        Letter to use for imaginary unit when use_unicode is True.
        Can be "i" (default) or "j".
    N)Úprintrp  )rJ   Úkwargss     rD   Úpretty_printrx  :  s)   € õV 
�&�Ð
 Ð
 ˜Ð
 Ð
 Ñ!Ô!Ð!Ð!Ð!rE   c                 ó’   — ddl m} ddlm} d|vrd|d<    |t	          | fi |¤Ž                      |¦   «         ¦  «        ¦  «         dS )a‡  Prints expr using the pager, in pretty form.

    This invokes a pager command using pydoc. Lines are not wrapped
    automatically. This routine is meant to be used with a pager that allows
    sideways scrolling, like ``less -S``.

    Parameters are the same as for ``pretty_print``. If you wish to wrap lines,
    pass ``num_columns=None`` to auto-detect the width of the terminal.

    r   )Úpager)Úgetpreferredencodingr3   i ¡ N)Úpydocrz  Úlocaler{  rp  Úencode)rJ   rC   rz  r{  s       rD   Úpager_printr  j  s{   € ð ÐÐÐÐÐØ+Ð+Ð+Ð+Ð+Ð+Ø˜HÐ$Ð$Ø"(ˆ�ÑØ	€E�&�Ð
"Ð
"˜Ð
"Ð
"×
)Ò
)Ð*>Ð*>Ñ*@Ô*@Ñ
AÔ
AÑBÔBÐBÐBÐBrE   )?r�  Ú
sympy.corer   Úsympy.core.addr   Úsympy.core.containersr   Úsympy.core.functionr   Úsympy.core.mulr   Úsympy.core.numbersr	   r
   Úsympy.core.powerr   Úsympy.core.sortingr   Úsympy.core.symbolr   Úsympy.core.sympifyr   Úsympy.printing.conventionsr   Úsympy.printing.precedencer   r   r   Úsympy.printing.printerr   r   Úsympy.printing.strr   Úsympy.utilities.iterablesr   Úsympy.utilities.exceptionsr   Ú sympy.printing.pretty.stringpictr   r   Ú&sympy.printing.pretty.pretty_symbologyr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r×  Úpprint_use_unicodeÚpprint_try_use_unicoder*   rp  rx  Úpprintr  rO   rE   rD   ú<module>r•     s¾  ðØ Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø  Ð  Ð  Ð  Ð  Ð  Ø /Ð /Ð /Ð /Ð /Ð /Ø $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø #Ð #Ð #Ð #Ð #Ð #Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø @Ð @Ð @Ð @Ð @Ð @à CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cðbð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð bð
 (Ð Ø/Ð ðF,#ð F,#ð F,#ð F,#ð F,#�Gñ F,#ô F,#ð F,#ðRX €�ÑÔð"ð "ñ Ôð"ð$+"ð +"ð +"ðZ 
€ðCð Cð Cð Cð CrE   