§
    OŠtjþS ã                   ó¸  — d Z ddlZddlZddlmZ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mZmZmZmZmZmZmZ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"m#Z# dd
l$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z:m;Z;m<Z< ddl=m>Z>m?Z? ddl@mAZAmBZBmCZCmDZD ddlEmFZFmGZGmHZHmIZI ddlJmKZKmLZL ddlMmNZNmOZOmPZP ddlQmRZRmSZSmTZTmUZU ddlVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z]m^Z^ ddl_m`Z`maZambZbmcZcmdZd ddlemfZf ddlgmhZh ddlimjZj ddlkmlZl ddlmmnZn ddlompZp dd lqmrZr dd!lsmtZtmuZumvZv dd"lwmxZx dayd#„ Zzd$„ Z{d%„ Z|ezd&„ ¦   «         Z}ezd'„ ¦   «         Z~ezd(„ ¦   «         Ze
d)„ ¦   «         Z€ezd*„ ¦   «         Z�ezd+„ ¦   «         Z‚ezd,„ ¦   «         Zƒezd-„ ¦   «         Z„ezd.„ ¦   «         Z…ezd/„ ¦   «         Z†ezd0„ ¦   «         Z‡ezd1„ ¦   «         Zˆezd2„ ¦   «         Z‰ezd3„ ¦   «         ZŠezd4„ ¦   «         Z‹ezd5„ ¦   «         ZŒezd6„ ¦   «         Z�ezd7„ ¦   «         ZŽd8„ Z�d9„ Z�ezd:„ ¦   «         Z‘ G d;„ d<e]¦  «        Z’dQd>„Z“ezd?„ ¦   «         Z”ezd@„ ¦   «         Z•e
dA„ ¦   «         Z–ezdB„ ¦   «         Z—ezdC„ ¦   «         Z˜ezdD„ ¦   «         Z™ezdE„ ¦   «         ZšezdF„ ¦   «         Z›ezdG„ ¦   «         ZœezdH„ ¦   «         Z�ezdI„ ¦   «         ZžezdJ„ ¦   «         ZŸezdK„ ¦   «         Z ezdL„ ¦   «         Z¡ G dM„ dNe]¦  «        Z¢dRdO„Z£dP„ Z¤dS )SzLaplace Transformsé    N)ÚSÚpiÚI)ÚAdd)Úcacheit)ÚExpr)
ÚAppliedUndefÚ
DerivativeÚexpandÚexpand_complexÚ
expand_mulÚexpand_trigÚLambdaÚWildFunctionÚdiffÚSubs)ÚMulÚprod)Ú
_canonicalÚGeÚGtÚLtÚ
UnequalityÚEqÚNeÚ
Relational)Úordered)ÚDummyÚsymbolsÚWild)ÚreÚimÚargÚAbsÚ
polar_liftÚperiodic_argument)ÚexpÚlog)ÚcoshÚcothÚsinhÚasinh)ÚMaxÚMinÚsqrt)Ú	PiecewiseÚpiecewise_exclusive)ÚcosÚsinÚatanÚsinc)ÚbesseliÚbesseljÚbesselkÚbessely)Ú
DiracDeltaÚ	Heaviside)ÚerfÚerfcÚEi)ÚdigammaÚgammaÚ
lowergammaÚ
uppergamma)ÚSingularityFunction)Ú	integrateÚIntegral)Ú	_simplifyÚIntegralTransformÚIntegralTransformError)Úto_cnfÚ	conjunctsÚ	disjunctsÚOrÚAnd)Ú
MatrixBase)Ú_lin_eq2dict)ÚPolynomialError)Úroots)ÚPoly)Útogether)ÚRootSum)Úsympy_deprecation_warningÚSymPyDeprecationWarningÚignore_warnings)Údebugfc                 ó   ‡ — ˆ fd„}|S )Nc                  ób  •— ddl m} |s ‰| i |¤ŽS t          dk    rt          dt          j        ¬¦  «         t          ddt          z  ›‰j        ›| ›�t          j        ¬¦  «         t          dz  a‰j        dk    s‰j        d	k    rGd
t           _        t          ddt          z  z  t          j        ¬¦  «          ‰| i |¤Ž}dt           _        n ‰| i |¤Ž}t          dz  at          ddt          z  ›d|›�t          j        ¬¦  «         t          dk    rt          dt          j        ¬¦  «         |S )Nr   ©ÚSYMPY_DEBUGzO
------------------------------------------------------------------------------©Úfileú-LT- ú  é   Ú_laplace_transform_integrationÚ&_inverse_laplace_transform_integrationFz**** %sIntegrating ...Tz---> zO------------------------------------------------------------------------------
)Úsympyr\   Ú	_LT_levelÚprintÚsysÚstderrÚ__name__)ÚargsÚkwargsr\   ÚresultÚfuncs       €úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/integrals/laplace.pyÚwrapzDEBUG_WRAP.<locals>.wrap1   sV  ø€ Ø%Ð%Ð%Ð%Ð%Ð%ð ð 	)Ø�4˜Ð( Ð(Ð(Ð(å˜Š>ˆ>Ý�-¥c¤jÐ1Ñ1Ô1Ð1Ýˆ˜t¥I™~˜~¨t¬}¨}¸d¸dÐCÝ”:ð	ñ 	ô 	ð 	å�Q‰ˆ	à”Ð!AÒAÐAØ”Ð!IÒIÐIØ %�EÔÝÐ*¨dµ9©nÑ=ÅCÄJÐOÑOÔOÐOØ�T˜4Ð* 6Ð*Ð*ˆFØ $�EÔÐà�T˜4Ð* 6Ð*Ð*ˆFÝ�Q‰ˆ	Ýˆ $¥y¡. . .°&°&Ð9ÅÄ
ÐKÑKÔKÐKÝ˜Š>ˆ>Ý�-¥c¤jÐ1Ñ1Ô1Ð1Øˆó    © )rm   ro   s   ` rn   Ú
DEBUG_WRAPrr   0   s#   ø€ ðð ð ð ð ð4 €Krp   c                 ój   — ddl m} |r*t          ddt          z  ›| ›�t          j        ¬¦  «         d S d S )Nr   r[   r_   r`   r]   )rd   r\   rf   re   rg   rh   )Útextr\   s     rn   Ú_debugru   N   sS   € Ø!Ð!Ð!Ð!Ð!Ð!àð EÝˆ˜T¥)™^˜^¨T¨TÐ2½¼ÐDÑDÔDÐDÐDÐDðEð Erp   c                 óò   ‡‡‡‡‡— ˆfd„Šˆˆˆˆfd„Šˆfd„Šˆfd„}d„ }ddl m}  || ¦  «        }  || t          ‰¦  «        }  || t          ˆfd„¦  «        }  || t          |¦  «        } t          | ¦  «        S )	a  
    Naively simplify some conditions occurring in ``expr``,
    given that `\operatorname{Re}(s) > a`.

    Examples
    ========

    >>> from sympy.integrals.laplace import _simplifyconds
    >>> from sympy.abc import x
    >>> from sympy import sympify as S
    >>> _simplifyconds(abs(x**2) < 1, x, 1)
    False
    >>> _simplifyconds(abs(x**2) < 1, x, 2)
    False
    >>> _simplifyconds(abs(x**2) < 1, x, 0)
    Abs(x**2) < 1
    >>> _simplifyconds(abs(1/x**2) < 1, x, 1)
    True
    >>> _simplifyconds(S(1) < abs(x), x, 1)
    True
    >>> _simplifyconds(S(1) < abs(1/x), x, 1)
    False

    >>> from sympy import Ne
    >>> _simplifyconds(Ne(1, x**3), x, 1)
    True
    >>> _simplifyconds(Ne(1, x**3), x, 2)
    True
    >>> _simplifyconds(Ne(1, x**3), x, 0)
    Ne(1, x**3)
    c                 óJ   •— | ‰k    rdS | j         r| j        ‰k    r| j        S d S )Nra   )Úis_PowÚbaser'   )ÚexÚss    €rn   Úpowerz_simplifyconds.<locals>.powerv   s1   ø€ Ø�Š7ˆ7Ø�1ØŒ9ð 	˜œ Aš˜Ø”6ˆMØˆtrp   c                 ó`  •— |                       ‰¦  «        r|                      ‰¦  «        rdS t          | t          ¦  «        r| j        d         } t          |t          ¦  «        r|j        d         }|                       ‰¦  «        r ‰d|z  d| z  ¦  «        S  ‰|¦  «        }|€dS 	 |dk    r3t          | ¦  «        t          ‰¦  «        |z  k    t          j        k    rdS |dk     r3t          | ¦  «        t          ‰¦  «        |z  k    t          j        k    rdS dS dS # t          $ r Y dS w xY w)z_ Return True only if |ex1| > |ex2|, False only if |ex1| < |ex2|.
            Else return None. Nr   ra   FT)ÚhasÚ
isinstancer$   rj   r   ÚtrueÚ	TypeError)Úex1Úex2ÚnÚaÚbiggerr|   r{   s      €€€€rn   r†   z_simplifyconds.<locals>.bigger}   s<  ø€ ð �7Š7�1‰:Œ:ð 	˜#Ÿ'š' !™*œ*ð 	Ø�4Ý�c�3ÑÔð 	Ø”(˜1”+ˆCÝ�c�3ÑÔð 	Ø”(˜1”+ˆCØ�7Š7�1‰:Œ:ð 	(Ø�6˜!˜C™%  3¡Ñ'Ô'Ð'ØˆE�#‰JŒJˆØˆ9Ø�4ð	Ø�1Šuˆu�#˜c™(œ(¥c¨!¡f¤f¨a¡iÒ/µA´FÒ:Ð:Ø�uØ�1Šuˆu�#˜c™(œ(¥c¨!¡f¤f¨a¡iÒ/µA´FÒ:Ð:Ø�tð ˆuÐ:Ð:øåð 	ð 	ð 	Ø�4�4ð	øøøs   Â)7D Ã"7D Ä
D-Ä,D-c                 ó®   •— | j         st          | t          ¦  «        r|j         st          |t          ¦  «        s| |k     S  ‰| |¦  «        }|�| S | |k     S )z simplify x < y )Úis_positiver   r$   )ÚxÚyÚrr†   s      €rn   Úrepliez_simplifyconds.<locals>.replie“   sg   ø€ à”ð 	¥*¨QµÑ"4Ô"4ð 	Øœð	Ý)3°AµsÑ);Ô);ð	à˜’EˆNØˆF�1�a‰LŒLˆØˆ=Ø�5ˆLØ�A’ˆrp   c                 óH   •—  ‰| |¦  «        }|dv rdS t          | |¦  «        S )N©TFT)r   )r‰   rŠ   Úbr†   s      €rn   Úrepluez_simplifyconds.<locals>.replue�   s2   ø€ ØˆF�1�a‰LŒLˆØ�ÐÐØ�4Ý˜!˜QÑÔÐrp   c                 ó<   — | dv rt          | ¦  «        S  | j        |Ž S )NrŽ   )ÚboolÚreplace)rz   rj   s     rn   Úreplz_simplifyconds.<locals>.repl£   s'   € Ø�ÐÐÝ˜‘8”8ˆOØˆrŒz˜4Ð Ð rp   r   )Úcollect_absc                 ó   •—  ‰|| ¦  «        S ©Nrq   )r‰   rŠ   rŒ   s     €rn   ú<lambda>z _simplifyconds.<locals>.<lambda>«   s   ø€  v v¨a°¡|¤|€ rp   )Úsympy.simplify.radsimpr•   r   r   r   r   )	Úexprr{   r…   r�   r”   r•   r†   r|   rŒ   s	    ``   @@@rn   Ú_simplifycondsr›   U   sû   øøøøø€ ðBð ð ð ð ðð ð ð ð ð ð ð ð,ð ð ð ð ð ð  ð  ð  ð  ð!ð !ð !ð
 3Ð2Ð2Ð2Ð2Ð2Øˆ;�tÑÔ€DØˆ4�•b˜&Ñ!Ô!€DØˆ4�•bÐ3Ð3Ð3Ð3Ñ4Ô4€DØˆ4�•j &Ñ)Ô)€DÝˆT‰7Œ7€Nrp   c                 óR   — t          | |                      t          ¦  «        ¦  «        S )zs
    Expand an expression involving DiractDelta to get it as a linear
    combination of DiracDelta functions.
    )rO   Úatomsr:   ©rš   s    rn   Úexpand_dirac_deltarŸ   °   s    € õ ˜˜dŸjšj­Ñ4Ô4Ñ5Ô5Ð5rp   c                óÐ  ‡‡‡‡‡— t          d¦  «        Š|                      t          ¦  «        rdS t          | t	          ‰ ‰z  ¦  «        z  ‰t
          j        t
          j        f¦  «        }|                     t          ¦  «        s;t          | 
                    ‰‰¦  «        |¦  «        t
          j        t
          j        fS |j        sdS |j        d         \  }}|                     t          ¦  «        rdS ˆˆfd„Šˆfd„t          |¦  «        D ¦   «         }d„ |D ¦   «         }|sd„ |D ¦   «         }t!          t#          |¦  «        ¦  «        }d„ Š|                     ˆfd	„¬
¦  «         |sdS |d         \  }}	ˆˆfd„}
|r"t'          |‰|¦  «        }t'          |	‰|¦  «        }	t          | 
                    ‰‰¦  «        |¦  «         |
|¦  «        t)           |
|	¦  «        ¦  «        fS )z· The backend function for doing Laplace transforms by integration.

    This backend assumes that the frontend has already split sums
    such that `f` is to an addition anymore.
    r{   Nr   c                 óŽ	  •‡— ddl m} t          j        }t          j        }t          t          | ¦  «        ¦  «        } t          dt          ‰g¬¦  «        \  }}}}}}	}
|t          t          ‰|z   |z  ¦  «        ¦  «        z  |k     |t          t          ‰|z   |z  ¦  «        ¦  «        z  |k    t          t          ‰|z   |z  |z  |¦  «        ¦  «        |k     t          t          ‰|z   |z  |z  |¦  «        ¦  «        |k    t          t          t          ‰|z   ¦  «        |z  |z  |¦  «        ¦  «        |k     t          t          t          ‰|z   ¦  «        |z  |z  |¦  «        ¦  «        |k    f}| D �]D}t          j        }g }t          |¦  «        D �]ë}|j        r‰|j        j        v r|j        }|j        r#t'          |t(          t*          f¦  «        r|j        }|D ]}|                     |¦  «        Š‰r nŒ‰rG‰|         j        r:‰|         ‰|         z  t2          dz  k    rt5          ‰‰|         z   ¦  «         dk     }|                     |t7          |t          t          ‰|
z  ¦  «        ¦  «        z  |z  ¦  «        t          ‰|z  ¦  «        |	z  z  z
  dk     ¦  «        Š‰sc|                     t7          |t          t          ‰|z  |
z  |¦  «        ¦  «        |z  z
  ¦  «        t          ‰|z  ¦  «        |	z  z  dk     ¦  «        Š‰sp|                     |t7          t          t          t          ‰¦  «        |z  |
z  |¦  «        ¦  «        |z  ¦  «        t          ‰|z  ¦  «        |	z  z  z
  dk     ¦  «        Š‰r9t9          ˆfd„||||	|
fD ¦   «         ¦  «        rt5          ‰¦  «        ‰|         k    }|                     t4          d„ ¦  «                             t5          ‰¦  «        ‰¦  «        }|j        r3|j        dv s*|                      ‰¦  «        s|                      ‰¦  «        s||gz  }�Œ£ ||‰¦  «        }|j        r	|j        dv r||gz  }�ŒÇ|j!        ‰k    r  d	S tE          |j!        |¦  «        }�Œí|t          j        urtG          ||¦  «        }�Œ-tI          |tK          |Ž ¦  «        }�ŒF||j        r|j&        n|fS )
z7 Turn ``conds`` into a strip and auxiliary conditions. r   ©Ú_solve_inequalityzp q w1 w2 w3 w4 w5©ÚclsÚexcludeé   c              3   ó2   •K  — | ]}‰|         j         V — Œd S r—   )rˆ   )Ú.0ÚwildÚms     €rn   ú	<genexpr>zH_laplace_transform_integration.<locals>.process_conds.<locals>.<genexpr>ø   s:   øè è € ð -ð -°T˜Q˜tœWÔ0ð -ð -ð -ð -ð -ð -rp   c                 óZ   — |                       ¦   «                              ¦   «         d         S ©Nr   )r   Úas_real_imag)r‰   s    rn   r˜   zG_laplace_transform_integration.<locals>.process_conds.<locals>.<lambda>ü   s   €  !§(¢(¡*¤*×"9Ò"9Ñ";Ô";¸AÔ">€ rp   )z==z!=N)'Úsympy.solvers.inequalitiesr£   r   ÚNegativeInfinityr€   rJ   rI   r   r    r$   r#   r&   r%   ÚInfinityrK   Úis_RelationalÚrhsÚfree_symbolsÚreversedr   r   r   ÚreversedsignÚmatchrˆ   r   r!   r2   Úallr“   ÚsubsÚrel_opr~   Últsr.   r-   rM   rL   Ú	canonical)Úcondsr£   r…   ÚauxÚpÚqÚw1Úw2Úw3Úw4Úw5ÚpatternsÚcÚa_Úaux_ÚdÚpatÚd_Úsolnr«   r{   Úts                      @€€rn   Úprocess_condsz5_laplace_transform_integration.<locals>.process_condsÑ   s  øø€ à@Ð@Ð@Ð@Ð@Ð@ÝÔˆÝŒfˆÝ�& ™-œ-Ñ(Ô(ˆÝ#*Ø ¥d°Q°Cð$9ñ $9ô $9Ñ ˆˆ1ˆb�"�b˜"˜bð �c•#�q˜2‘v˜q‘j‘/”/Ñ"Ô"Ñ" RÒ'Ø�c•#�q˜2‘v˜q‘j‘/”/Ñ"Ô"Ñ" bÒ(ÝÕ! 1 r¡6¨A¡+¨a¡-°Ñ4Ô4Ñ5Ô5¸Ò:ÝÕ! 1 r¡6¨A¡+¨a¡-°Ñ4Ô4Ñ5Ô5¸Ò;ÝÕ!¥:¨a°"©fÑ#5Ô#5¸Ñ"9¸!Ñ";¸RÑ@Ô@ÑAÔAÀBÒFÝÕ!¥:¨a°"©fÑ#5Ô#5¸Ñ"9¸!Ñ";¸RÑ@Ô@ÑAÔAÀRÒGðIˆð ð -	*ñ -	*ˆAÝ”ˆBØˆDÝ˜q‘\”\ð &+ñ &+�Ø”?ð # q¨A¬EÔ,>Ð'>Ð'>Øœ
�AØ”?ð '¥z°!µb½"°XÑ'>Ô'>ð 'Øœ�AØ#ð ð �CØŸš ™œ�AØð Ø˜ðàð +˜˜1œÔ)ð +¨a°¬e°A°a´D©j½B¸q¹DÒ.@Ð.@Ý˜A  "¤™I™œ˜¨Ò*�AØ—G’G˜A¥ B¥s­3¨q°©t©9¬9¡~¤~Ñ$5°bÑ$8Ñ 9Ô 9½#¸aÀ¹e¹*¼*Àb¹.Ñ HÑHÈ1ÒLÑMÔM�Øð ,ØŸšÝ˜A¥Õ$5°a¸±e¸B±hÀÑ$BÔ$BÑ CÔ CÀBÑ FÑFÑGÔGÝ˜A˜r™E™
œ
 B™ñ'Ø)*ò+ñ,ô ,�Að ð 2ØŸšØ�CÝÕ 1µ*¸Q±-´-ÀÑ2CÀBÑ2FÈÑ JÔ JÑKÔKÈBÑNñô å! ! R¡%™jœj¨"™nñ-ñ -à/0ò1ñ2ô 2�Að ð %�ð -ð -ð -ð -Ø˜B  B¨ð>,ð -ñ -ô -ñ -ô -ð %å˜1™œ  !¤š�AØ—Y’YÝÐ>Ð>ñ@ô @ß@DÂÅRÈÁUÄUÈAÁÄð ð œOðØ/0¬x¸<Ð/GÐ/GØŸ6š6 !™9œ9ð 0HØ,.¯FªF°1©I¬Ið 0Hà˜Q˜C‘K�DÙØ(Ð(¨¨QÑ/Ô/�ØÔ)ð ¨T¬[¸LÐ-HÐ-HØ˜Q˜C‘K�DÙØ”8˜q’=�=Ø˜4˜4˜4å˜TœX rÑ*Ô*�B‘BØ�œÐ#Ð#Ý˜˜A‘J”J�‘å˜#�r 4˜yÑ)Ô)�‘Ø 3Ô#4Ð=�#”-�-¸#Ð=Ð=rp   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rq   rq   )r©   rÈ   rÐ   s     €rn   ú
<listcomp>z2_laplace_transform_integration.<locals>.<listcomp>  s#   ø€ Ð7Ð7Ð7 !ˆ]ˆ]˜1ÑÔÐ7Ð7Ð7rp   c                 óf   — g | ].}|d          t           j        k    r|d         t           j        u¯,|‘Œ/S )ra   r   )r   Úfalser±   ©r©   r‰   s     rn   rÒ   z2_laplace_transform_integration.<locals>.<listcomp>  sH   € ð :ð :ð :�A ! A¤$ÝŒgò#ð #Ø˜Aœ$¥aÔ&8Ð8Ð8ð Ø8Ð8Ð8rp   c                 ó>   — g | ]}|d          t           j        k    ¯|‘ŒS ©ra   )r   rÔ   rÕ   s     rn   rÒ   z2_laplace_transform_integration.<locals>.<listcomp>  s#   € Ð6Ð6Ð6˜ a¨¤d­a¬g¢o o�! o o orp   c                 ó6   — | dv rdS |                       ¦   «         S )NrŽ   r   )Ú	count_opsrž   s    rn   Úcntz+_laplace_transform_integration.<locals>.cnt  s"   € Ø�=Ð Ð Ø�1Ø�~Š~ÑÔÐrp   c                 ó8   •— | d           ‰| d         ¦  «        fS ©Nr   ra   rq   )r‰   rÚ   s    €rn   r˜   z0_laplace_transform_integration.<locals>.<lambda>  s   ø€ ˜q œt˜e S S¨¨1¬¡Y¤YÐ/€ rp   ©Úkeyc                 ó0   •— |                       ‰‰¦  «        S r—   ©rº   )rš   r{   Ús_s    €€rn   Úsbsz+_laplace_transform_integration.<locals>.sbs!  s   ø€ Ø�yŠy˜˜BÑÔÐrp   )r   r~   r:   rD   r'   r   ÚZeror²   rE   rF   rº   r±   r€   Úis_Piecewiserj   rK   Úlistr   Úsortr›   r   )ÚfrÏ   rá   ÚsimplifyÚFÚcondr¾   Úconds2r…   r¿   râ   rÚ   rÐ   r{   s    ``        @@@rn   rb   rb   ¹   s  øøøøø€ õ 	ˆc‰
Œ
€Aà‡u‚u�ZÑÔð Øˆtå�!•C˜˜˜1™‘I”I‘+ ¥1¤6­1¬:Ð6Ñ7Ô7€Aà�5Š5•‰?Œ?ð NÝ˜Ÿš  2™œ¨Ñ1Ô1µ1Ô3EÅqÄvÐMÐMàŒ>ð ØˆtàŒf�QŒi�G€A€tØ‡u‚u�X�„ð Øˆtð=>ð =>ð =>ð =>ð =>ð =>ð~ 8Ð7Ð7Ð7¥y°¡¤Ð7Ñ7Ô7€Eð:ð :˜ð :ñ :ô :€Fàð 7Ø6Ð6˜UÐ6Ñ6Ô6ˆÝ•˜‘”Ñ!Ô!€Eð ð  ð  ð 
‡J‚JÐ/Ð/Ð/Ð/€JÑ0Ô0Ð0àð ØˆtØ�1ŒX�F€A€sð ð  ð  ð  ð  ð  àð (Ý˜1˜a Ñ#Ô#ˆÝ˜S ! QÑ'Ô'ˆÝ�Q—V’V˜A˜r‘]”] HÑ-Ô-¨s¨s°1©v¬vµzÀ#À#ÀcÁ(Ä(Ñ7KÔ7KÐKÐKrp   c                 óÆ   ‡— t          | t          ¦  «        s| S |                      ‰¦  «        x}�|                     ¦   «         S | j        }ˆfd„| j        D ¦   «         } ||Ž S )a  
    This is an internal helper function that traverses through the expression
    tree of `f(t)` and collects arguments. The purpose of it is that
    anything like `f(w*t-1*t-c)` will be written as `f((w-1)*t-c)` such that
    it can match `f(a*t+b)`.
    Nc                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS rq   ©Ú_laplace_deep_collect)r©   r#   rÏ   s     €rn   rÒ   z)_laplace_deep_collect.<locals>.<listcomp>6  s$   ø€ Ð<Ð<Ð<¨cÕ! # qÑ)Ô)Ð<Ð<Ð<rp   )r   r   Úas_polyÚas_exprrm   rj   )rç   rÏ   rÀ   rm   rj   s    `   rn   rï   rï   )  sm   ø€ õ �a�ÑÔð ØˆØ�YŠY�q‰\Œ\ÐˆÐ&Ø�yŠy‰{Œ{ÐØŒ6€DØ<Ð<Ð<Ð<°Q´VÐ<Ñ<Ô<€DØˆ4�ˆ;Ðrp   c                  ó~7  ‡— t          d¦  «        Št          d¦  «        } t          d‰g¬¦  «        }t          d‰g¬¦  «        }t          d‰g¬¦  «        }t          d‰g¬¦  «        }t          d‰g¬¦  «        }ˆfd	„}t          d
¦  «         g ||| z  t          j        t          j        |f‘t          |‰z  |z
  ¦  «        t          |  |z  |z  ¦  «        t          |¦  «        z  t          t          |dk    |dk    ¦  «        t          |dk     |dk    ¦  «        ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        t          d¦  «        t          t          |dk     |dk    ¦  «        t          |dk    |dk    ¦  «        ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        t          |  |z  |z  ¦  «        | z  t          |dk    |dk    ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        dt          |  |z  |z  ¦  «        z
  | z  t          |dk     |dk     ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        d| z  t          |dk    |dk    ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        dt          |dk     |dk    ¦  «        t          j        |f‘‰d| dz  z  t          j        t          j        |f‘d|‰z  |z   z  t          | |z  | z  ¦  «         t          | |z  | z  ¦  «        z  |z  t          t          ||z  ¦  «        ¦  «        t          k     t          j        |f‘dt!          |‰z  |z   ¦  «        z  t!          |t          z  | z  ¦  «        t          ||z  | z  ¦  «        z  t#          t!          ||z  | z  ¦  «        ¦  «        z  |z  t          t          ||z  ¦  «        ¦  «        t          k     t          j        |f‘|‰z  |z   t          d¦  «         dz  z  d|t          d¦  «         dz  z  z  dt          | z  |z  t          d¦  «        dz  z  z  t          ||z  | z  ¦  «        z  t#          t!          ||z  | z  ¦  «        ¦  «        z  |z  z
  t          t          ||z  ¦  «        ¦  «        t          k     t          j        |f‘t!          ‰¦  «        ‰|z   z  t!          t          | z  ¦  «        t          t!          |¦  «        z  t          || z  ¦  «        z  t#          t!          || z  ¦  «        ¦  «        z  z
  t          t          |¦  «        ¦  «        t          k     t          j        |f‘d|t!          ‰¦  «        z  ‰dz  z   z  t          |t          d¦  «        dz  z  z  t          || z  ¦  «        z  t#          t!          || z  ¦  «        ¦  «        z  t          j        t          j        |f‘‰|z  t%          |dz   ¦  «        | |dz   z  z  |dk    t          j        |f‘|‰z  |z   |z  t'          |dz   ||z  | z  ¦  «        t          | |z  | z  ¦  «        z  | |dz   z  z  |z  t          |dk    t          t          ||z  ¦  «        ¦  «        t          k     ¦  «        t          j        |f‘‰|z  ‰|z   z  ||z  t%          |dz   ¦  «        z  t'          | || z  ¦  «        z  t          |dk    t          t          |¦  «        ¦  «        t          k     ¦  «        t          j        |f‘t          |‰z  |z
  ¦  «        t          | ¦  «        | |z
  z  t          j        t)          |¦  «        |f‘‰t          |‰z  |z
  ¦  «        z  t          | ¦  «        | |z
  dz  z  t          j        t)          |¦  «        |f‘‰|z  t          |‰z  ¦  «        z  t%          |dz   ¦  «        | |z
  |dz   z  z  t)          |¦  «        dk    t)          |¦  «        |f‘t          | ‰dz  z  ¦  «        t!          t          dz  |z  ¦  «        t          | dz  dz  |z  ¦  «        z  t#          | t!          d|z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘‰t          | ‰dz  z  ¦  «        z  dd|z  z  dt!          t          ¦  «        z  d|z  t          d¦  «        dz  z  z  | z  t#          | t!          d|z  ¦  «        z  ¦  «        z  z
  t)          |¦  «        dk    t          j        |f‘t          | ‰z  ¦  «        dt!          || z  ¦  «        z  t+          ddt!          || z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘t!          ‰¦  «        t          | ‰z  ¦  «        z  t          d¦  «        dz  t!          t          | dz  z  ¦  «        z  ddt!          || z  ¦  «        z  z   z  t          dt!          || z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘t          | ‰z  ¦  «        t!          ‰¦  «        z  t!          t          | z  ¦  «        t          dt!          || z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘t          | ‰z  ¦  «        ‰t!          ‰¦  «        z  z  t!          t          |z  ¦  «        t          dt!          || z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘‰|z  t          | ‰z  ¦  «        z  d|| z  |dz   dz  z  z  t+          |dz   dt!          || z  ¦  «        z  ¦  «        z  t)          |¦  «        dk    t          j        |f‘t          | t          ‰ ¦  «        z  ¦  «        ||  z  t-          | |¦  «        z  t          j        t          j        |f‘t          | t          ‰¦  «        z  ¦  «        || z  t'          |  |¦  «        z  t)          |¦  «        dk    t          j        |f‘t/          |‰z  ¦  «        t/          t          t          j        ¦  «        | z  |z  ¦  «         | z  |dk    t          j        |f‘t/          d|‰z  z   ¦  «        t          | |z  ¦  «         | z  t          |  |z  ¦  «        z  t          t          |¦  «        ¦  «        t          k     t          j        |f‘t/          |‰z  |z   ¦  «        t/          |¦  «        t          | |z  |z  ¦  «        | z  |z  t          |  |z  ¦  «        z  z
  | z  |z  t          |dk    t          t          |¦  «        ¦  «        t          k     ¦  «        t          j        |f‘t/          ‰¦  «        t!          ‰¦  «        z  t!          t          | z  ¦  «         t/          d| z  t          t          j        ¦  «        z  ¦  «        z  t          j        t          j        |f‘‰|z  t/          ‰¦  «        z  t%          |dz   ¦  «        | | dz
  z  z  t3          |dz   ¦  «        t/          | ¦  «        z
  z  t)          |¦  «        dk    t          j        |f‘t/          |‰z  ¦  «        dz  t/          t          t          j        ¦  «        | z  |z  ¦  «        dz  t          dz  dz  z   | z  |dk    t          j        |f‘t5          |‰z  ¦  «        || dz  |dz  z   z  t          j        t          t7          |¦  «        ¦  «        |f‘t          t5          |‰z  ¦  «        ¦  «        || dz  |dz  z   z  t9          t          | z  dz  |z  ¦  «        z  |dk    t          j        |f‘t5          |‰z  ¦  «        ‰z  t;          || z  ¦  «        t          j        t          t7          |¦  «        ¦  «        |f‘t5          |‰z  ¦  «        dz  ‰z  t/          dd|dz  z  | dz  z  z   ¦  «        dz  t          j        dt          t7          |¦  «        ¦  «        z  |f‘t5          |‰z  ¦  «        dz  ‰dz  z  |t;          d|z  | z  ¦  «        z  | t/          dd|dz  z  | dz  z  z   ¦  «        z  dz  z
  t          j        dt          t7          |¦  «        ¦  «        z  |f‘t=          |‰z  ¦  «        | | dz  |dz  z   z  t          j        t          t7          |¦  «        ¦  «        |f‘t=          |‰z  ¦  «        dz  | dz  d|dz  z  z   | dz  d|dz  z  z   z  | z  t          j        dt          t7          |¦  «        ¦  «        z  |f‘t5          |‰z  ¦  «        t5          |‰z  ¦  «        z  d|z  |z  | z  | dz  ||z   dz  z   z  | dz  ||z
  dz  z   z  t          j        t          t7          |¦  «        ¦  «        t          t7          |¦  «        ¦  «        z   |f‘t=          |‰z  ¦  «        t5          |‰z  ¦  «        z  || dz  |dz  z
  |dz  z   z  | dz  ||z   dz  z   z  | dz  ||z
  dz  z   z  t          j        t          t7          |¦  «        ¦  «        t          t7          |¦  «        ¦  «        z   |f‘t=          |‰z  ¦  «        t=          |‰z  ¦  «        z  | | dz  |dz  z   |dz  z   z  | dz  ||z   dz  z   z  | dz  ||z
  dz  z   z  t          j        t          t7          |¦  «        ¦  «        t          t7          |¦  «        ¦  «        z   |f‘t?          |‰z  ¦  «        || dz  |dz  z
  z  t          j        t          t)          |¦  «        ¦  «        |f‘tA          |‰z  ¦  «        | | dz  |dz  z
  z  t          j        t          t)          |¦  «        ¦  «        |f‘t?          |‰z  ¦  «        dz  d|dz  z  | dz  d|dz  z  | z  z
  z  t          j        dt          t)          |¦  «        ¦  «        z  |f‘tA          |‰z  ¦  «        dz  | dz  d|dz  z  z
  | dz  d|dz  z  | z  z
  z  t          j        dt          t)          |¦  «        ¦  «        z  |f‘t?          |‰z  ¦  «        ‰z  t/          | |z   | |z
  z  ¦  «        dz  t          j        t          t)          |¦  «        ¦  «        |f‘‰|z  t?          |‰z  ¦  «        z  t%          |dz   ¦  «        dz  | |z
  | dz
  z  | |z   | dz
  z  z
  z  |dk    t          |¦  «        |f‘‰|z  tA          |‰z  ¦  «        z  t%          |dz   ¦  «        dz  | |z
  | dz
  z  | |z   | dz
  z  z   z  |dk    t          |¦  «        |f‘tC          |‰z  ¦  «        t          | dz  d|z  dz  z  ¦  «        t#          | d|z  z  ¦  «        z  | z  dt          t          |¦  «        ¦  «        z  t          k     t          j        |f‘tE          ||‰z  ¦  «        ||z  t!          | dz  |dz  z   ¦  «        | t!          | dz  |dz  z   ¦  «        z   |z  z  z  t)          |¦  «        dk    t          t7          |¦  «        ¦  «        |f‘‰|z  tE          ||‰z  ¦  «        z  d|z  t!          t          ¦  «        z  t%          |t          j#        z   ¦  «        z  ||z  z  | dz  |dz  z   | t          j#        z
  z  z  t          t)          |¦  «        t          j#         k    tI          ||¦  «        ¦  «        t          t7          |¦  «        ¦  «        |f‘‰|z  tE          ||‰z  ¦  «        z  d|dz   z  t!          t          ¦  «        z  t%          |t          d¦  «        dz  z   ¦  «        z  ||z  z  | z  | dz  |dz  z   | t          d¦  «        dz  z
  z  z  t          t)          |¦  «        dk    tI          ||dz   ¦  «        ¦  «        t          t7          |¦  «        ¦  «        |f‘tE          d|t!          ‰dz  |‰z  z   ¦  «        z  ¦  «        t          || z  |t!          | dz  |dz  z   ¦  «        z  z
  ¦  «        t!          | dz  |dz  z   ¦  «        z  t          t          |¦  «        ¦  «        t          k     t          t7          |¦  «        ¦  «        |f‘tK          ||‰z  ¦  «        ||z  t!          | dz  |dz  z
  ¦  «        | t!          | dz  |dz  z
  ¦  «        z   |z  z  z  t)          |¦  «        dk    t          t)          |¦  «        ¦  «        |f‘‰|z  tK          ||‰z  ¦  «        z  d|z  t!          t          ¦  «        z  t%          |t          j#        z   ¦  «        z  ||z  z  | dz  |dz  z
  | t          j#        z
  z  z  t          t)          |¦  «        t          j#         k    tI          ||¦  «        ¦  «        t          t)          |¦  «        ¦  «        |f‘‰|z  tK          ||‰z  ¦  «        z  d|dz   z  t!          t          ¦  «        z  t%          |t          d¦  «        dz  z   ¦  «        z  ||z  z  | z  | dz  |dz  z
  | t          d¦  «        dz  z
  z  z  t          t)          |¦  «        dk    tI          ||dz   ¦  «        ¦  «        t          t)          |¦  «        ¦  «        |f‘tM          d|‰z  ¦  «        dt          z  tO          | |z  ¦  «        z  t!          | dz  |dz  z   ¦  «        z  t          j        t          t7          |¦  «        ¦  «        |f‘t+          d|‰z  ¦  «        t/          | t!          | dz  |dz  z
  ¦  «        z   |z  ¦  «        t!          | dz  |dz  z
  ¦  «        z  t          j        t)          |¦  «         |f‘}|‰| fS )aY  
    This is an internal helper function that returns the table of Laplace
    transform rules in terms of the time variable `t` and the frequency
    variable `s`.  It is used by ``_laplace_apply_rules``.  Each entry is a
    tuple containing:

        (time domain pattern,
         frequency-domain replacement,
         condition for the rule to be applied,
         convergence plane,
         preparation function)

    The preparation function is a function with one argument that is applied
    to the expression before matching. For most rules it should be
    ``_laplace_deep_collect``.
    rÏ   r{   r…   ©r¦   r�   r„   ÚtauÚomegac                 ó$   •— t          | ‰¦  «        S r—   rî   )rç   rÏ   s    €rn   Údcoz!_laplace_build_rules.<locals>.dcoS  s   ø€ Õ,¨Q°Ñ2Ô2Ð2rp   z&_laplace_build_rules is building rulesr   ra   r§   é   g      ø?éÿÿÿÿé   éþÿÿÿé   )(r   r    ru   r   r€   rã   r:   r'   r$   rL   rM   r±   r;   r>   r#   r   r/   r=   r@   rB   r!   r8   rA   r(   Ú
EulerGammar?   r3   r"   r*   r4   r2   r+   r)   r<   r7   ÚHalfr   r6   r9   r,   )	r{   r…   r�   r„   rô   rõ   r÷   Úlaplace_transform_rulesrÏ   s	           @rn   Ú_laplace_build_rulesr   :  s·  ø€ õ$ 	ˆc‰
Œ
€AÝˆc‰
Œ
€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝ
ˆu˜q˜cÐ
"Ñ
"Ô
"€CÝ� 1 #Ð&Ñ&Ô&€EØ2Ð2Ð2Ð2Ð2Ý
Ð3Ñ4Ô4Ð4ð|Ø	
ˆAˆa‰CÝ	
Œ•”˜ð	ð|õ 
�A�a‘C˜‘EÑ	Ô	�C   1¡ Q¡™KœK­¨A©¬Ñ.Ý	�C��A’�q˜A’vÑÔ¥ A¨¢E¨1°ª6Ñ 2Ô 2Ñ	3Ô	3Ý	
Ô	˜Sð	"ð|õ 
�A�a‘C˜‘EÑ	Ô	�A˜a™DœDÝ	�C��A’�q˜A’vÑÔ¥ A¨¢E¨1°ª6Ñ 2Ô 2Ñ	3Ô	3Ý	
Ô	˜Sð	"ð|õ 
�1�Q‘3�q‘5Ñ	Ô	�3 ˜r !™t A™v™;œ; q™=Ý	ˆQ�ŠU�A˜’EÑ	Ô	�AœF Cð	)ð|õ 
�1�Q‘3�q‘5Ñ	Ô	˜A�c 1 " Q¡$ q¡&™kœk™M¨1Ñ,Ý	ˆQ�ŠU�A˜’EÑ	Ô	�AœF Cð	)ð|õ 
�1�Q‘3�q‘5Ñ	Ô	˜1˜Q™3Ý	ˆQ�ŠU�A˜’FÑ	Ô	�QœV Sð	*ð|õ 
�1�Q‘3�q‘5Ñ	Ô	˜1Ý	ˆQ�ŠU�A˜’EÑ	Ô	�AœF Cð	)ð|ð" 
ˆAˆa�‰d‰FÝ	
Œ•”˜ð	ð#|ð& 
ˆAˆa‰C�‰E‰•S˜!˜˜A™˜a™‘[”[�L¥ Q B q¡D¨¡F¡¤Ñ+¨AÑ-Ý	�S��1‘‰XŒX‰Œ�Ò	�QœV Sð	*ð'|ð* 
�4��!‘�A‘‰;Œ;‰�˜Q�r™T !™V™œ¥S¨¨1©¨Q©¡Z¤ZÑ/µµT¸!¸A¹#¸a¹%±[´[Ñ0AÔ0AÑAÀ!ÑCÝ	�S��1‘‰XŒX‰Œ�Ò	�QœV Sð	*ð+|ð. ˆA‰#ˆa‰%•A�a‘D”D�5˜‘7Ñ	Ø	
ˆ1•�!‘”ˆu�Q‰w‰<‰˜�2˜a™4 ™6¥Q q¡T¤T¨!¡VÑ,Ñ,­S°°1±°Q±©Z¬ZÑ7½$½tÀAÀaÁCÈÁE¹{¼{Ñ:KÔ:KÑKÈAÑMÑ	MÝ	�S��1‘‰XŒX‰Œ�Ò	�QœV Sð	*ð/|õ4 
ˆa‰Œ�!�A‘#‰��R ™T™
œ
¥2¥d¨1¡g¤g¡:­c°!°A±#©h¬hÑ#6µt½DÀÀ1Á¹I¼I±´Ñ#FÑFÝ	�S�‰VŒV‰Œ•rÒ	�1œ6 3ð	(ð5|ð8 
ˆA�d�1‰gŒg‰I˜˜C™Ñ Ñ	!¥2 a­!¨A©$¬$¨q©&¡k¡>µ#°a¸±c±(´(Ñ#:½4ÅÀQÀqÁSÁ	Ä	¹?¼?Ñ#JÝ	
Œ•”˜ð	ð9|ð< 
ˆA‰�u�Q�q‘S‰zŒz˜!˜a ™c™(Ñ"Ø	
ˆRŠ•”˜ð	ð=|ð@ ˆA‰#ˆa‰%�!‰•Z  !¡ Q q¡S¨¡UÑ+Ô+­C°°°1±°Q±©K¬KÑ7¸¸A¸a¹C¹Ñ@ÀÑBÝ	ˆQ�ŠV•S�˜Q˜q™S™œ‘]”]¥RÒ'Ñ	(Ô	(­!¬&°#ð	7ðA|ðD 
ˆA‰ˆq�‰s‰�Q˜‘T�%  !¡™*œ*‘_¥Z°°°A°a±CÑ%8Ô%8Ñ8Ý	ˆQ�ŠV•S�˜Q™œ‘[”[¥2Ò%Ñ	&Ô	&­¬°ð	5ðE|õH 
ˆQˆq‰S�‰W‰Œ•s˜C˜4‘y”y ! A¡#‘Ý	
Œ•�A‘”˜ð	ðI|ðL 
�3ˆq�‰s�3‰w‰<Œ<‰�˜c˜T™œ A a¡C¨!¡8Ñ+Ý	
Œ•�A‘”˜ð	ðM|ðP 
ˆA‰�c�!�A‘#‰hŒh‰�˜a ™c™
œ
 A a¡C¨1¨Q©3¡<Ñ/Ý	ˆA‰Œ�Š•R˜‘U”U˜Cð	!ðQ|õT 
ˆaˆR��1‘‰W‰Œ•t�B˜q™D ™F‘|”|¥C¨¨1©¨Q©¨q©¡M¤MÑ1µ$°q½¸aÀ¹c¹¼±{Ñ2CÔ2CÑCÝ	ˆA‰Œ�Š•A”F˜Cð	!ðU|ðX 
�3�ˆr�!�Q‘$‰w‰<Œ<‰Ø	
ˆAˆa‰C‰�•4�‘8”8‘˜Q˜q™S¥A a¡D¤D¨¡F™OÑ+¨AÑ-­d°1µT¸!¸A¹#±Y´Y±;Ñ.?Ô.?Ñ?Ñ	?Ý	ˆA‰Œ�Š•A”F˜Cð	!ðY|õ^ 
ˆaˆR�‰T‰Œ�A•d˜1˜Q™3‘i”i‘K¥¨¨1­T°!°A±#©Y¬Y©;Ñ 7Ô 7Ñ7Ý	ˆA‰Œ�!Š•Q”V˜Sð	"ð_|õb 
ˆa‰Œ•�a�R˜‘T‘”Ñ	Ý	
ˆ1‰Œˆa‰••R˜˜1™‘W‘”Ñ	˜q ¥4¨¨!©¡9¤9¡™}Ñ	-­c°"µT¸!¸A¹#±Y´Y±,Ñ.?Ô.?Ñ	?Ý	ˆA‰Œ�!Š•Q”V˜Sð	"ðc|õh 
ˆaˆR�‰T‰Œ•4˜‘7”7Ñ	�D¥ A¡™JœJ¥s¨2­d°1°Q±3©i¬i©<Ñ'8Ô'8Ñ8Ý	ˆA‰Œ�!Š•Q”V˜Sð	"ði|õl 
ˆaˆR�‰T‰Œ�A•d˜1‘g”g‘IÑ	¥¥R¨¡T¡
¤
­3¨rµ$°q¸±s±)´)©|Ñ+<Ô+<Ñ <Ý	ˆA‰Œ�Š•A”F˜Cð	!ðm|ðp 
ˆA‰�c�1�"�Q‘$‰iŒi‰˜˜A˜a™C A a¡C¨¡7Ñ+Ñ+­G°A°a±C¸½4ÀÀ!Á¹9¼9¹Ñ,EÔ,EÑEÝ	ˆA‰Œ�Š•A”F˜Cð	!ðq|õB 
ˆaˆR•�Q�B‘”‰Z‰Œ˜!˜q˜b™'¥*¨Q°Ñ"2Ô"2Ñ2Ý	
Œ•”˜ð	ðC|õF 
ˆaˆR•�A‘”‰Y‰Œ˜˜A™�j¨!¨¨QÑ/Ô/Ñ/Ý	ˆA‰Œ�Š•A”F˜Cð	!ðG|õJ 
ˆQˆq‰S‰Œ•C��AœLÑ)Ô)¨!Ñ+¨AÑ-Ñ.Ô.Ð.¨qÑ0Ø	
ˆQŠ•”˜ð	ðK|õN 
ˆQˆq�‰s‰U‰Œ•c˜!˜A™#‘h”h�Y˜q‘[¥ Q B q¡D¡¤Ñ)Ý	�S�‰VŒV‰Œ•rÒ	�1œ6 3ð	(ðO|õR 
ˆQˆq‰S�‰U‰Œ•c˜!‘f”f�S  1¡ Q¡™ZœZ¨™\¨!™^­B°¨r°!©t©H¬HÑ4Ñ4°aÑ7¸Ñ9Ý	ˆQ�ŠU•C�˜A™œ‘K”K¥"Ò$Ñ	%Ô	%¥q¤v¨sð	4ðS|õV 
ˆQ‰Œ•�Q‘”‰�$�r !™t™*œ*˜¥S¨¨1©­Sµ´Ñ->Ô->Ñ)>Ñ%?Ô%?Ñ?Ý	
Œ•”˜ð	ðW|ðZ 
ˆA‰�c�!‰fŒf‰•e˜A˜a™C‘j”j  a R¨¡T¡Ñ*­G°A°a±C©L¬L½¸Q¹¼Ñ,?Ñ@Ý	ˆA‰Œ�Š•Q”V˜Sð	"ð[|õ^ 
ˆQˆq‰S‰Œ�1‰•s�3�qœ|Ñ,Ô,¨QÑ.¨qÑ0Ñ1Ô1°1Ñ4µR¸±U¸1±WÑ<¸aÑ?Ø	
ˆQŠ•”˜ð	ð_|õb 
ˆU�1‰W‰Œ�u˜a ™d 5¨!¡8™mÑ,Ý	
Œ••R˜‘Y”Y‘” ð	&ðc|õf 
�S��q‘‰\Œ\Ñ	Ô	˜E 1 a¡4¨¨q©¡=Ñ1µ$µr¸!±t¸A±v¸e±|Ñ2DÔ2DÑDØ	�Š•A”F˜Cð	!ðg|õj 
ˆU�1‰W‰Œ�a‰�˜e A™g™œÝ	
Œ••R˜‘Y”Y‘” ð	&ðk|õn 
ˆU�1‰W‰Œ�q‰˜Ñ	�C  ! E¨1¡H¡*¨Q°©T¡/Ñ 1Ñ2Ô2°1Ñ4Ý	
Œ�•3•r˜%‘y”y‘>”>Ñ! 3ð	(ðo|õr 
ˆU�1‰W‰Œ�q‰˜˜A™Ñ	Ø	�t�A�e‘G˜A‘I‰ŒÑ	˜q¥ Q q¨°©¡z°!°Q±$¡Ñ%6Ñ!7Ô!7Ñ7¸Ñ9Ñ	9Ý	
Œ�•3•r˜%‘y”y‘>”>Ñ! 3ð	(ðs|õ@ 
ˆU�1‰W‰Œ�q˜!˜Q™$˜u a™x™-Ñ(Ý	
Œ••R˜‘Y”Y‘” ð	&ðA|õD 
ˆU�1‰W‰Œ�q‰˜1˜a™4  %¨¡(¡
™?¨Q°©T°!°E¸1±H±*©_Ñ=¸aÑ?Ý	
Œ�•3•r˜%‘y”y‘>”>Ñ! 3ð	(ðE|õP 
ˆQˆq‰S‰Œ•#�a˜‘c‘(”(Ñ	˜A˜a™C ™E !™G Q¨¡T¨1¨Q©3°©(¡]Ñ3°Q¸±T¸1¸Q¹3À¹(±]ÑCÝ	
Œ••R˜‘U”U‘”�C¥ 1¡¤™JœJÑ&¨ð	-ðQ|õT 
ˆQˆq‰S‰Œ•#�a˜‘c‘(”(Ñ	˜A˜q !™t A q¡D™y¨¨A©™~Ñ.°°1±°a¸±c¸A±X±Ñ>ÀÀ1ÁÀaÈÁcÈAÁXÁÑNÝ	
Œ••R˜‘U”U‘”�C¥ 1¡¤™JœJÑ&¨ð	-ðU|õX 
ˆQˆq‰S‰Œ•#�a˜‘c‘(”(Ñ	˜A˜q !™t A q¡D™y¨¨A©™~Ñ.°°1±°a¸±c¸A±X±Ñ>ÀÀ1ÁÀaÈÁcÈAÁXÁÑNÝ	
Œ••R˜‘U”U‘”�C¥ 1¡¤™JœJÑ&¨ð	-ðY|õ\ 
ˆa�‰c‰Œ�A�q˜!‘t˜A˜q™D‘y‘MÝ	
Œ••R˜‘U”U‘”˜Sð	"ð]|õ` 
ˆa�‰c‰Œ�A�q˜!‘t˜A˜q™D‘y‘MÝ	
Œ••R˜‘U”U‘”˜Sð	"ða|õd 
ˆa�‰c‰Œ�A‰�q˜˜A™‘v˜q !™t A a¨¡d¡F¨1¡H™}Ñ-Ý	
Œ�•3•r˜!‘u”u‘:”:‘˜sð	$ðe|õh 
ˆa�‰c‰Œ�A‰˜˜1™˜Q˜q !™t™V™ a¨¡d¨1¨Q°©T©6°!©8¡mÑ4Ý	
Œ�•3•r˜!‘u”u‘:”:‘˜sð	$ði|õl 
ˆa�‰c‰Œ�1‰•c˜1˜Q™3  1¡™+Ñ&Ô& qÑ(Ý	
Œ••R˜‘U”U‘”˜Sð	"ðm|ðp 
ˆA‰�d�1�Q‘3‰iŒi‰�˜q ™s™œ A™¨¨!©°¨r°!©t¡}°a¸±c¸a¸RÀ¹T±]Ñ'BÑCØ	
ˆRŠ•�Q‘”˜ð	ðq|ðt 
ˆA‰�d�1�Q‘3‰iŒi‰�˜q ™s™œ A™¨¨!©°¨r°!©t¡}°a¸±c¸a¸RÀ¹T±]Ñ'BÑCØ	
ˆRŠ•�Q‘”˜ð	ðu|õb 
ˆQˆq‰S‰Œ•3�q˜!‘t˜Q˜q™S 1™H‘}Ñ%Ô%¥d¨1¨a°©c©7¡m¤mÑ3°AÑ5Ø	
�3�s�1‰vŒv‰;Œ;‰�Ò	�QœV Sð	*ðc|õ~ 
��A�a‘C‰Œ˜!˜Q™$¥ Q¨¡T¨!¨Q©$¡Y¡¤°µ4¸¸1¹¸QÀ¹T¹	±?´?Ñ1BÀQÑ0FÑ FÑGÝ	ˆA‰Œ�Š•S�˜A™œ‘Z”Z ð	&ð|ðB 
ˆA‰�g�a˜˜1™‰oŒoÑ	Ø	
ˆA‰�d•2‰hŒh‰•u˜Q�qœv™X‘”Ñ	& q¨!¡tÑ	+¨Q°©T°!°Q±$©Y¸1¸"½Q¼V¹)Ñ,DÑ	DÝ	�R�‰UŒU•a”f�WŠ_�b  A™hœhÑ	'Ô	'­­R°©U¬U©¬°Sð	:ðC|ðH 
ˆA‰�g�a˜˜1™‰oŒoÑ	Ø	
ˆQˆq‰S‰•$•r‘(”(Ñ	�5 ¥1 Q¡4¤4¨¡6¡™?œ?Ñ	*¨1¨a©4Ñ	/°Ñ	1°1°a±4¸¸1¹±9ÀÀÅ1ÀQÁ4Ä4ÈÁ6Á	Ñ2JÑ	JÝ	�R�‰UŒU�RŠZ�˜A˜q ™s™œÑ	$Ô	$¥c­"¨Q©%¬%¡j¤j°#ð	7ðI|õV 
��A•d˜1˜a™4  !¡™8‘n”nÑ$Ñ	%Ô	%Ý	ˆQˆq‰S�•4˜˜1™˜Q ™T™	‘?”?Ñ"Ñ"Ñ	#Ô	#¥D¨¨A©¨a°©d©¡O¤OÑ	3Ý	�S�‰VŒV‰Œ•rÒ	�3�r !™uœu™:œ: sð	,ðW|õ\ 
��A�a‘C‰Œ˜!˜Q™$¥ Q¨¡T¨!¨Q©$¡Y¡¤°µ4¸¸1¹¸QÀ¹T¹	±?´?Ñ1BÀQÑ0FÑ FÑGÝ	ˆA‰Œ�Š•S�˜A™œ‘Z”Z ð	&ð]|ð` 
ˆA‰�g�a˜˜1™‰oŒoÑ	Ø	
ˆA‰�d•2‰hŒh‰•u˜Q�qœv™X‘”Ñ	& q¨!¡tÑ	+¨Q°©T°!°Q±$©Y¸1¸"½Q¼V¹)Ñ,DÑ	DÝ	�R�‰UŒU•a”f�WŠ_�b  A™hœhÑ	'Ô	'­­R°©U¬U©¬°Sð	:ða|ðf 
ˆA‰�g�a˜˜1™‰oŒoÑ	Ø	
ˆQˆq‰S‰•$•r‘(”(Ñ	�5 ¥1 Q¡4¤4¨¡6¡™?œ?Ñ	*¨1¨a©4Ñ	/°Ñ	1°1°a±4¸¸1¹±9ÀÀÅ1ÀQÁ4Ä4ÈÁ6Á	Ñ2JÑ	JÝ	�R�‰UŒU�RŠZ�˜A˜q ™s™œÑ	$Ô	$¥c­"¨Q©%¬%¡j¤j°#ð	7ðg|õp 
��A�a‘C‰Œ˜"�R™%¥ a¨¡c¡
¤
Ñ*­4°°1±°Q¸±T±	©?¬?Ñ:Ý	
Œ••R˜‘U”U‘”˜Sð	"ðq|õt 
��A�a‘C‰Œ�#˜q¥4¨¨1©¨Q°©T©	¡?¤?Ñ2°AÑ5Ñ6Ô6½¸QÀ¹TÀ!ÀQÁ$¹Y¹¼ÑHÝ	
Œ•"�Q‘%”%�˜ð	ðu|Ððz # A qÐ(Ð(rp   c                 óÔ  — t          d|g¬¦  «        }t          dd¬¦  «        }|                      |¦  «        }|r­||         j        d                              |¦  «        } |j        ||z  ¦  «        }|rr||         j        re||         dk    rYt          d¦  «         t          d||         z  ||                              |¦  «        z  ||||         z  d¬	¦  «        \  }}	}
||	|
fS d
S )zÞ
    This function applies the time-scaling rule of the Laplace transform in
    a straight-forward way. For example, if it gets ``(f(a*t), t, s)``, it will
    compute ``LaplaceTransform(f(t)/a, t, s/a)`` if ``a>0``.
    r…   ró   Úgra   )Únargsr   z     rule: time scaling (4.1.4)F©rè   N)	r    r   r¸   rj   Úcollectrˆ   ru   Ú_laplace_transformrm   )rç   rÏ   r{   r…   r  Úma1r#   Úma2r‹   ÚprÚcrs              rn   Ú_laplace_rule_timescaler    sü   € õ 	ˆS˜1˜#ÐÑÔ€AÝ�S Ð"Ñ"Ô"€AØ
�'Š'�!‰*Œ*€CØ
ð Ø�!ŒfŒk˜!Œn×$Ò$ QÑ'Ô'ˆØˆcŒi˜˜!™‰nŒnˆØð 	�3�q”6Ô%ð 	¨#¨a¬&°Aª+¨+ÝÐ4Ñ5Ô5Ð5Ý*Ø�#�a”&‘˜˜QœŸš Q™œÑ'¨¨A¨c°!¬f©H¸uðFñ Fô F‰IˆAˆr�2à�r˜2�;ÐØˆ4rp   c                 ó¦  — t          d|g¬¦  «        }t          d¦  «        }t          d¦  «        }|                      t          |¦  «        |z  ¦  «        x}�rx||                              ||z
  ¦  «        x}r³||         j        rht	          d¦  «         t          ||                              ||||         z   ¦  «        ||d¬¦  «        \  }}	}
t          ||          |z  ¦  «        |z  |	|
fS ||         j        r1t	          d¦  «         t          ||         ||d¬¦  «        \  }}	}
||	|
fS ||                              ||z
  ¦  «        x}r…||         j        rMt	          d	¦  «         t          d
t          |||         z
  ¦  «        z
  ||         z  ||d¬¦  «        \  }}	}
||	|
fS ||         j        rt	          d¦  «         ddt          j
        fS dS )a  
    This function deals with time-shifted Heaviside step functions. If the time
    shift is positive, it applies the time-shift rule of the Laplace transform.
    For example, if it gets ``(Heaviside(t-a)*f(t), t, s)``, it will compute
    ``exp(-a*s)*LaplaceTransform(f(t+a), t, s)``.

    If the time shift is negative, the Heaviside function is simply removed
    as it means nothing to the Laplace transform.

    The function does not remove a factor ``Heaviside(t)``; this is done by
    the simple rules.
    r…   ró   rŠ   r  z     rule: time shift (4.1.4)Fr  z8     rule: Heaviside factor; negative time shift (4.1.4)z      rule: Heaviside window openra   z"     rule: Heaviside window closedr   N)r    r¸   r;   rˆ   ru   r  rº   r'   Úis_negativer   r€   )rç   rÏ   r{   r…   rŠ   r  r  r  r‹   r	  r
  s              rn   Ú_laplace_rule_heavisider  ,  s  € õ 	ˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€AÝˆS‰	Œ	€AØ�gŠg•i ‘l”l QÑ&Ñ'Ô'Ð'€sñ &Ø�a”&—,’,˜q 1™uÑ%Ô%Ð%ˆ3ð 
	#Ø�1ŒvÔ!ð 6ÝÐ6Ñ7Ô7Ð7Ý.Ø˜”F—K’K  1 s¨1¤v¡:Ñ.Ô.°°1¸uðFñ Fô F‘	��2�rå˜S œV˜G a™KÑ(Ô(¨1Ñ,¨b°"Ð5Ð5Ø�1ŒvÔ!ð #ÝØNñPô Pð På.¨s°1¬v°q¸!ÀeÐLÑLÔL‘	��2�rØ˜2˜r�{Ð"Ø�a”&—,’,˜q 1™uÑ%Ô%Ð%ˆ3ð 	&Ø�1ŒvÔ!ð #ÝÐ9Ñ:Ô:Ð:Ý.Ø� 1 s¨1¤v¡:Ñ.Ô.Ñ.°#°a´&Ñ8¸!¸QÈðPñ Pô P‘	��2�rà˜2˜r�{Ð"Ø�1ŒvÔ!ð &ÝÐ;Ñ<Ô<Ð<Ø˜1�aœf�~Ð%Øˆ4rp   c                 óº  — t          d|g¬¦  «        }t          d¦  «        }t          d¦  «        }|                      t          |¦  «        |z  ¦  «        }|rƒ||                              |¦  «                             ||z  ¦  «        }|rPt	          d¦  «         t          ||         ||||         z
  d¬¦  «        \  }}	}
||	t          ||         ¦  «        z   |
fS dS )	a  
    If this function finds a factor ``exp(a*t)``, it applies the
    frequency-shift rule of the Laplace transform and adjusts the convergence
    plane accordingly.  For example, if it gets ``(exp(-a*t)*f(t), t, s)``, it
    will compute ``LaplaceTransform(f(t), t, s+a)``.
    r…   ró   rŠ   Úzz$     rule: multiply with exp (4.1.5)Fr  N)r    r¸   r'   r  ru   r  r!   )rç   rÏ   r{   r…   rŠ   r  r  r  r‹   r	  r
  s              rn   Ú_laplace_rule_expr  V  sÞ   € õ 	ˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€AÝˆS‰	Œ	€AØ
�'Š'•#�a‘&”&˜‘(Ñ
Ô
€CØ
ð *Ø�!Œf�nŠn˜QÑÔ×%Ò% a¨¡cÑ*Ô*ˆØð 	*ÝÐ9Ñ:Ô:Ð:Ý*¨3¨q¬6°1°a¸¸A¼±hØ49ð;ñ ;ô ;‰IˆAˆr�2à�r�"˜S œV™*œ*‘} bÐ)Ð)Øˆ4rp   c                 ót  ‡‡‡
‡‡‡‡‡— t          d‰g¬¦  «        Š
t          d‰g¬¦  «        Št          d¦  «        }t          d¦  «        Š|                      t          |¦  «        ‰z  ¦  «        Š‰�rE‰‰                              t          ¦  «        �s$‰|                              ‰¦  «                             ‰‰z  ‰
z
  ¦  «        Š‰�r)t          d¦  «         ‰‰
         ‰‰         z  }t          |¦  «        dk    rÝt          |¦  «        dk    rÊt          ‰‰
          ‰‰         z  ‰z  ¦  «        ‰‰         z  }|                     t          t          ¦  «        r,|                     t          ¦  «                             ¦   «         }ˆ
ˆˆˆfd„|                     ¦   «         D ¦   «         \  }}|dk    r%||z  ‰‰         z  t          j        t          j        fS d	S dt          j        t          j        fS ‰|                              ‰¦  «        r©t'          ‰|         ‰¦  «        }|i k    r�t)          |                     ¦   «         ¦  «        d
hk    rgt-          ‰|         ‰¦  «        Št/          ˆˆˆˆˆfd„t1          |                     ¦   «         ¦  «        D ¦   «         Ž }	|	t          j        t          j        fS d	S )zð
    If this function finds a factor ``DiracDelta(b*t-a)``, it applies the
    masking property of the delta distribution. For example, if it gets
    ``(DiracDelta(t-a)*f(t), t, s)``, it will return
    ``(f(a)*exp(-a*s), -a, True)``.
    r…   ró   r�   rŠ   r  z#     rule: multiply with DiracDeltar   c                 óZ   •— g | ]'}|                      ‰‰‰         ‰‰         z  ¦  «        ‘Œ(S rq   rà   )r©   r‰   r…   r�   r  rÏ   s     €€€€rn   rÒ   z'_laplace_rule_delta.<locals>.<listcomp>ˆ  s3   ø€ ÐNÐNÐN°Q˜Ÿš˜q # a¤&¨¨Q¬¡-Ñ0Ô0ÐNÐNÐNrp   Nra   c                 óê   •— g | ]o}t          |¦  «        d k    ¯t          |¦  «        d k    ¯(t          | ‰z  ¦  «        ‰‰                              ‰‰¦  «        z  ‰                     ‰|¦  «        z  ‘ŒpS )r   )r"   r!   r'   rº   )r©   r‰   r  r{   ÚsloperÏ   r  s     €€€€€rn   rÒ   z'_laplace_rule_delta.<locals>.<listcomp>”  sv   ø€ ð Mð Mð MØµ"°Q±%´%¸1²*°*ÅÀAÁÄÈ!ÂÀõ ˜1˜"˜Q™$‘i”i  A¤§¢¨A¨qÑ 1Ô 1Ñ1°%·*²*¸QÀÑ2BÔ2BÑBØAKÀÀrp   )r    r¸   r:   r~   r  ru   r!   r"   r'   r3   r2   Úrewriter5   ÚratsimpÚas_numer_denomr   r±   r€   Úis_polynomialrQ   ÚsetÚvaluesr   r   rå   Úkeys)rç   rÏ   r{   rŠ   ÚlocÚfnr„   rË   Úror‹   r…   r�   r  r  r  r  s    ``       @@@@@@rn   Ú_laplace_rule_deltar   m  sœ  øøøøøøøø€ õ 	ˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AåˆS‰	Œ	€AÝˆS‰	Œ	€AØ
�'Š'•*˜Q‘-”- ‘/Ñ
"Ô
"€CØ
ñ 7�3�q”6—:’:�jÑ)Ô)ñ 7Ø�!Œf�nŠn˜QÑÔ×%Ò% a¨¡c¨!¡eÑ,Ô,ˆØñ 	7ÝÐ8Ñ9Ô9Ð9Ø�a”&˜˜Qœ‘-ˆCÝ�#‰wŒw˜!Š|ˆ|¥ 3¡¤¨1¢ Ý˜#˜aœ&˜  Q¤™¨Ñ)Ñ*Ô*¨3¨q¬6Ñ1�Ø—6’6�#�sÑ#Ô#ð 4ð Ÿš¥DÑ)Ô)×1Ò1Ñ3Ô3�BØNÐNÐNÐNÐNÐNÐN¸"×:KÒ:KÑ:MÔ:MÐNÑNÔN‘��1Ø˜’6�6Ø˜a™C  A¤™J­Ô(:½A¼FÐCÐCà˜4à�1Ô-­q¬vÐ6Ð6ØˆqŒ6×Ò Ñ"Ô"ð 	7Ý�s˜1”v˜qÑ!Ô!ˆBØ�RŠxˆx�C §	¢	¡¤Ñ,Ô,°°Ò3Ð3Ý˜S œV Q™œ�ÝðMð Mð Mð Mð Mð Mð Mð MÝ# B§G¢G¡I¤I™œðMñ Mô MðN�ð �1Ô-­q¬vÐ6Ð6Øˆ4rp   c                 óJ  — t           j        g}t           j        g}t          j        | ¦  «        D ]_}|                     t
          t          t          t          t          ¦  «        r| 
                    |¦  «         ŒJ| 
                    |¦  «         Œ`t          |Ž }t          |Ž }||fS )zÊ
    Helper function for `_laplace_rule_trig`.  This function returns two terms
    `f` and `g`.  `f` contains all product terms with sin, cos, sinh, cosh in
    them; `g` contains everything else.
    )r   ÚOner   Ú	make_argsr~   r3   r2   r+   r)   r'   Úappend)r  ÚtrigsÚotherÚtermrç   r  s         rn   Ú_laplace_trig_splitr(  š  s�   € õ ŒUˆG€EÝŒUˆG€EÝ”˜bÑ!Ô!ð ð ˆØ�8Š8•C��d¥D­#Ñ.Ô.ð 	Ø�LŠL˜ÑÔÐÐà�LŠL˜ÑÔÐÐÝˆUˆ€AÝˆUˆ€AØˆaˆ4€Krp   c                 ó0  — t          d|g¬¦  «        }t          d|g¬¦  «        }t          d|g¬¦  «        }g }g }|                      t          ¦  «                             ¦   «         }t	          j        |¦  «        D �]}|                     |¦  «        s(|                     d|ddt          dt          di¦  «         Œ@t          |                     d¬	¦  «        |¦  «        }|                     |t          ||z  |z   ¦  «        z  ¦  «        x}	�q|                     d|	|         t          |	|         ¦  «        z  d|	|         t          t          |	|         ¦  «        t          t          |	|         ¦  «        i¦  «         �Œ|                     |¦  «         �Œ||fS )
a£  
    Helper function for `_laplace_rule_trig`.  This function expects the `f`
    from `_laplace_trig_split`.  It returns two lists `xm` and `xn`.  `xm` is
    a list of dictionaries with keys `k` and `a` representing a function
    `k*exp(a*t)`.  `xn` is a list of all terms that cannot be brought into
    that form, which may happen, e.g., when a trigonometric function has
    another function in its argument.
    Úc1ró   Úc0rÀ   Úkr…   r   r'   )Úcombine)r    r  r'   r   r   r#  r~   r$  r!   r"   rï   Úpowsimpr¸   )
rç   rÏ   r*  r+  rÀ   ÚxmÚxnÚx1r'  r‹   s
             rn   Ú_laplace_trig_expsumr2  ­  st  € õ 
ˆd˜Q˜CÐ	 Ñ	 Ô	 €BÝ	ˆd˜Q˜CÐ	 Ñ	 Ô	 €BÝˆS˜1˜#ÐÑÔ€AØ	€BØ	€Bà	
�Š•3‰Œ×	Ò	Ñ	 Ô	 €Bå”˜bÑ!Ô!ð ñ ˆØ�xŠx˜‰{Œ{ð 	Ø�IŠI�s˜D # q­"¨aµ°QÐ7Ñ8Ô8Ð8ØÝ$ T§\¢\¸% \Ñ%@Ô%@À!ÑDÔDˆà—’˜A�c " Q¡$ r¡'™lœl™NÑ+Ô+Ð+ˆAÐ8Ø�IŠIØ�Q�q”T�#˜a œe™*œ*‘_ c¨1¨R¬5Ý•B�q˜”u‘I”I�r¥2 a¨¤e¡9¤9ð.ñ /ô /ð /ñ /ð �IŠI�d‰OŒOˆO‰OØˆrˆ6€Mrp   c           	      óf  ‡— g }g }d„ Šˆfd„}ˆfd„}ˆfd„}ˆfd„}d„ }	t          | ¦  «        dk    �rm|                      ¦   «         }
d}d}d}t          t          | ¦  «        ¦  «        D ]ä}|
t                   | |         t                   k    }|
t                   | |         t                    k    }|
t                   | |         t                   k    }|
t                   | |         t                    k    }|r'|r%|
t                   dk    r|
t                   dk    r|}Œµ|r|r|
t                   dk    r|}ŒÍ|r|r|
t                   dk    r|}Œå|�¶|�´|�²|                      ||
| |         d	         | |         d	         | |         d	         |¦  «        ¦  «         |                     t          t          |
d
         ¦  «        ¦  «        ¦  «         |||g}|                     d¬¦  «         |D ]}|                      |¦  «         Œ�n†|�c|                      ||
| |         d	         |¦  «        ¦  «         |                     |
t                   ¦  «         |                      |¦  «         �n!|�o|                      ||
| |         d	         |¦  «        ¦  «         |                     t          |
t                   ¦  «        ¦  «         |                      |¦  «         n°|�o|                      ||
| |         d	         |¦  «        ¦  «         |                     t          |
t                   ¦  «        ¦  «         |                      |¦  «         n?|                      |	|
|¦  «        ¦  «         |                     |
t                   ¦  «         t          | ¦  «        dk    �°mt          |Ž t          |Ž fS )a  
    Helper function for `_laplace_rule_trig`.  This function takes the list of
    exponentials `xm` from `_laplace_trig_expsum` and simplifies complex
    conjugate and real symmetric poles.  It returns the result as a sum and
    the convergence plane.
    c                 ó�  — |                       ¦   «         }t          t          |¦  «        ¦  «        D ]”}||                              ¦   «         }|d                              t
          ¦  «        r$||                              t          ¦  «        ||<   Œ`|d         t          |d         z  z                        t          ¦  «        ||<   Œ•|S rÜ   )	ÚcopyÚrangeÚlenr¯   r~   r"   r  r2   r   )ÚcoeffsÚncr,  Úris       rn   Ú_simpcz"_laplace_trig_ltex.<locals>._simpcÙ  sž   € Ø�[Š[‰]Œ]ˆÝ•s˜2‘w”w‘”ð 	7ð 	7ˆAØ�A”×#Ò#Ñ%Ô%ˆBØ�!Œu�yŠy�‰}Œ}ð 7Ø˜1œŸš¥cÑ*Ô*��1‘�à˜Aœ¥ 2 a¤5¡™×1Ò1µ#Ñ6Ô6��1‘�Øˆ	rp   c                 ó*  •‡— | d         | d         | t                    | t                   f\  }}}}||z   |z   |z   |||z   |z
  |z
  z  dt          z  |z  |z  z
  dt          z  |z  |z  z   |dz  | |z
  |z
  |z
  z  |dt          z  |z  |z  dt          z  |z  |z  z   z  z   d|dz  z  |z  z   d|dz  z  |z  z   |dz  | |z
  |z   |z   z  |dz  dt          z  |z  |z  dt          z  |z  |z  z   dt          z  |z  |z  z
  dt          z  |z  |z  z
  z  z   |d|dz  z  |z  d|dz  z  |z  z
  z  z   g}	t          j        t          j        d|dz  z  d|dz  z  z
  t          j        |dz  d|dz  z  |dz  z  z   |dz  z   g}
t          ˆfd„t           ‰|	¦  «        t          t          |	¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }t          ˆfd„t          |
t          t          |
¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }||z  S )	Nr…   r,  r§   rú   rø   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   ©r©   r‰   rŠ   r{   s      €rn   rÒ   z9_laplace_trig_ltex.<locals>._quadpole.<locals>.<listcomp>õ  ó%   ø€ ÐGÐGÐG™˜˜Aˆa��1‘‰fÐGÐGÐGrp   rù   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z9_laplace_trig_ltex.<locals>._quadpole.<locals>.<listcomp>÷  ó%   ø€ Ð?Ð?Ð?™˜˜Aˆa��1‘‰fÐ?Ð?Ð?rp   )
r!   r"   r   r   r"  rã   r   Úzipr6  r7  )Út1Úk1Úk2Úk3r{   r…   Úk0Úa_rÚa_ir9  Údcr„   rË   r;  s       `        €rn   Ú	_quadpolez%_laplace_trig_ltex.<locals>._quadpoleã  sh  øø€ Ø˜Sœ' 2 c¤7¨B­r¬F°Bµr´FÐ:‰ˆˆ2ˆs�Cà�‰G�b‰L˜2ÑØˆr�B‰w˜‰|˜bÑ Ñ! A¥a¡C¨¡G¨B¡JÑ.°µ1±°S±¸±Ñ;à�1‘�r�c˜B‘h ‘m bÑ(Ñ)Ø�1•Q‘3�s‘7˜2‘: ¥!¡ C¡¨¡
Ñ*Ñ+ñ,à�#�q‘&‘˜‘ñà  Q¡™h r™kñ*ð �1‘�r�c˜B‘h ‘m bÑ(Ñ)Ø�1‘�a�‘c˜#‘g˜b‘j 1¥Q¡3 s¡7¨2¡:Ñ-°µ!±°C±¸±
Ñ:¸Q½q¹SÀ¹WÀR¹ZÑGÑHñIà�1�S˜!‘V‘8˜B‘;  3¨¡6¡¨"¡Ñ,Ñ-ñ.ð
ˆõ ŒE•1”6˜1˜S !™V™8 a¨¨Q©¡hÑ.ÝŒF�C˜‘F˜Q˜s A™v™X c¨1¡f™_Ñ,¨s°A©vÑ5ð7ˆõ ØGÐGÐGÐG¥ V V¨B¡Z¤Zµµs¸2±w´w±´ÀÀÀ"ÀÔ1EÑ!FÔ!FÐGÑGÔGðIˆåØ?Ð?Ð?Ð?¥ R­­s°2©w¬w©¬¸¸¸"¸Ô)=Ñ!>Ô!>Ð?Ñ?Ô?ðAˆà�‰sˆ
rp   c                 ó  •‡— | d         | d         | t                    | t                   f\  }}}}||z   | |z  ||z  z
  dt          z  |z  |z  z   g}t          j        d|z  |dz  |dz  z   g}t          ˆfd„t           ‰|¦  «        t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }	t          ˆfd„t          |t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }
|	|
z  S )Nr…   r,  r§   rû   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._ccpole.<locals>.<listcomp>ÿ  r?  rp   rù   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._ccpole.<locals>.<listcomp>  rA  rp   ©	r!   r"   r   r   r"  r   rB  r6  r7  )rC  rD  r{   r…   rG  rH  rI  r9  rJ  r„   rË   r;  s     `        €rn   Ú_ccpolez#_laplace_trig_ltex.<locals>._ccpoleú  s  øø€ Ø˜Sœ' 2 c¤7¨B­r¬F°Bµr´FÐ:‰ˆˆ2ˆs�CØ�2‰g˜�r˜"‘u˜q ™t‘| a­¡c¨#¡g¨b¡jÑ0Ð1ˆÝŒe�R˜‘V˜S !™V c¨1¡f™_Ð-ˆÝØGÐGÐGÐG¥ V V¨B¡Z¤Zµµs¸2±w´w±´ÀÀÀ"ÀÔ1EÑ!FÔ!FÐGÑGÔGðIˆåØ?Ð?Ð?Ð?¥ R­­s°2©w¬w©¬¸¸¸"¸Ô)=Ñ!>Ô!>Ð?Ñ?Ô?ðAˆà�‰sˆ
rp   c                 ó  •‡— | d         | d         | t                    | t                   f\  }}}}||z   ||z  ||z  z
  dt          z  |z  |z  z
  g}t          j        dt          z  |z  |dz   |dz  z
  g}t          ˆfd„t           ‰|¦  «        t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }	t          ˆfd„t          |t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }
|	|
z  S )Nr…   r,  r§   rû   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._rspole.<locals>.<listcomp>	  r?  rp   rù   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._rspole.<locals>.<listcomp>  rA  rp   rO  )rC  rE  r{   r…   rG  rH  rI  r9  rJ  r„   rË   r;  s     `        €rn   Ú_rspolez#_laplace_trig_ltex.<locals>._rspole  s  øø€ Ø˜Sœ' 2 c¤7¨B­r¬F°Bµr´FÐ:‰ˆˆ2ˆs�CØ�2‰g�q˜‘t˜a ™d‘{ Q¥q¡S¨¡W¨R¡ZÑ/Ð0ˆÝŒe�R�‘T˜#‘X  Q¡˜w¨¨a©Ñ/Ð0ˆÝØGÐGÐGÐG¥ V V¨B¡Z¤Zµµs¸2±w´w±´ÀÀÀ"ÀÔ1EÑ!FÔ!FÐGÑGÔGðIˆåØ?Ð?Ð?Ð?¥ R­­s°2©w¬w©¬¸¸¸"¸Ô)=Ñ!>Ô!>Ð?Ñ?Ô?ðAˆà�‰sˆ
rp   c                 ó®  •‡— | d         | d         }}||z   |||z
  z  g}t           j        t           j        |dz   g}t          ˆfd„t	           ‰	|¦  «        t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }t          ˆfd„t	          |t          t          |¦  «        ¦  «        d d d…         ¦  «        D ¦   «         Ž }||z  S )Nr…   r,  r§   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._sypole.<locals>.<listcomp>  r?  rp   rù   c                 ó&   •— g | ]\  }}|‰|z  z  ‘ŒS rq   rq   r>  s      €rn   rÒ   z7_laplace_trig_ltex.<locals>._sypole.<locals>.<listcomp>  rA  rp   )r   r"  rã   r   rB  r6  r7  )
rC  rF  r{   r…   rG  r9  rJ  r„   rË   r;  s
     `      €rn   Ú_sypolez#_laplace_trig_ltex.<locals>._sypole  sØ   øø€ Ø�3”˜˜Cœˆ2ˆØ�2‰g�q˜"˜r™'‘{Ð#ˆÝŒe•Q”V˜a ™d˜UÐ#ˆÝØGÐGÐGÐG¥ V V¨B¡Z¤Zµµs¸2±w´w±´ÀÀÀ"ÀÔ1EÑ!FÔ!FÐGÑGÔGðIˆåØ?Ð?Ð?Ð?¥ R­­s°2©w¬w©¬¸¸¸"¸Ô)=Ñ!>Ô!>Ð?Ñ?Ô?ðAˆà�‰sˆ
rp   c                 ó:   — | d         | d         }}|}||z
  }||z  S )Nr…   r,  rq   )rC  r{   r…   rG  r„   rË   s         rn   Ú_simplepolez'_laplace_trig_ltex.<locals>._simplepole  s*   € Ø�3”˜˜Cœˆ2ˆØˆØ�‰EˆØ�‰sˆ
rp   r   Nr,  r…   T)Úreverse)
r7  Úpopr6  r!   r"   r$  r$   ræ   r   r-   )r/  rÏ   r{   ÚresultsÚplanesrK  rP  rT  rX  rZ  rC  Ú	i_imagsymÚ	i_realsymÚ
i_pointsymÚiÚreal_eqÚrealsymÚimag_eqÚimagsymÚindices_to_popr;  s                       @rn   Ú_laplace_trig_ltexrh  Î  sí  ø€ ð €GØ€Fðð ð ðð ð ð ð ð.ð ð ð ð ðð ð ð ð ðð ð ð ð ðð ð õ ˆb‰'Œ'�AŠ+‰+Ø�VŠV‰XŒXˆØˆ	Øˆ	Øˆ
õ
 •s˜2‘w”w‘”ð 
	ð 
	ˆAØ�”f  1¤¥b¤	Ò)ˆGØ�”f  A¤¥r¤ 
Ò*ˆGØ�”f  1¤¥b¤	Ò)ˆGØ�”f  A¤¥r¤ 
Ò*ˆGØð ˜7ð  r­"¤v°¢{ {°r½"´vÀ²{°{Ø�
�
Øð ˜Wð ¨­B¬°1ª¨Ø�	�	Øð ˜Wð ¨­B¬°1ª¨Ø�	øð Ð%¨)Ð*?ØÐ*Ø�NŠNØ�	˜"Ø˜Yœ-¨Ô,¨b°¬m¸CÔ.@Ø˜Zœ.¨Ô-¨qñ2ô 2ñ3ô 3ð 3ð �MŠM�#�b  C¤™kœkÑ*Ô*Ñ+Ô+Ð+ð (¨°JÐ?ˆNØ×Ò¨ÐÑ-Ô-Ð-Ø#ð ð �Ø—’�q‘	”	�	�	ñàÐ"Ø�NŠN˜7˜7 2 r¨)¤}°SÔ'9¸1Ñ=Ô=Ñ>Ô>Ð>Ø�MŠM˜"�Rœ&Ñ!Ô!Ð!Ø�FŠF�9ÑÔÐÑØÐ"Ø�NŠN˜7˜7 2 r¨)¤}°SÔ'9¸1Ñ=Ô=Ñ>Ô>Ð>Ø�MŠM�#˜b¥œf™+œ+Ñ&Ô&Ð&Ø�FŠF�9ÑÔÐÐØÐ#Ø�NŠN˜7˜7 2 r¨*¤~°cÔ':¸AÑ>Ô>Ñ?Ô?Ð?Ø�MŠM�#˜b¥œf™+œ+Ñ&Ô&Ð&Ø�FŠF�:ÑÔÐÐà�NŠN˜;˜; r¨1Ñ-Ô-Ñ.Ô.Ð.Ø�MŠM˜"�Rœ&Ñ!Ô!Ð!õq ˆb‰'Œ'�AŠ+‰+õt �ˆ=�#˜v˜,Ð&Ð&rp   c           
      óì  — t          dd¬¦  «        }|                      t          t          t          t
          ¦  «        sdS t          |                      ||¦  «        ¦  «        \  }}t          ||¦  «        \  }}t          |¦  «        dk    rdS |                     |¦  «        s&t          |||¦  «        \  }}	||z  |	t          j        fS g }
g }t          |||d¬¦  «        \  }}}|D ]h}|                     |d         |                     |||d	         z
  ¦  «        z  ¦  «         |
                     |t          |d	         ¦  «        z   ¦  «         Œit!          |Ž                      ||¦  «        t#          |
Ž |fS )
zµ
    This rule covers trigonometric factors by splitting everything into a
    sum of exponential functions and collecting complex conjugate poles and
    real symmetric poles.
    rÏ   T©ÚrealNr   Fr  r,  r…   )r   r~   r3   r2   r+   r)   r(  rº   r2  r7  rh  r   r€   r  r$  r!   r   r-   )r  Út_r{   rÏ   rç   r  r/  r0  r‹   rÀ   r^  r]  ÚGÚG_planeÚG_condr1  s                   rn   Ú_laplace_rule_trigrp  [  sd  € õ 	ˆc˜ÐÑÔ€Aà�6Š6•#•s�D¥$Ñ'Ô'ð Øˆtå˜rŸwšw r¨1™~œ~Ñ.Ô.�D€A€qÝ! ! QÑ'Ô'�F€Bˆå
ˆ2�w„w�‚{€{àˆtà�5Š5�‰8Œ8ð 
/Ý! " a¨Ñ+Ô+‰ˆˆ1Ø�‰s�A•q”vˆ~Ðð ˆØˆÝ/°°1°aÀ%ÐHÑHÔHÑˆˆ7�FØð 	/ð 	/ˆBØ�NŠN˜2˜cœ7 1§6¢6¨!¨Q¨r°#¬w©YÑ#7Ô#7Ñ7Ñ8Ô8Ð8Ø�MŠM˜'¥" R¨¤W¡+¤+Ñ-Ñ.Ô.Ð.Ð.Ý�ˆ=×Ò˜a Ñ$Ô$¥c¨6 l°FÐ:Ð:rp   c                 óø  ‡— t          d‰g¬¦  «        }t          d‰g¬¦  «        }t          d¦  «        }|                      |t          |‰|f¦  «        z  ¦  «        }|�r||         j        �rˆfd„||         j        D ¦   «         }t          |¦  «        dk    ràt          d¦  «         g }t          ||         ¦  «        D ]x}	|	dk    r||          	                    ‰d¦  «        }
n,t          ||         ‰|	f¦  «         	                    ‰d¦  «        }
| 
                    |||         |	z
  dz
  z  |
z  ¦  «         Œyt          ||         ‰|d	¬
¦  «        \  }}}||         |||         z  |z  t          |Ž z
  z  ||fS dS )a  
    This function looks for derivatives in the time domain and replaces it
    by factors of `s` and initial conditions in the frequency domain. For
    example, if it gets ``(diff(f(t), t), t, s)``, it will compute
    ``s*LaplaceTransform(f(t), t, s) - f(0)``.
    r…   ró   r„   r  c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rq   ©r~   )r©   r  rÏ   s     €rn   rÒ   z&_laplace_rule_diff.<locals>.<listcomp>Š  s#   ø€ Ð+Ð+Ð+˜!ˆQ�UŠU�1‰XŒXÐ+Ð+Ð+rp   ra   z"     rule: time derivative (4.1.8)r   Fr  N)r    r   r¸   r
   Ú
is_integerrj   Úsumru   r6  rº   r$  r  r   )rç   rÏ   r{   r…   r„   r  r  r«   rË   r,  rŠ   r‹   r	  r
  s    `            rn   Ú_laplace_rule_diffrv  |  s’  ø€ õ 	ˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝ�SÑÔ€AØ
�'Š'�!•J˜q 1 a &Ñ)Ô)Ñ)Ñ
*Ô
*€CØ
ñ =ˆs�1ŒvÔ ñ =Ø+Ð+Ð+Ð+˜s 1œvœ{Ð+Ñ+Ô+ˆÝˆq‰6Œ6�QŠ;ˆ;ÝÐ7Ñ8Ô8Ð8ØˆAÝ˜3˜qœ6‘]”]ð ,ð ,�Ø˜’6�6Ø˜AœŸš A qÑ)Ô)�A�Aå" 3 q¤6¨A¨q¨6Ñ2Ô2×7Ò7¸¸1Ñ=Ô=�AØ—’˜˜S œV A™X a™Z™¨Ñ*Ñ+Ô+Ð+Ð+Ý*¨3¨q¬6°1°aÀ%ÐHÑHÔH‰IˆAˆr�2Ø˜”F˜A˜s 1œv™I a™K­#¨q¨'Ñ1Ñ2°R¸Ð<Ð<Øˆ4rp   c           
      ó2  ‡‡‡— | j         �rïdg}dg}t          j        | ¦  «        D ]B}|                     |¦  «        r|                     |¦  «         Œ-|                     |¦  «         ŒCt          |¦  «        dk    �r~t          |¦  «        }t          ||¦  «                             ¦   «         Št          ‰¦  «        Š‰dk    �r7t          |¦  «        }t          |||d¬¦  «        \  }}	}
|gŠd}	 t          ‰d         |¦  «         }n# t          $ r d}Y nw xY w|                     t          ¦  «        rFt          ‰dz
  ¦  «        D ]2}‰                     d|dz   z  t          |||dz   ¦  «        z  ¦  «         Œ3nV|rT‰                     |¦  «         t          ‰dz
  ¦  «        D ],}‰                     t          ‰d         |¦  «         ¦  «         Œ-|r)t!          ˆˆˆfd„t          ‰¦  «        D ¦   «         Ž }||	|
fS t#          d|g¬¦  «        }t#          d	¦  «        }|                      ||z  |z  ¦  «        x}r^||         j        rQ||         j        rDt          ||         ||d¬¦  «        \  }}	}
d||         z  t          ||||         f¦  «        z  |	|
fS d
S )a  
    This function looks for multiplications with polynoimials in `t` as they
    correspond to differentiation in the frequency domain. For example, if it
    gets ``(t*f(t), t, s)``, it will compute
    ``-Derivative(LaplaceTransform(f(t), t, s), s)``.
    ra   Fr  rù   r§   c                 ó>   •— g | ]}‰‰|z
  d z
           ‰|         z  ‘ŒS r×   rq   )r©   r„   ÚNÚderiÚpcs     €€€rn   rÒ   z'_laplace_rule_sdiff.<locals>.<listcomp>¿  s.   ø€ ÐBÐBÐB°A˜b  1¡ Q¡œi¨¨Q¬Ñ/ÐBÐBÐBrp   r„   ró   r  N)Úis_Mulr   r#  r  r$  r7  r   rR   Ú
all_coeffsr  r   Ú
ValueErrorr~   ÚLaplaceTransformr6  r
   r   r    r¸   rt  rˆ   )rç   rÏ   r{   ÚpfacÚofacÚfacÚpexÚoexÚr_Úp_Úc_Úd1r,  r‹   r„   r  r  ry  rz  r{  s                    @@@rn   Ú_laplace_rule_sdiffr‰  ™  sÞ  øøø€ ð 	„xñ 'ØˆsˆØˆsˆÝ”= Ñ#Ô#ð 	!ð 	!ˆCØ× Ò  Ñ#Ô#ð !Ø—’˜CÑ Ô Ð Ð à—’˜CÑ Ô Ð Ð Ýˆt‰9Œ9�qŠ=‰=Ý�t‘*”*ˆCÝ�c˜1‘”×(Ò(Ñ*Ô*ˆBÝ�B‘”ˆAØ�1Šu‰uÝ˜4‘j”j�Ý/°°Q¸ÀEÐJÑJÔJ‘
��B˜Ø�t�Ø�ðÝ˜t Bœx¨Ñ+Ô+Ð+�B�BøÝ!ð ð ð Ø�B�B�Bðøøøà—6’6Õ*Ñ+Ô+ð 8Ý" 1 Q¡3™ZœZð Hð H˜ØŸš R¨1¨Q©3¡Kµ
¸2¸qÀ!ÀAÁ#Ñ0FÔ0FÑ$FÑGÔGÐGÐGðHàð 8Ø—K’K ‘O”O�OÝ" 1 Q¡3™ZœZð 8ð 8˜ØŸš¥T¨$¨r¬(°AÑ%6Ô%6Ð$6Ñ7Ô7Ð7Ð7Øð 'ÝÐBÐBÐBÐBÐBÐB½¸q¹¼ÐBÑBÔBÐC�AØ˜r 2˜;Ð&õ 	ˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€AØ�gŠg�a˜‘d˜1‘f‰oŒoÐ€sð >ØˆqŒ6Ôð 	>  Q¤Ô!3ð 	>Ý+¨C°¬F°A°qÀ5ÐIÑIÔI‰JˆB��BØ˜˜Qœ‘<¥ R¨!¨S°¬V¨Ñ 5Ô 5Ñ5°r¸2Ð=Ð=Øˆ4s   Ã0D ÄDÄDc                 óž  — t          | d¬¦  «        }|j        rt          |||d¬¦  «        S t          | ¦  «        }|j        rt          |||d¬¦  «        S t          | ¦  «        }|j        rt          |||d¬¦  «        S || k    rt          |||d¬¦  «        S t          t	          | ¦  «        ¦  «        }|j        rt          |||d¬¦  «        S dS )a†  
    This function tries to expand its argument with successively stronger
    methods: first it will expand on the top level, then it will expand any
    multiplications in depth, then it will try all available expansion methods,
    and finally it will try to expand trigonometric functions.

    If it can expand, it will then compute the Laplace transform of the
    expanded term.
    F©Údeepr  N)r   Úis_Addr  r   r   )rç   rÏ   r{   r‹   s       rn   Ú_laplace_expandrŽ  Ì  sè   € õ 	ˆq�uÐÑÔ€AØ„xð ;Ý! ! Q¨°EÐ:Ñ:Ô:Ð:Ý�1‰Œ€AØ„xð ;Ý! ! Q¨°EÐ:Ñ:Ô:Ð:Ýˆq‰	Œ	€AØ„xð ;Ý! ! Q¨°EÐ:Ñ:Ô:Ð:ØˆA‚v€vÝ! ! Q¨°EÐ:Ñ:Ô:Ð:Ý�{˜1‰~Œ~ÑÔ€AØ„xð ;Ý! ! Q¨°EÐ:Ñ:Ô:Ð:Øˆ4rp   c                 óŽ   — t           t          t          t          t          t
          t          g}|D ]} || ||¦  «        x}�|c S ŒdS )zk
    This function applies all program rules and returns the result if one
    of them gives a result.
    N)r  r   r  r  rp  rv  r‰  )rç   rÏ   r{   Ú
prog_rulesÚp_ruleÚLs         rn   Ú_laplace_apply_prog_rulesr“  é  s[   € õ *Õ+>Ý)Õ+<Ý$Ý$Õ&9ð;€Jð
 ð ð ˆØ�˜˜1˜a‘”Ð ˆAÐ-ØˆHˆHˆHð .àˆ4rp   c                 óÌ  — t          ¦   «         \  }}}d}d}|D ]Ê\  }}	}
}}||k    r" ||                      ||i¦  «        ¦  «        }|}|                     |¦  «        }|rƒ	 |
                     |¦  «        }n# t          $ r Y Œjw xY w|t
          j        k    rL|	                     |¦  «                             ||i¦  «        |                     |¦  «        t
          j        fc S ŒËdS )zj
    This function applies all simple rules and returns the result if one
    of them gives a result.
    Ú N)r   rº   r¸   Úxreplacer�   r   r€   )rç   rÏ   r{   Úsimple_rulesrl  rá   Úprep_oldÚprep_fÚt_domÚs_domÚcheckÚplaneÚprepÚmarÈ   s                  rn   Ú_laplace_apply_simple_rulesr   û  s  € õ 0Ñ1Ô1Ñ€L�"�bØ€HØ€FØ,8ð 4ð 4Ñ(ˆˆu�e˜U DØ�tÒÐØ�T˜!Ÿ&š& ! R ™/œ/Ñ*Ô*ˆFØˆHØ�\Š\˜%Ñ Ô ˆØð 		4ðØ—N’N 2Ñ&Ô&��øÝð ð ð ð �ðøøøð •A”FŠ{ˆ{ØŸš rÑ*Ô*×/Ò/°°Q°Ñ8Ô8ØŸš rÑ*Ô*­A¬Fð4ð 4ð 4ð 4øàˆ4s   Á!A7Á7
BÂBc                 ó2  — |j         sKt          dd¬¦  «        }t          |                      ||i¦  «        |¦  «                             ||i¦  «        S t	          | ¦  «        }g }|j        D �]£\  }}t          |t          ¦  «        r\||j        v rSt          |t          t          f¦  «        r| c S | 
                    t          |j        |j        z
  ¦  «        |z  ¦  «         Œwt          |t          ¦  «        rft          |j        ¦  «        dk    rN|j        D ]E}|j        |k    r3| 
                    t          |j        |j        z
  ¦  «        |z  ¦  «         Œ@| c c S Œòt          |t"          ¦  «        ršt          |j        ¦  «        dk    r‚|j        \  }}|j        |k    ri|j        |k    r^d|j        v r||}}| 
                    t          |j        |j        z
  ¦  «        t          |j        |j        z
  ¦  «        z
  |z  ¦  «         �Œ�| c S | c S t'          |Ž S )z¬
    This function converts a Piecewise expression to an expression written
    with Heaviside. It is not exact, but valid in the context of the Laplace
    transform.
    r‹   Trj  r§   ú>)Úis_realr   Ú_piecewise_to_heavisider–  r1   rj   r   r   r   r   r$  r;   Úgtsr¼   rL   r7  ÚlhsrM   r»   r   )	rç   rÏ   r‹   r‰   r  rê   Úc2r+  r*  s	            rn   r¤  r¤    s'  € ð Œ9ð OÝ�#˜DÐ!Ñ!Ô!ˆÝ& q§z¢z°1°a°&Ñ'9Ô'9¸1Ñ=Ô=×FÒFÈÈ1ÀvÑNÔNÐNÝ˜AÑÔ€AØ
€AØ”Fð  ñ  ‰ˆˆDõ �d�JÑ'Ô'ð 	¨A°´¨N¨NÝ˜$¥¥R Ñ)Ô)ð <ð
 ���à—’� 4¤8¨d¬hÑ#6Ñ7Ô7¸Ñ:Ñ;Ô;Ð;Ð;Ý˜�bÑ!Ô!ð 	¥c¨$¬)¡n¤n¸Ò&9Ð&9à”ið ð �Ø”6˜Q’;�;Ø—H’H�Y r¤v°´¡Ñ7Ô7¸Ñ:Ñ;Ô;Ð;Ð;à�H�H�H�H�Hð	õ
 ˜�cÑ"Ô"ð 	¥s¨4¬9¡~¤~¸Ò':Ð':à”Y‰FˆB�ØŒv˜Š{ˆ{˜rœv¨š{˜{Ø˜"œ)Ð#Ð#Ø ˜�BØ—’Ý˜rœv¨¬™Ñ/Ô/Ý˜rœv¨¬™Ñ/Ô/ñ0Ø13ñ4ñ5ô 5ð 5ñ 5ð ���àˆHˆHˆHÝ�ˆ7€Nrp   c          	      óØ  ‡— t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          | t          ¦  «        r4|                      t          ¦  «        s|                      t
          ¦  «        s| S ‰                     ¦   «         D ]¯\  }}|                      t	           ||¦  «        ||¦  «        ¦  «        x}�%||         ||         k    r |||         ¦  «        c S |                      t           ||¦  «        |||¦  «        ¦  «        x}	 �%||         ||         k    r |||         ¦  «        c S Œ°| j        }	ˆfd„| j	        D ¦   «         }
 |	|
Ž S )a  
    This helper function takes a function `f` that is the result of a
    ``laplace_transform`` or an ``inverse_laplace_transform``.  It replaces all
    unevaluated ``LaplaceTransform(y(t), t, s)`` by `Y(s)` for any `s` and
    all ``InverseLaplaceTransform(Y(s), s, t)`` by `y(t)` for any `t` if
    ``fdict`` contains a correspondence ``{y: Y}``.

    Parameters
    ==========

    f : sympy expression
        Expression containing unevaluated ``LaplaceTransform`` or
        ``LaplaceTransform`` objects.
    fdict : dictionary
        Dictionary containing one or more function correspondences,
        e.g., ``{x: X, y: Y}`` meaning that ``X`` and ``Y`` are the
        Laplace transforms of ``x`` and ``y``, respectively.

    Examples
    ========

    >>> from sympy import laplace_transform, diff, Function
    >>> from sympy import laplace_correspondence, inverse_laplace_transform
    >>> from sympy.abc import t, s
    >>> y = Function("y")
    >>> Y = Function("Y")
    >>> z = Function("z")
    >>> Z = Function("Z")
    >>> f = laplace_transform(diff(y(t), t, 1) + z(t), t, s, noconds=True)
    >>> laplace_correspondence(f, {y: Y, z: Z})
    s*Y(s) + Z(s) - y(0)
    >>> f = inverse_laplace_transform(Y(s), s, t)
    >>> laplace_correspondence(f, {y: Y})
    y(t)
    rÀ   r{   rÏ   r…   Nc                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS rq   )Úlaplace_correspondence)r©   r#   Úfdicts     €rn   rÒ   z*laplace_correspondence.<locals>.<listcomp>~  s$   ø€ ÐAÐAÐA°3Õ" 3¨Ñ.Ô.ÐAÐAÐArp   )
r    r   r   r~   r  ÚInverseLaplaceTransformÚitemsr¸   rm   rj   )rç   r«  rÀ   r{   rÏ   r…   rŠ   ÚYr«   rm   rj   s    `         rn   rª  rª  F  sl  ø€ õH 	ˆS‰	Œ	€AÝˆS‰	Œ	€AÝˆS‰	Œ	€AÝˆS‰	Œ	€Aå˜1�dÑ#Ô#ðà—E’EÕ*Ñ+Ô+ðð ŸšÕ5Ñ6Ô6ðð ˆØ—’‘”ð 	ð 	‰ˆˆ1à—g’gÕ.¨q¨q°©t¬t°Q¸Ñ:Ô:Ñ;Ô;Ð;�ÐHØ�a”D˜A˜aœD’L�LØ�1�Q�q”T‘7”7ˆNˆNˆNà—g’gÕ5°a°a¸±d´d¸A¸qÀ!ÑDÔDÑEÔEÐE�Øðà�a”D˜A˜aœD’L�LØ�1�Q�q”T‘7”7ˆNˆNˆNøØŒ6€DØAÐAÐAÐA¸!¼&ÐAÑAÔA€DØˆ4�ˆ;Ðrp   c                óê  — |                      ¦   «         D ]Ý\  }}t          t          |¦  «        ¦  «        D ]»}|dk    r&|                       |d¦  «        |d         ¦  «        } Œ.|dk    rC|                      t	          t           ||¦  «        |¦  «        |d¦  «        |d         ¦  «        } Œw|                      t	          t           ||¦  «        ||f¦  «        |d¦  «        ||         ¦  «        } Œ¼ŒÞ| S )a  
    This helper function takes a function `f` that is the result of a
    ``laplace_transform``.  It takes an fdict of the form ``{y: [1, 4, 2]}``,
    where the values in the list are the initial value, the initial slope, the
    initial second derivative, etc., of the function `y(t)`, and replaces all
    unevaluated initial conditions.

    Parameters
    ==========

    f : sympy expression
        Expression containing initial conditions of unevaluated functions.
    t : sympy expression
        Variable for which the initial conditions are to be applied.
    fdict : dictionary
        Dictionary containing a list of initial conditions for every
        function, e.g., ``{y: [0, 1, 2], x: [3, 4, 5]}``. The order
        of derivatives is ascending, so `0`, `1`, `2` are `y(0)`, `y'(0)`,
        and `y''(0)`, respectively.

    Examples
    ========

    >>> from sympy import laplace_transform, diff, Function
    >>> from sympy import laplace_correspondence, laplace_initial_conds
    >>> from sympy.abc import t, s
    >>> y = Function("y")
    >>> Y = Function("Y")
    >>> f = laplace_transform(diff(y(t), t, 3), t, s, noconds=True)
    >>> g = laplace_correspondence(f, {y: Y})
    >>> laplace_initial_conds(g, t, {y: [2, 4, 8, 16, 32]})
    s**3*Y(s) - 2*s**2 - 4*s - 8
    r   ra   )r­  r6  r7  r“   r   r
   )rç   rÏ   r«  rŠ   Úicr,  s         rn   Úlaplace_initial_condsr±  ‚  sñ   € ðD —’‘”ð Kð K‰ˆˆ2Ý•s˜2‘w”w‘”ð 	Kð 	KˆAØ�AŠvˆvØ—I’I˜a˜a ™dœd B q¤EÑ*Ô*��Ø�a’�Ø—I’I�d¥:¨a¨a°©d¬d°AÑ#6Ô#6¸¸1Ñ=Ô=¸rÀ!¼uÑEÔE��à—I’I�d¥:¨a¨a°©d¬d°Q¸°FÑ#;Ô#;¸QÀÑBÔBÀBÀqÄEÑJÔJ��ð	Kð €Hrp   c                ó¦  ‡— t          j        | ¦  «        }g }g }g }g }|D �]C}	|	                     ‰d¬¦  «        \  }
}|                     t          ¦  «        rft          j        |                     t          ¦  «        ¦  «        }|D ]6}|                     ‰d¬¦  «        \  }}|                     |
|z  |f¦  «         Œ7Œ�|j        t          k    r|                     t          ‰¦  «        ¦  «        s]t          j        t          |‰¦  «        ¦  «        }|D ]6}|                     ‰d¬¦  «        \  }}|                     |
|z  |f¦  «         Œ7�Œ,|                     |
|f¦  «         �ŒE|D �]²\  }
}|                     t          ¦  «        r t          |‰|¦  «        t          j        df}�n*|                     t          ‰¦  «        ¦  «        rE|                     t          ‰¦  «        ¦  «        s#|                     t          ‰¦  «        d¦  «        }t!          |‰|¦  «        x}	 €'t#          |‰|¦  «        x}	 €t%          |‰|¦  «        x}�n‡t'          ˆfd„|                     t*          ¦  «        D ¦   «         ¦  «        rt          |‰|¦  «        t          j        df}n5t-          |‰||¬¦  «        x}	 �nt          |‰|¦  «        t          j        df}|\  }}}|                     |
|z  ¦  «         |                     |¦  «         |                     |¦  «         �Œ´t          |Ž }|r|                     d¬¦  «        }t1          |Ž }t3          |Ž }|||fS )	zž
    Front-end function of the Laplace transform. It tries to apply all known
    rules recursively, and if everything else fails, it tries to integrate.
    F©Úas_AddTra   Nc              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S r—   rs  )r©   Úundefrl  s     €rn   r¬   z%_laplace_transform.<locals>.<genexpr>Û  s-   øè è € ÐGÐG u�U—Y’Y˜r‘]”]ÐGÐGÐGÐGÐGÐGrp   r  ©Údoit)r   r#  Úas_independentr~   rC   r  r;   r$  rm   r0   r:   r¤  r  r   r±   rº   r   r“  rŽ  Úanyr�   r	   rb   rè   r-   rM   )r  rl  rá   rè   Úterms_tÚterms_sÚtermsr^  Ú
conditionsÚffr,  ÚftÚ_termsÚ_termrD  Úf1r‹   Úri_Úpi_Úci_rl   r�  Ú	conditions    `                     rn   r  r  ¯  s†  ø€ õ Œm˜BÑÔ€GØ€GØ€EØ€FØ€Jàð "ñ "ˆØ×!Ò! "¨UÐ!Ñ3Ô3‰ˆˆ2Ø�6Š6Õ%Ñ&Ô&ð 	"Ý”] 2§:¢:­iÑ#8Ô#8Ñ9Ô9ˆFØð )ð )�Ø×-Ò-¨b¸Ð-Ñ?Ô?‘��BØ—’˜a ™d B˜ZÑ(Ô(Ð(Ð(ð)ð ŒW�	Ò!Ð!¨"¯&ª&µ¸B±´Ñ*@Ô*@Ð!Ý”]Õ#:¸2¸rÑ#BÔ#BÑCÔCˆFØð )ð )�Ø×-Ò-¨b¸Ð-Ñ?Ô?‘��BØ—’˜a ™d B˜ZÑ(Ô(Ð(Ð(ñ)ð �LŠL˜!˜R˜Ñ!Ô!Ð!Ñ!àð ñ ‰ˆˆ2Ø�6Š6Õ%Ñ&Ô&ð 	MÝ! " b¨"Ñ-Ô-­qÔ/AÀ4ÐHˆA‰Aà�vŠv•i ‘m”mÑ$Ô$ð /¨R¯VªVµJ¸r±N´NÑ-CÔ-Cð /ð —W’W�Y r™]œ]¨AÑ.Ô.�å5°b¸"¸bÑAÔAÐA�QØð å3°B¸¸BÑ?Ô?Ð?�QØð å)¨"¨b°"Ñ5Ô5Ð5�QÐBØÝÐGÐGÐGÐG°·²½Ñ0FÔ0FÐGÑGÔGÑGÔGð 	Mõ & b¨"¨bÑ1Ô1µ1Ô3EÀtÐL��Ý5Ø˜˜B¨ð3ñ 3ô 3ð 3�!Ø;?ð@àå% b¨"¨bÑ1Ô1µ1Ô3EÀtÐL�Ø‰ˆˆc�3Ø�Š�q˜‘uÑÔÐØ�Š�cÑÔÐØ×Ò˜#ÑÔÐÑå�'ˆ]€FØð -Ø—’ e�Ñ,Ô,ˆÝ�ˆL€EÝ�ZÐ €Ià�5˜)Ð#Ð#rp   c                   ó(   — e Zd ZdZdZd„ Zd„ Zd„ ZdS )r  aÐ  
    Class representing unevaluated Laplace transforms.

    For usage of this class, see the :class:`IntegralTransform` docstring.

    For how to compute Laplace transforms, see the :func:`laplace_transform`
    docstring.

    If this is called with ``.doit()``, it returns the Laplace transform as an
    expression. If it is called with ``.doit(noconds=False)``, it returns a
    tuple containing the same expression, a convergence plane, and conditions.
    ÚLaplacec                 óX   — |                      dd¦  «        }t          ||||¬¦  «        }|S )Nrè   Fr  )Úgetrb   )Úselfrç   rÏ   r{   ÚhintsrF   ÚLTs          rn   Ú_compute_transformz#LaplaceTransform._compute_transform  s0   € Ø—I’I˜j¨%Ñ0Ô0ˆ	Ý+¨A¨q°!¸iÐHÑHÔHˆØˆ	rp   c                 óx   — t          |t          | |z  ¦  «        z  |t          j        t          j        f¦  «        S r—   )rE   r'   r   rã   r²   )rÌ  rç   rÏ   r{   s       rn   Ú_as_integralzLaplaceTransform._as_integral  s-   € Ý˜�#˜q˜b ™d™)œ)™ a­¬µ´Ð%<Ñ=Ô=Ð=rp   c                 ó  — |                      dd¦  «        }|                      dd¦  «        }t          d| j        | j        | j        f¦  «         | j        }| j        }| j        }t          ||||¬¦  «        }|r|d         S |S )áj  
        Try to evaluate the transform in closed form.

        Explanation
        ===========

        Standard hints are the following:
        - ``noconds``:  if True, do not return convergence conditions. The
        default setting is `True`.
        - ``simplify``: if True, it simplifies the final result. The
        default setting is `False`.
        ÚnocondsTrè   Fz[LT doit] (%s, %s, %s)r  r   )rË  rX   ÚfunctionÚfunction_variableÚtransform_variabler  )rÌ  rÍ  Ú_nocondsrF   rl  rá   r  r‹   s           rn   r¸  zLaplaceTransform.doit  s�   € ð —9’9˜Y¨Ñ-Ô-ˆØ—I’I˜j¨%Ñ0Ô0ˆ	åÐ'¨$¬-Ø*.Ô*@Ø*.Ô*Að*Cñ 	Dô 	Dð 	Dð Ô#ˆØÔ$ˆØŒ]ˆå˜r 2 r°IÐ>Ñ>Ô>ˆàð 	Ø�Q”4ˆKàˆHrp   N)ri   Ú
__module__Ú__qualname__Ú__doc__Ú_namerÏ  rÑ  r¸  rq   rp   rn   r  r  ó  sR   € € € € € ðð ð €Eðð ð ð
>ð >ð >ðð ð ð ð rp   r  Tc                 óÐ  ‡‡‡— ‰                      dd¦  «        }‰                      dd¦  «        }t          | t          ¦  «        rðt          | d¦  «        rà‰                      dd¦  «         }|r]|r[d}t	          dd|¬¦  «         t          t          ¦  «        5  |                      ˆˆˆfd	„¦  «        cd
d
d
¦  «         S # 1 swxY w Y   njˆˆˆfd„| D ¦   «         }	|r<t          |	Ž \  }
}} t          | ¦  «        g | j
        ¢|
‘R Ž }|t          |Ž t          |Ž fS  t          | ¦  «        g | j
        ¢|	‘R Ž S t          | ‰‰¦  «                             d|¬¦  «        \  }}}|s|||fS |S )aá  
    Compute the Laplace Transform `F(s)` of `f(t)`,

    .. math :: F(s) = \int_{0^{-}}^\infty e^{-st} f(t) \mathrm{d}t.

    Explanation
    ===========

    For all sensible functions, this converges absolutely in a
    half-plane

    .. math :: a < \operatorname{Re}(s)

    This function returns ``(F, a, cond)`` where ``F`` is the Laplace
    transform of ``f``, `a` is the half-plane of convergence, and `cond` are
    auxiliary convergence conditions.

    The implementation is rule-based, and if you are interested in which
    rules are applied, and whether integration is attempted, you can switch
    debug information on by setting ``sympy.SYMPY_DEBUG=True``. The numbers
    of the rules in the debug information (and the code) refer to Bateman's
    Tables of Integral Transforms [1].

    The lower bound is `0-`, meaning that this bound should be approached
    from the lower side. This is only necessary if distributions are involved.
    At present, it is only done if `f(t)` contains ``DiracDelta``, in which
    case the Laplace transform is computed implicitly as

    .. math ::
        F(s) = \lim_{\tau\to 0^{-}} \int_{\tau}^\infty e^{-st}
        f(t) \mathrm{d}t

    by applying rules.

    If the Laplace transform cannot be fully computed in closed form, this
    function returns expressions containing unevaluated
    :class:`LaplaceTransform` objects.

    For a description of possible hints, refer to the docstring of
    :func:`sympy.integrals.transforms.IntegralTransform.doit`. If
    ``noconds=True``, only `F` will be returned (i.e. not ``cond``, and also
    not the plane ``a``).

    .. deprecated:: 1.9
        Legacy behavior for matrices where ``laplace_transform`` with
        ``noconds=False`` (the default) returns a Matrix whose elements are
        tuples. The behavior of ``laplace_transform`` for matrices will change
        in a future release of SymPy to return a tuple of the transformed
        Matrix and the convergence conditions for the matrix as a whole. Use
        ``legacy_matrix=False`` to enable the new behavior.

    Examples
    ========

    >>> from sympy import DiracDelta, exp, laplace_transform
    >>> from sympy.abc import t, s, a
    >>> laplace_transform(t**4, t, s)
    (24/s**5, 0, True)
    >>> laplace_transform(t**a, t, s)
    (gamma(a + 1)/(s*s**a), 0, re(a) > -1)
    >>> laplace_transform(DiracDelta(t)-a*exp(-a*t), t, s, simplify=True)
    (s/(a + s), -re(a), True)

    There are also helper functions that make it easy to solve differential
    equations by Laplace transform. For example, to solve

    .. math :: m x''(t) + d x'(t) + k x(t) = 0

    with initial value `0` and initial derivative `v`:

    >>> from sympy import Function, laplace_correspondence, diff, solve
    >>> from sympy import laplace_initial_conds, inverse_laplace_transform
    >>> from sympy.abc import d, k, m, v
    >>> x = Function('x')
    >>> X = Function('X')
    >>> f = m*diff(x(t), t, 2) + d*diff(x(t), t) + k*x(t)
    >>> F = laplace_transform(f, t, s, noconds=True)
    >>> F = laplace_correspondence(F, {x: X})
    >>> F = laplace_initial_conds(F, t, {x: [0, v]})
    >>> F
    d*s*X(s) + k*X(s) + m*(s**2*X(s) - v)
    >>> Xs = solve(F, X(s))[0]
    >>> Xs
    m*v/(d*s + k + m*s**2)
    >>> inverse_laplace_transform(Xs, s, t)
    2*v*exp(-d*t/(2*m))*sin(t*sqrt((-d**2 + 4*k*m)/m**2)/2)*Heaviside(t)/sqrt((-d**2 + 4*k*m)/m**2)

    References
    ==========

    .. [1] Erdelyi, A. (ed.), Tables of Integral Transforms, Volume 1,
           Bateman Manuscript Prooject, McGraw-Hill (1954), available:
           https://resolver.caltech.edu/CaltechAUTHORS:20140123-101456353

    See Also
    ========

    inverse_laplace_transform, mellin_transform, fourier_transform
    hankel_transform, inverse_hankel_transform

    rÔ  Frè   Ú	applyfuncz#deprecated-laplace-transform-matrixz±
Calling laplace_transform() on a Matrix with noconds=False (the default) is
deprecated. Either noconds=True or use legacy_matrix=False to get the new
behavior.
                z1.9)Údeprecated_since_versionÚactive_deprecations_targetc                 ó"   •— t          | ‰‰fi ‰¤ŽS r—   ©Úlaplace_transform)ÚfijrÍ  r{   rÏ   s    €€€rn   r˜   z#laplace_transform.<locals>.<lambda>¨  s   ø€ Õ 1°#°q¸!Ð EÐ E¸uÐ EÐ E€ rp   Nc                 ó.   •— g | ]}t          |‰‰fi ‰¤Ž‘ŒS rq   râ  )r©   rä  rÍ  r{   rÏ   s     €€€rn   rÒ   z%laplace_transform.<locals>.<listcomp>ª  sG   ø€ ð 2ð 2ð 2Ø(+õ 0Ø�Q˜ð$ð $Ø"ð$ð $ð 2ð 2ð 2rp   ©rÔ  rè   )rË  r   rN   ÚhasattrrU   rW   rV   rÞ  rB  ÚtypeÚshaper-   rM   r  r¸  )rç   rÏ   r{   Úlegacy_matrixrÍ  rØ  rF   r¾   ÚadtÚelements_transÚelementsÚavalsr¾  Ú	f_laplacerÎ  rÀ   rÈ   s    `` `            rn   rã  rã  +  s:  øøø€ ðN �yŠy˜ EÑ*Ô*€HØ—	’	˜* eÑ,Ô,€Iå�!•ZÑ Ô ð 9¥W¨Q°Ñ%<Ô%<ð 9à—I’I˜i¨Ñ/Ô/Ð/ˆàð 	9�]ð 	9Ø7ˆCÝ%ðð
 */Ø+.ðñ ô ð õ !Õ!8Ñ9Ô9ð Gð GØ—{’{ØEÐEÐEÐEÐEÐEñGô GðGð Gð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð2ð 2ð 2ð 2ð 2ð 2Ø/0ð2ñ 2ô 2ˆNàð 9Ý.1°>Ð.BÑ+�˜% Ø#�D ™GœGÐ7 Q¤WÐ7¨hÐ7Ð7Ð7�	Ø ¥# u +­s°JÐ/?Ð?Ð?à•t˜A‘w”wÐ8 ¤Ð8¨Ð8Ð8Ð8Ð8å  1 aÑ(Ô(×-Ò-°eØ7@ð .ñ Bô B�H€Bˆˆ1ð ð Ø�1�aˆxˆàˆ	s   ÂB?Â?CÃCc                óÞ  ‡‡‡‡‡‡— ddl m}mŠ ddlm} t          dd¬¦  «        Šˆˆfd„}|                      ‰¦  «        r|                      ‰¦  «        } | j        rCt          ˆˆˆˆfd„| j
        D ¦   «         Ž }t          |                     ‰|¦  «        ‰¦  «        dfS 	  || ‰t          ‰ ¦  «        d	t          j        fdd
¬¦  «        \  }}	n# t           $ r d	}Y nw xY w|€l || ‰‰¦  «        }|€d	S |j        r-|j
        d         \  }}	|                     t&          ¦  «        rd	S nt          j        }	|                     t,          |¦  «        }|j        r|                     ‰|¦  «        |	fS t          d¦  «        Št          j        fˆˆfd„	}
|                     t0          |
¦  «        }d„ }|                     t          |¦  «        }t          |                     ‰|¦  «        ‰¦  «        |	fS )z6 The backend function for inverse Laplace transforms. r   )Úmeijerint_inversionÚ_get_coeff_exp)Úinverse_mellin_transformrÏ   Trj  c                  óx  •— t          | ¦  «        dk    r	t          | Ž S | d         j        d         j        } ‰|‰¦  «        \  }}| d         j        d         }| d         j        d         }t	          dt          |¦  «        z  ‰|z  z
  ¦  «        |z  t	          ‰|z  dt          |¦  «        z  z
  ¦  «        |z  z   S )z3 Simplify a piecewise expression from hyperexpand. rø   r§   r   ra   )r7  r0   rj   Úargumentr;   r$   )rj   r#   ÚcoeffÚexponentÚe1Úe2rò  rÏ   s         €€rn   Úpw_simpz7_inverse_laplace_transform_integration.<locals>.pw_simpÈ  s²   ø€ åˆt‰9Œ9˜Š>ˆ>Ý˜dÐ#Ð#Ø�1ŒgŒl˜1ŒoÔ&ˆØ(˜.¨¨aÑ0Ô0‰ˆˆxØ�!ŒWŒ\˜!Œ_ˆØ�!ŒWŒ\˜!Œ_ˆå�a�˜E™
œ
‘l Q¨¡[Ñ0Ñ1Ô1°"Ñ4Ý�a˜‘k A¥c¨%¡j¤j¡LÑ0Ñ1Ô1°"Ñ4ñ5ð	6rp   c           	      ó6   •— g | ]}t          |‰‰‰‰¦  «        ‘ŒS rq   )rc   )r©   ÚXr�  r{   rè   rÏ   s     €€€€rn   rÒ   z:_inverse_laplace_transform_integration.<locals>.<listcomp>Ù  s9   ø€ ð ð ð Øõ 5°Q¸¸1¸eÀXÑNÔNð ð ð rp   NF)ÚneedevalrÔ  Úuc                 ól  •—  | j         t          ‰ ¦  «        ‰¦  «        }|                     ‰¦  «        rt          | |¦  «        S ddlm}  ||dk    ‰¦  «        }|j        ‰k    r't          |j        ¦  «        }t          ‰|z   |¦  «        S t          |j        ¦  «        }t          ‰|z    |¦  «        S )Nr   r¢   )	rº   r'   r~   r;   r°   r£   r¼   r(   r¥  )r#   ÚH0r…   r£   Úrelr,  rÏ   rþ  s         €€rn   Úsimp_heavisidez>_inverse_laplace_transform_integration.<locals>.simp_heavisideö  s·   ø€ ØˆCŒH•S˜!˜‘W”W˜aÑ Ô ˆØ�5Š5�‰8Œ8ð 	&Ý˜S "Ñ%Ô%Ð%Ø@Ð@Ð@Ð@Ð@Ð@ØÐ  A¢ qÑ)Ô)ˆØŒ7�aŠ<ˆ<Ý�C”G‘”ˆAÝ˜Q ™U BÑ'Ô'Ð'å�C”G‘”ˆAÝ˜q 1™u˜X rÑ*Ô*Ð*rp   c                 ó:   — t          t          | ¦  «        ¦  «        S r—   )r   r'   )r#   s    rn   Úsimp_expz8_inverse_laplace_transform_integration.<locals>.simp_exp  s   € Ý�c #™hœhÑ'Ô'Ð'rp   )Úsympy.integrals.meijerintrñ  rò  Úsympy.integrals.transformsró  r   Úis_rational_functionÚapartr�  r   rj   rF   rº   r'   r   r²   rH   rä   r~   rE   r€   r“   r0   rþ   r;   )ré   r{   rl  r�  rè   rñ  ró  rú  rç   rê   r  r  rò  rÏ   rþ  s    ` ``       @@@rn   rc   rc   ¼  s‡  øøøøøø€ ð NÐMÐMÐMÐMÐMÐMÐMØCÐCÐCÐCÐCÐCõ 	ˆc˜ÐÑÔ€Að
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 	×Ò˜aÑ Ô ð Ø�GŠG�A‰JŒJˆà„xð 8Ýðð ð ð ð ð ð Ø”vðñ ô ð ˆõ ˜Ÿš  2™œ¨Ñ1Ô1°4Ð7Ð7ðØ*Ð*¨1¨aµ°a°R±´¸4ÅÄÐ:LØ48À%ðIñ Iô I‰ˆˆ4ˆ4øå!ð ð ð Øˆˆˆðøøøð 	€yØÐ  1 aÑ(Ô(ˆØˆ9Ø�4ØŒ>ð 	Ø”f˜Q”i‰GˆAˆtØ�uŠu•X‰Œð Ø�tðõ ”6ˆDØ�IŠI•i Ñ)Ô)ˆà„~ð #ð �vŠv�a˜‰}Œ}˜dÐ"Ð"åˆc‰
Œ
€Aå œvð +ð +ð +ð +ð +ð +ð +ð 	
�	Š	•)˜^Ñ,Ô,€Að(ð (ð (ð 	
�	Š	•#�xÑ Ô €Aå�Q—V’V˜A˜r‘]”] HÑ-Ô-¨tÐ3Ð3s   Â!.C ÃCÃCc                 ó$  — ddl m}  || ¦  «        \  }}|                     |¦  «        rc|                     |¦  «                             ¦   «         }t          |¦  «        dk    r)|\  }}}|||d|z  z  z   dz  ||z  z   |d|z  z  dz  z
  z  }||z  S )Nr   )Úfractionrø   r§   )r™   r
  r  rð   r}  r7  )	rç   r{   r
  r„   rË   Úcfr…   r�   rÈ   s	            rn   Ú_complete_the_square_in_denomr    s«   € à/Ð/Ð/Ð/Ð/Ð/ØˆX�a‰[Œ[�F€QˆØ‡‚�qÑÔð 4Ø�YŠY�q‰\Œ\×$Ò$Ñ&Ô&ˆÝˆr‰7Œ7�aŠ<ˆ<Ø‰GˆAˆq�!Ø�A�a˜˜1™‘g‘I ‘> ! A¡#Ñ% q¨!¨A©#¡w°¡lÑ2Ñ3ˆAØˆQ‰3€Jrp   c            
      ó  — t          d¦  «        } t          d¦  «        }t          d| g¬¦  «        }t          d| g¬¦  «        }t          d| g¬¦  «        }t          d¦  «         d„ }d	„ }|| z  |t          j        |d
f|| |z   | z  z  ||d
z
  z  t          | |z  ¦  «        z  t          |¦  «        z  t          j        |d
fd
| dz  |dz  z   dz  z  t          ||z  ¦  «        ||z  t          ||z  ¦  «        z  z
  d|dz  z  z  t          j        |d
fd
| |z  z  ||d
z
  z  t          |¦  «        z  t          j        |d
fd
| | |z   |z  z  z  t          |||z  ¦  «        ||z  t          |¦  «        z  z  t          j        |d
fg}|| |fS )zà
    This is an internal helper function that returns the table of inverse
    Laplace transform rules in terms of the time variable `t` and the
    frequency variable `s`.  It is used by `_inverse_laplace_apply_rules`.
    r{   rÏ   r…   ró   r�   rÈ   z._inverse_laplace_build_rules is building rulesc                 óR   — 	 |                       |¦  «        S # t          $ r | cY S w xY wr—   )ÚfactorrP   )rç   r{   s     rn   Ú_fracz+_inverse_laplace_build_rules.<locals>._frac(  s;   € ð	Ø—8’8˜A‘;”;ÐøÝð 	ð 	ð 	ØˆHˆHˆHð	øøøs   ‚ —&¥&c                 ó   — | S r—   rq   )rç   s    rn   Úsamez*_inverse_laplace_build_rules.<locals>.same.  s   € ˜�rp   ra   r§   rø   )
r   r    ru   r   r€   r'   r@   r3   r2   rA   )r{   rÏ   r…   r�   rÈ   r  r  Ú
_ILT_ruless           rn   Ú_inverse_laplace_build_rulesr    s¹  € õ 	ˆc‰
Œ
€AÝˆc‰
Œ
€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€Aå
Ð;Ñ<Ô<Ð<ðð ð ð ÐÐð 
ˆ1‰ˆa•”˜˜qÐ!àˆq�‰s�q�b‰k‰M˜1˜q ™s™8¥C¨¨¨1©¡I¤IÑ-­e°A©h¬hÑ6ÝŒF�D˜!ð	ð 
ˆAˆq‰D��A‘‰I˜‰>Ñ	�C  !¡™HœH q¨¡s­3¨q°©s©8¬8¡|Ñ3°a¸¸1¹±fÑ=Ý	
Œ��qð	ð 
ˆAˆq‰D‰�1�q˜1‘u‘:�e A™hœhÑ&­¬°°aÐ8Ø	
ˆAˆq�‰s�Q‰h‰J‰� A q¨¡sÑ+Ô+¨Q°©Tµ%¸±(´(©]Ñ;Ý	
Œ��qð	ð€Jð �q˜!ÐÐrp   c                 óD  ‡— | dk    r*t          d¦  «         t          |¦  «        t          j        fS t	          ¦   «         \  }}}d}|                      ||i¦  «        }|D ]À\  }}	}
}}|||fk    r |||z  ¦  «        }||f}|                     |¦  «        Š‰r‡|
}|t          j        urˆfd„|d         D ¦   «         } |d         |Ž }|t          j        k    rHt          |¦  «        |	                     ‰¦  «                             ||i¦  «        z  t          j        fc S ŒÁdS )ú@
    Helper function for the class InverseLaplaceTransform.
    ra   z     rule: 1 o---o DiracDelta()r•  c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rq   )r–  )r©   r‰   rŸ  s     €rn   rÒ   z7_inverse_laplace_apply_simple_rules.<locals>.<listcomp>W  s#   ø€ Ð5Ð5Ð5¨1˜Ÿ
š
 2™œÐ5Ð5Ð5rp   r   N)	ru   r:   r   r€   r  rº   r¸   r;   r–  )rç   r{   rÏ   r  rá   rl  Ú_prepÚfsubsr›  rš  rœ  rž  r‚  Ú_FrÈ   rj   rŸ  s                   @rn   Ú#_inverse_laplace_apply_simple_rulesr  B  s@  ø€ ð
 	ˆA‚v€vÝÐ0Ñ1Ô1Ð1Ý˜!‰}Œ}�aœfÐ$Ð$å5Ñ7Ô7Ñ€J��BØ€EØ�FŠF�A�r�7‰OŒO€Eà*4ð Mð MÑ&ˆˆu�e˜T 3Ø�T˜3�KÒÐØ��e˜C‘i‘”ˆBØ˜3�KˆEØ�XŠX�e‰_Œ_ˆØð 	MØˆAØ�œˆˆØ5Ð5Ð5Ð5°°!´Ð5Ñ5Ô5�Ø�A�a”D˜$�K�Ø•A”FŠ{ˆ{Ý  ‘|”| E§N¢N°2Ñ$6Ô$6×$;Ò$;¸RÀ¸GÑ$DÔ$DÑDÅaÄfÐLÐLÐLÐLøàˆ4rp   c                 óV  — t          d|g¬¦  «        }t          d|g¬¦  «        }t          d¦  «        }|                      |t          |||f¦  «        z  ¦  «        }|rK||         j        r>t	          d¦  «         t          ||         |||dd¬¦  «        \  }}	| ||         z  |z  |	fS dS )	r  r…   ró   r„   r  z3     rule: t**n*f(t) o---o (-1)**n*diff(F(s), s, n)F©rè   Ú
dorationalN)r    r¸   r
   rt  ru   Ú_inverse_laplace_transform)
rç   r{   rÏ   r�  r…   r„   r  rŸ  r‹   rÈ   s
             rn   Ú_inverse_laplace_diffr   _  sÊ   € õ
 	ˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€AØ	
�Š�•:˜a ! Q Ñ(Ô(Ñ(Ñ	)Ô	)€BØ	ð  ˆb�ŒeÔð  ÝÐDÑEÔEÐEÝ)ØˆqŒE�1�a˜¨¸5ðBñ Bô B‰ˆˆ1à��R˜”U‰{˜1‰}˜aÐÐØˆ4rp   c                 ó   — t          d|g¬¦  «        }t          d¦  «        }|                      |¦  «        s| t          |¦  «        z  t          j        fS |                      t
          ¦  «        sdS |                      t          ||z  ¦  «        ¦  «        }|r^||         j        r3t          d¦  «         t          |||         z   ¦  «        t          j        fS t          | |||¦  «        t          j        fS |                      t          ||z  ¦  «        |z  ¦  «        }|r^||         j        r3t          d¦  «         t          ||         ||||         z   |dd¬	¦  «        S t          | |||¦  «        t          j        fS dS )
r  r…   ró   r  Nz*     rule: exp(-a*s) o---o DiracDelta(t-a)z5     rule: exp(-a*s)*F(s) o---o Heaviside(t-a)*f(t-a)FTr  )r    r~   r:   r   r€   r'   r¸   r  ru   r¬  r  )ré   r{   rÏ   r�  r…   r  r  s          rn   Ú_inverse_laplace_time_shiftr"  p  s{  € õ
 	ˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€Aà�5Š5�‰8Œ8ð 'Ø•˜A‘”‰¥¤Ð&Ð&Ø�5Š5•‰:Œ:ð Øˆtà
�'Š'•#�a˜‘c‘(”(Ñ
Ô
€CØ
ð CØˆqŒ6Ôð 	CÝÐ?Ñ@Ô@Ð@Ý˜a  A¤™hÑ'Ô'­¬Ð/Ð/å*¨1¨a°°EÑ:Ô:½A¼FÐBÐBà
�'Š'•#�a˜‘c‘(”(˜1‘*Ñ
Ô
€CØ
ð CØˆqŒ6Ôð 	CÝÐJÑKÔKÐKÝ-Ø�A”˜˜1˜S œV™8 U°UÀtðMñ Mô Mð Mõ +¨1¨a°°EÑ:Ô:½A¼FÐBÐBØˆ4rp   c                 óì  — |                       |¦  «        s| t          |¦  «        z  t          j        fS t	          | j        x}¦  «        dk    r¦t          d|g¬¦  «        }|d                              ||z
  ¦  «        x}rtt          ||         ¦  «        j	        rZt          d¦  «         t          ||          |z  ¦  «        t          |                      |¦  «        |||¦  «        z  t          j        fS dS )r  ra   r…   ró   r   z&     rule: F(s-a) o---o exp(-a*t)*f(t)N)r~   r:   r   r€   r7  rj   r    r¸   r!   rˆ   ru   r'   r¬  rm   )ré   r{   rÏ   r�  rj   r…   rŸ  s          rn   Ú_inverse_laplace_freq_shiftr$  �  sì   € ð
 �5Š5�‰8Œ8ð 'Ø•˜A‘”‰¥¤Ð&Ð&Ý
�1”6ˆ>ˆ4ÑÔ˜aÒÐÝ�˜q˜cÐ"Ñ"Ô"ˆØ�q”'—-’-  !¡Ñ$Ô$Ð$ˆBð 	I­"¨R°¬U©)¬)Ô*?ð 	IÝÐ;Ñ<Ô<Ð<å�R˜”U�F˜1‘H‘”Ý'¨¯ª¨q©	¬	°1°a¸Ñ?Ô?ñ@ÝABÄðIð Ið ˆ4rp   c                 ó  — t          d|g¬¦  «        }t          d¦  «        }|                      ||z  |z  ¦  «        }|rÆ||         j        r¹||         j        r¬t	          d¦  «         t          ||         |||dd¬¦  «        \  }}|                     t          |¦  «        d¦  «        }|                     t          ¦  «        rt          ||||         ¦  «        |fS t          |¦  «        t          ||||         ¦  «        z  |fS d	S )
r  r„   ró   r  z+     rule: s**n*F(s) o---o diff(f(t), t, n)FTr  ra   N)r    r¸   rt  rˆ   ru   r  r“   r;   r~   r¬  r   )	ré   r{   rÏ   r�  r„   r  r  r‹   rÈ   s	            rn   Ú_inverse_laplace_time_diffr&  ¡  s  € õ
 	ˆS˜1˜#ÐÑÔ€AÝˆS‰	Œ	€Aà
�'Š'�!�Q‘$�q‘&‰/Œ/€CØ
ð 6ˆs�1ŒvÔ ð 6 S¨¤VÔ%7ð 6ÝÐ<Ñ=Ô=Ð=Ý)Ø�ŒF�A�q˜%¨%¸DðBñ Bô B‰ˆˆ1à�IŠI•i ‘l”l AÑ&Ô&ˆØ�5Š5Õ(Ñ)Ô)ð 	6Ý˜˜1˜c !œfÑ%Ô% qÐ(Ð(å˜Q‘<”<¥ Q¨¨3¨q¬6Ñ 2Ô 2Ñ2°AÐ5Ð5Øˆ4rp   c           	      óâ9  ‡‡‡‡‡— t          d‰g¬¦  «        Št          d‰g¬¦  «        Št          d‰g¬¦  «        Št          d‰g¬¦  «        Šd}t          j        }|                      ¦   «         }ˆˆˆˆˆfd„|D ¦   «         }d|v rdS t          j        }g }	g }
g }|D ]o}|‰         dk    r||z  }Œ|‰         j        r|	                     |¦  «         Œ7|‰         j        r|
                     |¦  «         ŒZ|                     |¦  «         Œpt          |
ˆˆfd	„¬
¦  «        }
t          |	ˆˆfd„¬
¦  «        }	t          |¦  «        dk    rdS t          |
¦  «        dk    �r¯t          |	¦  «        dk    �r›|
d         ‰         dk    rÈ|
d         ‰         t          j
        k    r¬|
d         ‰         |
d         ‰         z  }d|
d         ‰         z  |z  }|j        rr|t          t          ¦  «        z  t          |¦  «        z  ||z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  z
  }t          d¦  «         �nŒ|
d         ‰         dk    rù|
d         ‰         t          j
        k    rÝ|
d         ‰         |
d         ‰         z  }|dz  }d|
d         ‰         dz  z  |z  }|j        r›|ddt          t          ¦  «        z  t          |¦  «        z  t          |¦  «        z  z
  dd|z  |z  z
  t          ||z  ¦  «        z  t!          t          |¦  «        t          |¦  «        z  ¦  «        dz
  z  z   z  }t          d¦  «         �n�|
d         ‰         dk    ré|
d         ‰         t          j
        k    rÍ|
d         ‰         |
d         ‰         z  }d|
d         ‰         dz  z  |z  }|j        r�|dt          t          ¦  «        z  |dz  |z  dz   z  t          |¦  «        z  ||z  t          |dz  |z  ¦  «        z  d|dz  z  |z  dz   z  t          |t          |¦  «        z  ¦  «        z  z
  z  }t          d¦  «         �n†|
d         ‰         dk    �r|
d         ‰         t          j
        k    rë|
d         ‰         |
d         ‰         z  }d|
d         ‰         dz  z  |z  dz  }|j        r«||d|dz  z  |dz  z  d|dz  z  |z  z   dz   z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  dt          t          ¦  «        z  |dz  z  |t          d¦  «        dz  z  z  d|dz  z  |z  dz   z  z
  z  }t          d¦  «         �nl|
d         ‰         t          j
         k    r‚|
d         ‰         dk    rpt          |
d         ‰         |
d         ‰         z  ¦  «        }dt          |
d         ‰         ¦  «        z  |z  }|t#          d||z  ¦  «        z  }t          d¦  «         �nËt          |
¦  «        dk    �r©t          |	¦  «        dk    �r•|
d         ‰         dk    �r"|
d         ‰         t          j
        k    �r|	d         ‰         t          j
        k    ré|	d         ‰         dk    r×|
d         ‰         }t          |	d         ‰         ¦  «        |
d         ‰         z  |z  }|d|dz  z  |dz  z  d|dz  z  |z  z   dz   z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  dt          t          ¦  «        z  |z  |dz  |z  dz   z  t          |¦  «        z  z
  }t          d¦  «         |
d         ‰         dk    �rK|
d         ‰         dk    �r8|	d         ‰         t          j
        k    �r|	d         ‰         dk    �r|	d         ‰         |	d         ‰         z  }|
d         ‰         |
d         ‰         z  }t          |	d         ‰         ¦  «        |
d         ‰         z  |z  }|t          | |z  ¦  «        t          |¦  «        z  t          t          ¦  «        z  t          ||z
  ¦  «        t          | |z  ¦  «        z  t!          t          ||z
  ¦  «        t          |¦  «        z  ¦  «        z  z   z  }t          d¦  «         �nt          |
¦  «        dk    �	r}t          |	¦  «        dk    �	ri|
d         ‰         dk    �r|
d         ‰         dk    rù|
d         ‰         t          j
         k    rÜ|
d         ‰         dk    rÊ|
d         ‰         dk    r¸|
d         ‰          |
d         ‰         z  }dt          |
d         ‰         ¦  «        z  |
d         ‰         z  |z  }|j        ra|t          |¦  «        z  t          ||z  ¦  «        z  t!          t          |¦  «        t          |¦  «        z  ¦  «        z  }t          d¦  «         �nÈ|
d         ‰         dk    rè|
d         ‰         dk    rÖ|
d         ‰         dk    rÄ|
d         ‰         dk    r²|
d         ‰         t          j
        k    r–|
d         ‰         |
d         ‰         z  }d|
d         ‰         z  |
d         ‰         z  |z  |z  }|j        rJ|dt          |dz  |z  ¦  «        t          |t          |¦  «        z  ¦  «        z  z
  z  }t          d¦  «         �nÎ|
d         ‰         dk    rú|
d         ‰         t          j
        k    rÞ|
d         ‰         t          j
         k    rÁ|
d         ‰         dk    r¯|
d         ‰         dk    r�|
d         ‰         |
d         ‰         z  }d|
d         ‰         t          |
d         ‰         ¦  «        z  z  |z  }|j        rG|t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  }t          d¦  «         �nÂ|
d         ‰         t          d¦  «         dz  k    �r+|
d         ‰         dk    �r|
d         ‰         dk    �r|
d         ‰         dk    ró|
d         ‰         t          j
        k    r×|
d         ‰         |
d         ‰         z  }d|
d         ‰         t          d¦  «        dz  z  |
d         ‰         z  z  |dz  z  |z  }|j        ru|dt          t          ¦  «        z  |z  t          |¦  «        z  t          |dz  |z  ¦  «        t          |t          |¦  «        z  ¦  «        z  z   dz
  z  }t          d ¦  «         �ns|
d         ‰         dk    �r@|
d         ‰         t          j
        k    �r#|
d         ‰         dk    �r|
d         ‰         dk    rþ|
d         ‰         dk    rì|
d         ‰         |
d         ‰         z  }|dz  }d|
d         ‰         dz  z  |
d         ‰         z  |z  }|j        r›|d|z  d|z  d|z  z
  t          ||z  ¦  «        z  t          t          |¦  «        t          |¦  «        z  ¦  «        z  z   dt          t          ¦  «        z  t          |¦  «        z  t          |¦  «        z  z
  z  }t          d!¦  «         �n |
d         ‰         dk    �r/|
d         ‰         t          j
        k    �r|
d         ‰         t          j
         k    rõ|
d         ‰         dk    rã|
d         ‰         dk    rÑ|
d         ‰         |
d         ‰         z  }d|
d         ‰         dz  z  t          |
d         ‰         ¦  «        z  |z  }|j        rx|dt          t          ¦  «        z  t          |¦  «        z  d|z  |z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  z
  z  }t          d"¦  «         �nÞ|
d         ‰         dk    �r%|
d         ‰         t          j
        k    �r|
d         ‰         t          j
         k    rë|
d         ‰         dk    rÙ|
d         ‰         dk    rÇ|
d         ‰         }|t          |
d         ‰         ¦  «        z  |
d         ‰         z  }|d|dz  z  |z  dz   |z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  dt          t          ¦  «        z  |z  |t          d¦  «        dz  z  z  z
  z  }t          d#¦  «         �n¦|
d         ‰         dk    �r|
d         ‰         dk    �r|
d         ‰         t          j
         k    rä|
d         ‰         dk    rÒ|
d         ‰         |
d         ‰         z  }|
d         ‰         |
d         ‰         z  }|t          |
d         ‰         ¦  «        z  |
d         ‰         z  }|dt          ||z
  ¦  «        z  t          | |z  ¦  «        z  t!          t          ||z
  ¦  «        t          |¦  «        z  ¦  «        z  z  }t          d$¦  «         �
n}t          |
¦  «        dk    �r«t          |	¦  «        dk    �r—|
d         ‰         dk    �râ|
d         ‰         dk    �rÏ|
d         ‰         dk    �r¼|
d         ‰         t          j
        k    �rŸ|	d         ‰         t          j
        k    �r‚|	d         ‰         dk    �ro|	d         ‰         dk    �r\|
d         ‰         |
d         ‰         z  }|dz  }|
d         ‰          |
d         ‰         z  }t          |	d         ‰         ¦  «        |
d         ‰         z  |
d         ‰         z  ||z
  z  |z  }|j        rÑ|j        rÊ||t          ||z  ¦  «        z  t          t          |¦  «        t          |¦  «        z  ¦  «        z  t          |¦  «        t          |¦  «        z  t          ||z  ¦  «        z  t          t          |¦  «        t          |¦  «        z  ¦  «        z  z   |t          ||z  ¦  «        z  z
  z  }t          d%¦  «         �n`|
d         ‰         dk    �rD|
d         ‰         dk    �r1|
d         ‰         dk    �r|
d         ‰         dk    �r|
d         ‰         t          j
        k    rï|	d         ‰         dk    rÝ|	d         ‰         t          j
        k    rÁ|	d         ‰         |	d         ‰         z  }|
d         ‰         |
d         ‰         z  }||z   dk    r||	d         ‰         |
d         ‰         z  |
d         ‰         z  |z  }|dt          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  dz
  z  }t          d&¦  «         �n	|
d         ‰         dk    �r€|
d         ‰         dk    �rm|
d         ‰         dk    �rZ|
d         ‰         dk    �rG|
d         ‰         t          j
        k    �r*|	d         ‰         dk    �r|	d         ‰         t          j
        k    rû|	d         ‰         |	d         ‰         z  }|
d         ‰         |
d         ‰         z  }||z   dk    r¶|	d         ‰         dz  |
d         ‰         z  |
d         ‰         dz  z  |z  }|dd'|dz  z  |z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  z   d't          t          ¦  «        z  |z  t          |¦  «        z  z
  z  }t          d(¦  «         �nv|
d         ‰         dk    �r£|
d         ‰         dk    �r�|
d         ‰         dk    �r}|
d         ‰         dk    �rj|
d         ‰         t          j
        k    �rM|	d         ‰         dk    �r:|	d         ‰         t          j
        k    �r|	d         ‰         |	d         ‰         z  }|
d         ‰         |
d         ‰         z  }||z   dk    rÚ|	d         ‰         dz  |
d         ‰         z  |
d         ‰         dz  z  |z  }|dd'|dz  z  |dz  z  d'|dz  z  |z  z   dz   z  t          |dz  |z  ¦  «        z  t          |t          |¦  «        z  ¦  «        z  d't          t          ¦  «        z  |z  t          |¦  «        z  d|dz  z  |z  dz   z  z
  dz
  z  }t          d)¦  «         �n¾t          |
¦  «        dk    �rªt          |	¦  «        dk    �r–|
d         ‰         dk    �ru|
d         ‰         dk    �rb|
d         ‰         dk    �rO|
d         ‰         dk    �r<|
d         ‰         dk    �r)|
d         ‰         t          j
         k    �r|
d         ‰         dk    rù|
d         ‰          |
d         ‰         z  }d|
d         ‰         z  |
d         ‰         z  t          |
d         ‰         ¦  «        z  |z  }|j        r“||t          d¦  «         dz  z  t          ||z  ¦  «        z  t!          t          |¦  «        t          |¦  «        z  ¦  «        z  d|z  t          t          ¦  «        z  t          |¦  «        z  z
  z  }t          d*¦  «         �n|
d         ‰         dk    �rû|
d         ‰         dk    �rè|
d         ‰         dk    �rÕ|
d         ‰         t          j
        k    �r¸|
d         ‰         t          j
         k    �rš|
d         ‰         dk    �r‡|
d         ‰         dk    �rt|
d         ‰         |
d         ‰         z  }|dz  }|
d         ‰          |
d         ‰         z  }d|
d         ‰         z  |
d         ‰         z  t          |
d         ‰         ¦  «        z  t          |¦  «        ||z
  z  z  }|j        rÛ|j        rÔ|t          |¦  «        t          ||z  ¦  «        z  t          t          |¦  «        t          |¦  «        z  ¦  «        z  t          |¦  «        t          ||z  ¦  «        z  t!          t          |¦  «        t          |¦  «        z  ¦  «        z  z   t          |¦  «        t          ||z  ¦  «        z  z
  z  }t          d+¦  «         |€dS t%          |¦  «        |z  |fS ),r  r…   ró   r�   r«   r„   Nc                 óR   •— g | ]#}|                      ‰‰‰z  z  ‰z   ‰z  ¦  «        ‘Œ$S rq   )r¸   )r©   r‰   r…   r�   r«   r„   r{   s     €€€€€rn   rÒ   z/_inverse_laplace_irrational.<locals>.<listcomp>Æ  s5   ø€ Ð	-Ð	-Ð	- Qˆ!�'Š'�1�Q˜‘T‘6˜!‘8˜a‘-Ñ
 Ô
 Ð	-Ð	-Ð	-rp   r   c                 ó:   •— | ‰         | ‰         dk    | ‰         fS r®   rq   ©r‰   r�   r„   s    €€rn   r˜   z-_inverse_laplace_irrational.<locals>.<lambda>Û  ó   ø€ ¨¨1¬¨q°¬t°qªy¸!¸A¼$Ð(?€ rp   rÝ   c                 ó:   •— | ‰         | ‰         dk    | ‰         fS r®   rq   r*  s    €€rn   r˜   z-_inverse_laplace_irrational.<locals>.<lambda>Ü  r+  rp   ra   rù   r§   z     rule 5.3.4rû   z     rule 5.3.10éýÿÿÿrø   z     rule 5.3.13éüÿÿÿrú   é   é   z     rule 5.3.16z     rule 5.3.35/44z     rule 5.3.14z     rule 5.3.22z     rule 5.3.1z     rule 5.3.5z     rule 5.3.7z     rule 5.3.8z     rule 5.3.11z     rule 5.3.12z     rule 5.3.15z     rule 5.3.23z     rule 5.3.6z     rule 5.3.17é   z     rule 5.3.18z     rule 5.3.19z     rule 5.3.2z     rule 5.3.9)r    r   r€   Úas_ordered_factorsr"  rˆ   r$  r  Úsortedr7  rþ   r/   r   r'   r=   ru   r<   r7   r;   )r  r{   rÏ   r�  rl   rÇ  ÚfarŸ  Ú	constantsÚzerosÚpolesÚrestr'  rÉ   Úk_Úa_sqÚb_Úa_numr…   r�   r«   r„   s    `                @@@@rn   Ú_inverse_laplace_irrationalr=  ¶  s/  øøøøø€ õ 	ˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€AÝˆS˜1˜#ÐÑÔ€Aà€FÝ”€Ià	×	Ò	Ñ	 Ô	 €Bà	-Ð	-Ð	-Ð	-Ð	-Ð	-Ð	-Ð	-¨"Ð	-Ñ	-Ô	-€Bàˆr€z€zØˆtå”€IØ€EØ€EØ€Dàð ð ˆØ�Œ7�aŠ<ˆ<Ø! $™ˆIˆIØ�!ŒWÔ ð 	Ø�LŠL˜ÑÔÐÐØ�!ŒWÔ ð 	Ø�LŠL˜ÑÔÐÐà�KŠK˜ÑÔÐÐõ �5Ð?Ð?Ð?Ð?Ð?Ð@Ñ@Ô@€EÝ�5Ð?Ð?Ð?Ð?Ð?Ð@Ñ@Ô@€Eå
ˆ4�y„y�A‚~€~Øˆtå
ˆ5�z„z�Q‚��3˜u™:œ:¨š?™?Ø�Œ8�AŒ;˜"ÒÐ  q¤¨!¤µ´Ò!6Ð!6à�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�5˜”8˜A”;‘˜yÑ(ˆBØŒ~ð *à•t�B‘x”x‘K¥ Q¡¤Ñ'Ø�r‘E�#˜b !™e A™g™,œ,Ñ&¥t¨B­t°A©w¬w©JÑ'7Ô'7Ñ7ñ8ð õ Ð(Ñ)Ô)Ð)ùØ�1ŒX�aŒ[˜BÒÐ 5¨¤8¨A¤;µ!´&Ò#8Ð#8à˜”8˜A”;˜u Qœx¨œ{Ñ*ˆDØ�q‘ˆBØ�5˜”8˜A”; ‘>Ñ! )Ñ+ˆBØÔð +à˜˜A�d¥2™hœh™J¥t¨B¡x¤xÑ/µ°Q±´Ñ7Ñ7Ø˜1˜R™4 ™6™¥3 r¨!¡t¡9¤9Ñ,­cµ$°r±(´(½4À¹7¼7Ñ2BÑ.CÔ.CÀAÑ.EÑFñGñ Hð õ Ð)Ñ*Ô*Ð*ùØ�1ŒX�aŒ[˜BÒÐ 5¨¤8¨A¤;µ!´&Ò#8Ð#8à�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�5˜”8˜A”; ‘>Ñ! )Ñ+ˆBØŒ~ð +à˜�$�r™(œ(™
 B¨¡E¨!¡G¨A¡IÑ.­t°A©w¬wÑ6Ø˜1™�S  Q¡ q¡™\œ\Ñ)¨1¨R°©U©7°1©9°Q©;Ñ7½¸RÅÀQÁÄ¹ZÑ8HÔ8HÑHñIñ Jð õ Ð)Ñ*Ô*Ð*ùØ�1ŒX�aŒ[˜BÒÑ 5¨¤8¨A¤;µ!´&Ò#8Ð#8à�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�5˜”8˜A”; ‘>Ñ! )Ñ+¨AÑ-ˆBØŒ~ð +à˜˜1˜R ™U™7 1 a¡4™<¨¨2¨q©5©°©
Ñ2°1Ñ4Ñ5µc¸"¸a¹%À¹'±l´lÑBÝ˜R¥ Q¡¤™ZÑ(Ô(ñ)à�$�r™(œ(™
 2 q¡5Ñ(¨­Q¨q©T¬T°!©V©Ñ4°a¸¸A¹±g¸a±iÀ±kÑBñCñ Dð õ Ð)Ñ*Ô*Ð*ùØ�1ŒX�aŒ[�QœV˜GÒ#Ð#¨¨a¬°¬°qÒ(8Ð(8å�e˜A”h˜q”k %¨¤(¨1¤+Ñ-Ñ.Ô.ˆBØ•4˜˜aœ œÑ$Ô$Ñ$ YÑ.ˆBØ�' ! R¨¡TÑ*Ô*Ñ+ˆFÝÐ(Ñ)Ô)Ð)ùå	ˆU‰Œ�qŠ‰�S ™ZœZ¨1š_™_à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”�qœvÒ%Ð%¨%°¬(°1¬+¸Ò*:Ð*:ð �q”˜!”ˆBÝ�e˜A”h˜q”kÑ"Ô" 5¨¤8¨A¤;Ñ.¨yÑ8ˆBà�A�b˜!‘e‘G˜A˜q™D‘L  2 q¡5¡¨¡Ñ*¨1Ñ,Ñ-­c°"°a±%¸±'©l¬lÑ:Ý�R�˜Q™œ‘ZÑ Ô ñ!Ø#$¥T­"¡X¤X¡:¨b¡=°"°a±%¸±'¸!±)Ñ#<½TÀ!¹W¼WÑ#DñEð õ Ð%Ñ&Ô&Ð&à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”�qœvÒ%Ñ%¨%°¬(°1¬+¸Ò*:Ñ*:ð �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�q”˜!”˜U 1œX aœ[Ñ(ˆBÝ�e˜A”h˜q”kÑ"Ô" 5¨¤8¨A¤;Ñ.¨yÑ8ˆBà•C˜˜˜A™‘J”J�t A™wœwÑ&¥t­B¡x¤xÑ/µ°R¸±U±´Ý˜˜˜A™‘J”Jñ1Ý"¥4¨¨2©¡;¤;­t°A©w¬wÑ#6Ñ7Ô7ñ18ñ 8ñ 9ð õ Ð%Ñ&Ô&Ð&ùå	ˆU‰Œ�qŠ‰�S ™ZœZ¨1š_™_à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ð&6Ø�a”˜”¥¤˜wÒ&Ð&¨5°¬8°A¬;¸!Ò+;Ð+;Ø�a”˜”˜qÒ Ð ð ˜”(˜1”+�˜e Aœh qœkÑ)ˆBØ•4˜˜aœ œÑ$Ô$Ñ$ U¨1¤X¨a¤[Ñ0°Ñ:ˆBØŒ~ð *Ø�T "™XœX™+¥c¨"¨Q©$¡i¤iÑ/µµD¸±H´H½TÀ!¹W¼WÑ4DÑ0EÔ0EÑE�ÝÐ(Ñ)Ô)Ð)ùà�a”˜”˜rÒ!Ð! e¨A¤h¨q¤k°QÒ&6Ð&6¸5À¼8ÀA¼;È!Ò;KÐ;KØ�a”˜”˜rÒ!Ð! e¨A¤h¨q¤kµQ´VÒ&;Ð&;ð �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�5˜”8˜A”;‘˜u Qœx¨œ{Ñ*¨2Ñ-¨iÑ7ˆBØŒ~ð *Ø˜Q�s 2 q¡5¨¡7™|œ|­D°µD¸±G´G±Ñ,<Ô,<Ñ<Ñ<Ñ=�ÝÐ(Ñ)Ô)Ð)ùà�a”˜”˜rÒ!Ð! e¨A¤h¨q¤kµQ´VÒ&;Ð&;Ø�a”˜”¥¤˜wÒ&Ð&¨5°¬8°A¬;¸!Ò+;Ð+;Ø�a”˜”˜qÒ Ð ð �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�E˜!”H˜Q”K¥ U¨1¤X¨a¤[Ñ 1Ô 1Ñ1Ñ2°9Ñ<ˆBØŒ~ð *Ø�C  A¡ a¡™LœL™­¨bµ°a±´©jÑ)9Ô)9Ñ9�ÝÐ(Ñ)Ô)Ð)ùà�a”˜”¥ !¡¤˜u Q™wÒ&Ñ&¨5°¬8°A¬;¸!Ò+;Ñ+;Ø�a”˜”˜qÒ Ñ  U¨1¤X¨a¤[°BÒ%6Ð%6Ø�a”˜”�qœvÒ%Ð%ð
 �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�E˜!”H˜Q”K¥! A¡$¤$ q¡&Ñ)¨%°¬(°1¬+Ñ5Ñ6°r¸1±uÑ<¸YÑFˆBØŒ~ð *à˜�$�r™(œ(™
 2™¥d¨1¡g¤gÑ-­c°"°a±%¸±'©l¬l½4ÀÅ4ÈÁ7Ä7Á
Ñ;KÔ;KÑ.KÑKÈAÑMÑNð åÐ(Ñ)Ô)Ð)ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ð&6Ø�a”˜”˜qÒ Ð ð ˜”8˜A”;˜u Qœx¨œ{Ñ*ˆDØ�q‘ˆBØ�5˜”8˜A”; ‘>Ñ! %¨¤(¨1¤+Ñ-¨iÑ7ˆBØÔð +à˜˜"™  !¡ A b¡D¡­#¨b°©d©)¬)Ñ3µD½¸b¹¼Å$ÀqÁ'Ä'Ñ9IÑ4JÔ4JÑJÑJØ�$�r™(œ(™
¥4¨¡8¤8Ñ+­D°©G¬GÑ3ñ4ñ 5ð õ Ð)Ñ*Ô*Ð*ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”¥¤˜wÒ&Ð&¨5°¬8°A¬;¸!Ò+;Ð+;Ø�a”˜”˜qÒ Ð ð �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�5˜”8˜A”; ‘>Ñ!¥$ u¨Q¤x°¤{Ñ"3Ô"3Ñ3°IÑ=ˆBØŒ~ð +à˜�$�r™(œ(™
¥4¨¡7¤7Ñ*Ø˜"™˜Q™�s 2 q¡5¨¡7™|œ|Ñ+­D°µD¸±G´G±Ñ,<Ô,<Ñ<ñ=ñ >ð õ Ð)Ñ*Ô*Ð*ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”¥¤˜wÒ&Ð&¨5°¬8°A¬;¸!Ò+;Ð+;Ø�a”˜”˜qÒ Ð ð �q”˜!”ˆBØ�4  a¤¨¤Ñ,Ô,Ñ,¨U°1¬X°a¬[Ñ8ˆBØØ�2�q‘5‘˜‘˜1‘˜a‘¥ B¨¡E¨!¡G¡¤Ñ,­T°"µT¸!±W´W±*Ñ-=Ô-=Ñ=Ø•$•r‘(”(‘
˜2‘˜a¥! A¡$¤$ q¡&™kÑ)ñ*ñ+ˆFõ Ð%Ñ&Ô&Ð&Ñ&à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”¥¤˜wÒ&Ð&¨5°¬8°A¬;¸!Ò+;Ð+;ð �q”˜!”˜U 1œX aœ[Ñ(ˆBØ�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�4  a¤¨¤Ñ,Ô,Ñ,¨U°1¬X°a¬[Ñ8ˆBØØ•$�r˜"‘u‘+”+‘�c 2 # a¡%™jœjÑ(­­T°"°R±%©[¬[½¸a¹¼Ñ-@Ñ)AÔ)AÑAñCˆFåÐ%Ñ&Ô&Ð&ùå	ˆU‰Œ�qŠ‰�S ™ZœZ¨1š_™_à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”�qœvÒ%Ñ%¨%°¬(°1¬+¸Ò*:Ñ*:Ø�a”˜”˜qÒ Ñ ð ˜”8˜A”;˜u Qœx¨œ{Ñ*ˆDØ�q‘ˆBØ˜”(˜1”+�˜e Aœh qœkÑ)ˆBÝ�e˜A”h˜q”kÑ"Ô" 5¨¤8¨A¤;Ñ.¨u°Q¬x¸¬{Ñ:¸B¸r¹EÑBÀ9ÑLˆBØÔð * B¤Nð *ØØ•s˜2˜a™4‘y”y‘L¥¥d¨2¡h¤h­t°A©w¬wÑ&6Ñ!7Ô!7Ñ7Ý˜‘H”H�T "™XœXÑ%¥c¨"¨Q©$¡i¤iÑ/µµT¸"±X´X½dÀ1¹g¼gÑ5EÑ0FÔ0FÑFñGà•s˜2˜a™4‘y”y‘Lñ!ñ"�õ Ð(Ñ)Ô)Ð)ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”˜qÒ Ñ  U¨1¤X¨a¤[°BÒ%6Ñ%6Ø�a”˜”�qœvÒ%Ð%¨%°¬(°1¬+¸Ò*:Ð*:Ø�a”˜”�qœvÒ%Ð%ð ˜!”H˜Q”K  a¤¨¤Ñ+ˆEØ�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�%‰x˜1Š}ˆ}Ø˜1”X˜a”[  q¤¨!¤Ñ,¨U°1¬X°a¬[Ñ8¸ÑB�ØØ•c˜"˜a™% ™'‘l”l‘N¥4¨­4°©7¬7©
Ñ#3Ô#3Ñ3°AÑ5ñ7�åÐ)Ñ*Ô*Ð*ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”˜qÒ Ñ  U¨1¤X¨a¤[°BÒ%6Ñ%6Ø�a”˜”�qœvÒ%Ñ%¨%°¬(°1¬+¸Ò*:Ñ*:Ø�a”˜”�qœvÒ%Ð%ð ˜!”H˜Q”K  a¤¨¤Ñ+ˆEØ�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�%‰x˜1Š}ˆ}Ø˜1”X˜a”[ !‘^ E¨!¤H¨Q¤KÑ/°°a´¸´¸Q±Ñ>¸yÑH�ØØ˜˜"˜a™%™ ™	¥# b¨!¡e¨A¡g¡,¤,Ñ.­t°Bµt¸A±w´w±JÑ/?Ô/?Ñ?Ñ?Ø•d�2‘h”h‘J˜r‘M¥$ q¡'¤'Ñ)ñ*ñ+�õ Ð)Ñ*Ô*Ð*ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”˜qÒ Ñ  U¨1¤X¨a¤[°BÒ%6Ñ%6Ø�a”˜”�qœvÒ%Ñ%¨%°¬(°1¬+¸Ò*:Ñ*:Ø�a”˜”�qœvÒ%Ñ%ð ˜!”H˜Q”K  a¤¨¤Ñ+ˆEØ�q”˜!”˜U 1œX aœ[Ñ(ˆBØ�%‰x˜1Š}ˆ}Ø˜1”X˜a”[ !‘^ E¨!¤H¨Q¤KÑ/°°a´¸´¸Q±Ñ>¸yÑH�ØØ�q˜˜Q™‘w˜q !™t‘| A b¨!¡e¡G¨A¡IÑ-¨aÑ/Ñ0µ°R¸±U¸1±W±´Ñ=Ý˜�D ™GœG™Ñ$Ô$ñ%Ø%&¥t­B¡x¤x¡Z°¡]µ4¸±7´7Ñ%:¸A¸bÀ!¹e¹GÀA¹IÀa¹KÑ%HñIØIJñKñL�õ Ð)Ñ*Ô*Ð*ùå	ˆU‰Œ�qŠ‰�S ™ZœZ¨1š_™_à�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6¸5À¼8ÀA¼;È!Ò;KÑ;KØ�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”¥¤˜wÒ&Ñ&¨5°¬8°A¬;¸!Ò+;Ð+;ð ˜”(˜1”+�˜e Aœh qœkÑ)ˆBØ�5˜”8˜A”;‘˜u Qœx¨œ{Ñ*­4°°a´¸´Ñ+<Ô+<Ñ<¸YÑFˆBØŒ~ð *ØØ�!˜A™$œ$˜˜q™‘M¥C¨¨1©¡I¤IÑ-µµD¸±H´H½TÀ!¹W¼WÑ4DÑ0EÔ0EÑEØ�b‘D��b™œ‘M¥$ q¡'¤'Ñ)ñ*ñ+�õ Ð(Ñ)Ô)Ð)ùà�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤k°QÒ&6Ñ&6Ø�a”˜”˜rÒ!Ñ! e¨A¤h¨q¤kµQ´VÒ&;Ñ&;Ø�a”˜”¥¤˜wÒ&Ñ&¨5°¬8°A¬;¸!Ò+;Ñ+;Ø�a”˜”˜qÒ Ñ ð ˜”8˜A”;˜u Qœx¨œ{Ñ*ˆDØ�q‘ˆBØ˜”(˜1”+�˜e Aœh qœkÑ)ˆBà�%˜”(˜1”+‘˜e Aœh qœkÑ)­$¨u°Q¬x¸¬{Ñ*;Ô*;Ñ;Ý�b‘”˜2˜b™5Ñ!ñ#ð ð Ôð * B¤Nð *ØÝ˜‘H”H�S  A¡™YœYÑ&¥t­D°©H¬HµT¸!±W´WÑ,<Ñ'=Ô'=Ñ=Ý˜‘H”H�S  A¡™YœYÑ&¥s­4°©8¬8µD¸±G´GÑ+;Ñ'<Ô'<Ñ<ñ=å˜‘H”H�S  A¡™YœYÑ&ñ'ñ(�õ Ð(Ñ)Ô)Ð)à€~Øˆtå˜‰|Œ|˜FÑ" IÐ-Ð-rp   c                 óH   — t           g}|D ]} || |||¦  «        x}�|c S ŒdS ©r  N)r=  ©ré   r{   rÏ   r�  r�  r‘  r‹   s          rn   Ú!_inverse_laplace_early_prog_rulesrA  ñ  sI   € õ
 .Ð.€Jàð ð ˆØ�˜˜1˜a Ñ'Ô'Ð'ˆAÐ4ØˆHˆHˆHð 5àˆ4rp   c                 óx   — t           t          t          t          t          g}|D ]} || |||¦  «        x}�|c S ŒdS r?  )r"  r$  r&  r   r=  r@  s          rn   Ú!_inverse_laplace_apply_prog_rulesrC  þ  sY   € õ
 .Õ/JÝ,Õ.CÝ-ð/€Jð ð ð ˆØ�˜˜1˜a Ñ'Ô'Ð'ˆAÐ4ØˆHˆHˆHð 5àˆ4rp   c                 óÎ  — | j         rdS t          | d¬¦  «        }|j         rt          ||||dd¬¦  «        S t          | ¦  «        }|j         rt          ||||dd¬¦  «        S t          | ¦  «        }|j         rt          ||||dd¬¦  «        S |                      |¦  «        r'|                      |¦  «                             ¦   «         }|j         rt          ||||dd¬¦  «        S dS )r  NFr‹  Tr  )r�  r   r  r   r  r  r¸  )r  r{   rÏ   r�  r‹   s        rn   Ú_inverse_laplace_expandrE    s)  € ð
 
„yð ØˆtÝˆr˜ÐÑÔ€AØ„xð =Ý)Øˆq�!�U U°tð=ñ =ô =ð 	=å�2‰Œ€AØ„xð =Ý)Øˆq�!�U U°tð=ñ =ô =ð 	=åˆr‰
Œ
€AØ„xð =Ý)Øˆq�!�U U°tð=ñ =ô =ð 	=à	×Ò˜qÑ!Ô!ð Ø�HŠH�Q‰KŒK×ÒÑÔˆØ„xð =Ý)Øˆq�!�U U°tð=ñ =ô =ð 	=àˆ4rp   c          	      óú  ‡— t          d¦  «        }|                      |¦  «        }t          j        |¦  «        }g }t          j        g}	|D �]„}
|
                     ¦   «         \  }}|                     |¦  «                             ¦   «         }|d         Šˆfd„|D ¦   «         }ˆfd„|                     |¦  «                             ¦   «         D ¦   «         }t          |¦  «        dk    r\t          |¦  «        dz
  }t          |¦  «        D ]9}|d         t          |||d         z
  ¦  «        z  }|                     |¦  «         Œ:Œùt          |¦  «        dk    rI|d         t          |d          |z  ¦  «        z  }|                     t          |¦  «        |z  ¦  «         �ŒUt          |¦  «        dk    �rÙ|d         dz  }|d         |dz  z
                       ¦   «         }t          |¦  «        dk    rt          j        g|z   }t#          |¦  «        \  }}|dk    r'||z  |d||z  z
  z  z   t          | |z  ¦  «        z  }�n%d}|j        r| }d	}t'          t)          |dz  |z
  |¦  «                             ¦   «         ¦  «        d         }t-          |¦  «                             ¦   «         }|r]|t          | |z  ¦  «        z  t1          ||z  ¦  «        z  |||z  z
  |z  t          | |z  ¦  «        z  t3          ||z  ¦  «        z  z   }n\|t          | |z  ¦  «        z  t5          ||z  ¦  «        z  |||z  z
  |z  t          | |z  ¦  «        z  t7          ||z  ¦  «        z  z   }|                     t          |¦  «        |z  ¦  «         �ŒBt9          |
||||d¬
¦  «        \  }}|                     |¦  «         |	                     |¦  «         �Œ†t          |Ž }|r|                     d¬¦  «        }|t;          |	Ž fS )r  Úx_r   c                 ó   •— g | ]}|‰z  ‘ŒS rq   rq   ©r©   r‰   Údc_leads     €rn   rÒ   z-_inverse_laplace_rational.<locals>.<listcomp>6  s   ø€ Ð$Ð$Ð$˜Aˆa�‰iÐ$Ð$Ð$rp   c                 ó   •— g | ]}|‰z  ‘ŒS rq   rq   rI  s     €rn   rÒ   z-_inverse_laplace_rational.<locals>.<listcomp>7  s   ø€ Ð;Ð;Ð;˜Aˆa�‰iÐ;Ð;Ð;rp   ra   r§   rø   FTr  r·  )r   r  r   r#  r   r€   r  rð   r}  r7  Ú	enumerater:   r$  r'   r;   r  rã   Útupler  rå   rQ   r  r/   rè   r)   r+   r2   r3   r  rM   )r  r{   rÏ   r�  rè   rG  rç   r½  r»  r¾  r'  r„   rË   rJ  r9  ry  rÈ   r‹   r…   r�   Úlr«   ÚhypÚb2ÚbsrÀ  rê   rl   rJ  s                               @rn   Ú_inverse_laplace_rationalrR  (  sì  ø€ õ
 
�‰Œ€BØ
�Š�‰Œ€AÝŒM˜!ÑÔ€EØ€GÝ”&�€JØð ($ñ ($ˆØ×$Ò$Ñ&Ô&‰ˆˆAØ�YŠY�q‰\Œ\×$Ò$Ñ&Ô&ˆØ�Q”%ˆØ$Ð$Ð$Ð$ Ð$Ñ$Ô$ˆØ;Ð;Ð;Ð; §¢¨1¡¤×!8Ò!8Ñ!:Ô!:Ð;Ñ;Ô;ˆÝˆr‰7Œ7�aŠ<ˆ<Ý�B‘”˜‘	ˆAÝ˜r‘]”]ð "ð "�Ø�a”D� A q¨¨1¬¡vÑ.Ô.Ñ.�Ø—’˜qÑ!Ô!Ð!Ð!ð"õ �‰WŒW˜Š\ˆ\Ø�1”•c˜2˜aœ5˜& ™(‘m”mÑ#ˆAØ�NŠN�9 Q™<œ<¨™>Ñ*Ô*Ð*Ñ*Ý�‰WŒW˜Š\‰\Ø�1”�a‘ˆAØ�A”�q˜!‘t‘×#Ò#Ñ%Ô%ˆAÝ�2‰wŒw˜!Š|ˆ|Ý”f�X ‘]�Ý˜‘9”9‰DˆAˆqØ�AŠvˆvØ�q‘S˜˜A˜a ™c™E™‘]¥C¨¨¨1©¡I¤IÑ-�‘à�Ø”=ð Ø˜�AØ�CÝ�%  A¡ a¡¨Ñ,Ô,×1Ò1Ñ3Ô3Ñ4Ô4°QÔ7�Ý˜!‘W”W×%Ò%Ñ'Ô'�Øð Oà�#˜q˜b ™d™)œ)™¥D¨¨A©¡J¤JÑ.°!°A°a±C±%Øñ2Ý ˜r !™t™9œ9ñ2%Ý%)¨"¨Q©$¡Z¤Zñ20ñ 0ð �Að �#˜q˜b ™d™)œ)™¥C¨¨1©¡I¤IÑ-°°1°Q±3±¸±
½3À¸rÀ!¹t¹9¼9Ñ0DÅSÈÈAÉÁYÄYÑ0NÑN�AØ�NŠN�9 Q™<œ<¨™>Ñ*Ô*Ð*Ñ*å1Ø�a˜˜E¨HÀðHñ Hô H‰HˆB�à�NŠN˜2ÑÔÐØ×Ò˜dÑ#Ô#Ð#Ñ#å�'ˆ]€FØð -Ø—’ e�Ñ,Ô,ˆØ•3˜
Ð#Ð#Ð#rp   c                óú  ‡— t          j        | ¦  «        }g }g }|D �]±}	|	                     t          ¦  «        r>|	                     ‰‰ ¦  «                             ¦   «                              ‰‰ ¦  «        }	|	                     ‰d¬¦  «        \  }
}|r,|	                     ‰¦  «        rt          |‰|||¬¦  «        x}	 €St          |‰|¦  «        x}	 €?t          |‰||¦  «        x}	 €*t          |‰||¦  «        x}	 €t          |‰||¦  «        x}	 �nˆt          ˆfd„|                     t          ¦  «        D ¦   «         ¦  «        rt!          |‰||¦  «        t"          j        f}n6t'          |‰|||¬¦  «        x}	 �nt!          |‰||¦  «        t"          j        f}|\  }}|                     |
|z  ¦  «         |                     |¦  «         �Œ³t          |Ž }|r|                     d¬¦  «        }t-          |Ž }||fS )z£
    Front-end function of the inverse Laplace transform. It tries to apply all
    known rules recursively.  If everything else fails, it tries to integrate.
    Fr³  r  Nc              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S r—   rs  )r©   r¶  rá   s     €rn   r¬   z-_inverse_laplace_transform.<locals>.<genexpr>„  s-   øè è € ÐBÐB 5�—’˜2‘”ÐBÐBÐBÐBÐBÐBrp   r·  )r   r#  r~   r'   rº   rS   r¹  r  rR  r  rA  rE  rC  rº  r�   r	   r¬  r   r€   rc   r$  rè   rM   )r  rá   rl  r�  rè   r  r½  r»  r¾  r'  r,  rç   r‹   rÄ  rÆ  rl   rÇ  s    `               rn   r  r  b  sb  ø€ õ ŒM˜"ÑÔ€EØ€GØ€Jàð %ñ %ˆØ�8Š8•C‰=Œ=ð 	?ð —9’9˜R " Ñ%Ô%×.Ò.Ñ0Ô0×5Ò5°b¸2¸#Ñ>Ô>ˆDØ×"Ò" 2¨eÐ"Ñ4Ô4‰ˆˆ1àð	DØ#×8Ò8¸Ñ<Ô<ð	Då/Ø�r˜2˜u¨xð9ñ 9ô 9ð 9�àðõ :¸!¸RÀÑDÔDÐD�Øðå7¸¸2¸rÀ5ÑIÔIÐI�Øðå-¨a°°R¸Ñ?Ô?Ð?�Øðå7¸¸2¸rÀ5ÑIÔIÐI�ØðàÝÐBÐBÐBÐB¨A¯GªGµLÑ,AÔ,AÐBÑBÔBÑBÔBð 
	Dõ )¨¨B°°EÑ:Ô:½A¼FÐCˆAˆAå;Ø�r˜2˜u¨xð9ñ 9ô 9ð 9�ØAEðFð å(¨¨B°°EÑ:Ô:½A¼FÐCˆAØ‰
ˆˆcØ�Š�q˜‘uÑÔÐØ×Ò˜#ÑÔÐÑå�'ˆ]€FØð -Ø—’ e�Ñ,Ô,ˆÝ�ZÐ €Ià�9ÐÐrp   c                   óp   — e Zd ZdZdZ ed¦  «        Z ed¦  «        Zd„ Ze	d„ ¦   «         Z
d„ Zd„ Zd	„ Zd
S )r¬  zý
    Class representing unevaluated inverse Laplace transforms.

    For usage of this class, see the :class:`IntegralTransform` docstring.

    For how to compute inverse Laplace transforms, see the
    :func:`inverse_laplace_transform` docstring.
    zInverse LaplaceÚNonerÈ   c                 óJ   — |€t           j        }t          j        | ||||fi |¤ŽS r—   )r¬  Ú_none_sentinelrG   Ú__new__)r¥   ré   r{   r‰   r�  Úoptss         rn   rY  zInverseLaplaceTransform.__new__©  s0   € Øˆ=Ý+Ô:ˆEÝ Ô(¨¨a°°A°uÐEÐEÀÐEÐEÐErp   c                 ó@   — | j         d         }|t          j        u rd }|S )Nrø   )rj   r¬  rX  )rÌ  r�  s     rn   Úfundamental_planez)InverseLaplaceTransform.fundamental_plane®  s&   € à”	˜!”ˆØÕ+Ô:Ð:Ð:ØˆEØˆrp   c                 ó,   — t          |||| j        fi |¤ŽS r—   )rc   r\  )rÌ  ré   r{   rÏ   rÍ  s        rn   rÏ  z*InverseLaplaceTransform._compute_transformµ  s-   € Ý5Øˆq�!�TÔ+ð6ð 6Ø/4ð6ð 6ð 	6rp   c                 ó  — | j         j        }t          t          ||z  ¦  «        |z  ||t          j        t          j        z  z
  |t          j        t          j        z  z   f¦  «        dt          j        z  t          j        z  z  S )Nr§   )Ú	__class__Ú_crE   r'   r   ÚImaginaryUnitr²   ÚPi)rÌ  ré   r{   rÏ   rÈ   s        rn   rÑ  z$InverseLaplaceTransform._as_integral¹  sn   € ØŒNÔˆå•S˜˜1™‘X”X˜a‘Z ! Q­¬½¼Ñ)CÑ%CØ"#¥a¤oµa´jÑ&@Ñ"@ð"Bñ Cô Cà�qŒt‰V•A”OÑ#ñ%ð	&rp   c                 ó  — |                      dd¦  «        }|                      dd¦  «        }t          d| j        | j        | j        f¦  «         | j        }| j        }| j        }| j        }t          |||||d¬¦  «        }|r|d         S |S )rÓ  rÔ  Trè   Fz[ILT doit] (%s, %s, %s)r  r   )rË  rX   rÕ  rÖ  r×  r\  r  )	rÌ  rÍ  rØ  rF   rá   rl  r  r�  r‹   s	            rn   r¸  zInverseLaplaceTransform.doitÀ  sµ   € ð —9’9˜Y¨Ñ-Ô-ˆØ—I’I˜j¨%Ñ0Ô0ˆ	åÐ(¨4¬=Ø+/Ô+AØ+/Ô+Bð+Dñ 	Eô 	Eð 	Eð Ô#ˆØÔ$ˆØŒ]ˆØÔ&ˆå&Ø��B˜¨	¸dðDñ Dô Dˆð ð 	Ø�Q”4ˆKàˆHrp   N)ri   rÙ  rÚ  rÛ  rÜ  r   rX  r`  rY  Úpropertyr\  rÏ  rÑ  r¸  rq   rp   rn   r¬  r¬  ›  s™   € € € € € ðð ð €EØ�U˜6‘]”]€NØ	ˆˆs‰Œ€BðFð Fð Fð
 ðð ñ „Xðð6ð 6ð 6ð&ð &ð &ðð ð ð ð rp   r¬  c                 óF  ‡‡‡‡— ‰                      dd¦  «        }‰                      dd¦  «        }t          | t          ¦  «        r+t          | d¦  «        r|                      ˆˆˆˆfd„¦  «        S t          | ‰‰‰¦  «                             d|¬¦  «        \  }}|r|S ||fS )a  
    Compute the inverse Laplace transform of `F(s)`, defined as

    .. math ::
        f(t) = \frac{1}{2\pi i} \int_{c-i\infty}^{c+i\infty} e^{st}
        F(s) \mathrm{d}s,

    for `c` so large that `F(s)` has no singularites in the
    half-plane `\operatorname{Re}(s) > c-\epsilon`.

    Explanation
    ===========

    The plane can be specified by
    argument ``plane``, but will be inferred if passed as None.

    Under certain regularity conditions, this recovers `f(t)` from its
    Laplace Transform `F(s)`, for non-negative `t`, and vice
    versa.

    If the integral cannot be computed in closed form, this function returns
    an unevaluated :class:`InverseLaplaceTransform` object.

    Note that this function will always assume `t` to be real,
    regardless of the SymPy assumption on `t`.

    For a description of possible hints, refer to the docstring of
    :func:`sympy.integrals.transforms.IntegralTransform.doit`.

    Examples
    ========

    >>> from sympy import inverse_laplace_transform, exp, Symbol
    >>> from sympy.abc import s, t
    >>> a = Symbol('a', positive=True)
    >>> inverse_laplace_transform(exp(-a*s)/s, s, t)
    Heaviside(-a + t)

    See Also
    ========

    laplace_transform
    hankel_transform, inverse_hankel_transform
    rÔ  Trè   FrÞ  c                 ó$   •— t          | ‰‰‰fi ‰¤ŽS r—   )Úinverse_laplace_transform)ÚFijrÍ  r�  r{   rÏ   s    €€€€rn   r˜   z+inverse_laplace_transform.<locals>.<lambda>	  s   ø€ Õ1°#°q¸!¸UÐLÐLÀeÐLÐL€ rp   ræ  )rË  r   rN   rç  rÞ  r¬  r¸  )	ré   r{   rÏ   r�  rÍ  rØ  rF   r‹   rÈ   s	    ````    rn   rg  rg  â  sÍ   øøøø€ ðZ �yŠy˜ DÑ)Ô)€HØ—	’	˜* eÑ,Ô,€Iå�!•ZÑ Ô ð N¥W¨Q°Ñ%<Ô%<ð NØ�{Š{ØLÐLÐLÐLÐLÐLÐLñNô Nð 	Nõ # 1 a¨¨EÑ2Ô2×7Ò7Ø 	ð 8ñ +ô +�D€A€qð ð Øˆà�!ˆtˆrp   c                 ó¨   ‡‡‡‡‡‡‡‡‡	‡
— t          dt          ‰g¬¦  «        \  ŠŠ	Š
ˆˆˆˆˆfd„Šˆfd„Šˆˆfd„Šˆˆ	ˆ
ˆˆfd„Šˆfd„Š ‰| ¦  «        S )zEFast inverse Laplace transform of rational function including RootSumza, b, nr¤   c                 óì   •— |                       ‰¦  «        s| S | j        r ‰| ¦  «        S | j        r ‰| ¦  «        S | j        r ‰| ¦  «        S t	          | t
          ¦  «        r ‰| ¦  «        S t          ‚r—   )r~   r�  r|  rx   r   rT   ÚNotImplementedError)ÚeÚ_ilt_addÚ_ilt_mulÚ_ilt_powÚ_ilt_rootsumr{   s    €€€€€rn   Ú_iltz#_fast_inverse_laplace.<locals>._ilt#	  sˆ   ø€ Ø�uŠu�Q‰xŒxð 	&ØˆHØŒXð 		&Ø�8˜A‘;”;ÐØŒXð 	&Ø�8˜A‘;”;ÐØŒXð 	&Ø�8˜A‘;”;ÐÝ˜�7Ñ#Ô#ð 	&Ø�< ‘?”?Ð"å%Ð%rp   c                 ó>   •—  | j         t          ‰| j        ¦  «        Ž S r—   )rm   Úmaprj   )rl  rq  s    €rn   rm  z'_fast_inverse_laplace.<locals>._ilt_add1	  s   ø€ ØˆqŒv•s˜4 ¤Ñ(Ô(Ð)Ð)rp   c                 ól   •— |                       ‰¦  «        \  }}|j        rt          ‚| ‰|¦  «        z  S r—   )r¹  r|  rk  )rl  rö  rš   rq  r{   s      €€rn   rn  z'_fast_inverse_laplace.<locals>._ilt_mul4	  s=   ø€ Ø×&Ò& qÑ)Ô)‰ˆˆtØŒ;ð 	&Ý%Ð%Ø�t�t˜D‘z”zÑ!Ð!rp   c                 óJ  •— |                       ‰‰z  ‰z   ‰z  ¦  «        }|�||‰         |‰         |‰         }}}|j        r>|dk     r8‰	| dz
  z  t          ||z   ‰	z  ¦  «        z  || z  t          | ¦  «        z  z  S |dk    rt          ||z   ‰	z  ¦  «        |z  S t          ‚rÜ   )r¸   Ú
is_Integerr'   r@   rk  )
rl  r¸   ÚnmÚamÚbmr…   r�   r„   r{   rÏ   s
        €€€€€rn   ro  z'_fast_inverse_laplace.<locals>._ilt_pow:	  s¹   ø€ Ø—’˜˜1™˜q™ 1™Ñ%Ô%ˆØÐØ˜qœ 5¨¤8¨U°1¬X�B�ˆBØŒ}ð G  a¢ Ø˜B˜3˜q™5‘z¥#¨¨2© h¨q¡j¡/¤/Ñ1°2¸°s±7½5À"À¹:¼:Ñ3EÑFÐFØ�QŠwˆwÝ˜R ™U˜8 A™:‘”¨Ñ+Ð+Ý!Ð!rp   c                 óª   •— | j         j        }| j         j        \  }t          | j        t          |t           ‰|¦  «        ¦  «        ¦  «        ¦  «        S r—   )Úfunrš   Ú	variablesrT   Úpolyr   rS   )rl  rš   Úvariablerq  s      €rn   rp  z+_fast_inverse_laplace.<locals>._ilt_rootsumD	  sC   ø€ ØŒuŒzˆØ”U”_‰
ˆÝ�q”v�v hµ¸¸¸d¹¼Ñ0DÔ0DÑEÔEÑFÔFÐFrp   )r   r    )rl  r{   rÏ   rq  rm  rn  ro  rp  r…   r�   r„   s    ``@@@@@@@@rn   Ú_fast_inverse_laplacer  	  sæ   øøøøøøøøøø€ å�i¥T°A°3Ð7Ñ7Ô7�G€A€qˆ!ð&ð &ð &ð &ð &ð &ð &ð &ð &ð*ð *ð *ð *ð *ð"ð "ð "ð "ð "ð "ð"ð "ð "ð "ð "ð "ð "ð "ð "ðGð Gð Gð Gð Gð
 ˆ4�‰7Œ7€Nrp   )Tr—   )¥rÛ  rg   rd   Ú
sympy.corer   r   r   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.exprr   Úsympy.core.functionr	   r
   r   r   r   r   r   r   r   r   Úsympy.core.mulr   r   Úsympy.core.relationalr   r   r   r   r   r   r   r   Úsympy.core.sortingr   Úsympy.core.symbolr   r   r    Ú$sympy.functions.elementary.complexesr!   r"   r#   r$   r%   r&   Ú&sympy.functions.elementary.exponentialr'   r(   Ú%sympy.functions.elementary.hyperbolicr)   r*   r+   r,   Ú(sympy.functions.elementary.miscellaneousr-   r.   r/   Ú$sympy.functions.elementary.piecewiser0   r1   Ú(sympy.functions.elementary.trigonometricr2   r3   r4   r5   Úsympy.functions.special.besselr6   r7   r8   r9   Ú'sympy.functions.special.delta_functionsr:   r;   Ú'sympy.functions.special.error_functionsr<   r=   r>   Ú'sympy.functions.special.gamma_functionsr?   r@   rA   rB   Ú-sympy.functions.special.singularity_functionsrC   Úsympy.integralsrD   rE   r  rF   rG   rH   Úsympy.logic.boolalgrI   rJ   rK   rL   rM   Úsympy.matrices.matrixbaserN   Úsympy.polys.matrices.linsolverO   Úsympy.polys.polyerrorsrP   Úsympy.polys.polyrootsrQ   Úsympy.polys.polytoolsrR   Úsympy.polys.rationaltoolsrS   Úsympy.polys.rootoftoolsrT   Úsympy.utilities.exceptionsrU   rV   rW   Úsympy.utilities.miscrX   re   rr   ru   r›   rŸ   rb   rï   r   r  r  r  r   r(  r2  rh  rp  rv  r‰  rŽ  r“  r   r¤  rª  r±  r  r  rã  rc   r  r  r  r   r"  r$  r&  r=  rA  rC  rE  rR  r  r¬  rg  r  rq   rp   rn   ú<module>rŸ     s	  ðØ Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  ð&ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð %Ð $Ð $Ð $Ð $Ð $Ð $Ð $ð<ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <à &Ð &Ð &Ð &Ð &Ð &Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cð$ð $ð $ð $ð $ð $ð $ð $à IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Að,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,à MÐ MÐ MÐ MÐ MÐ MØ /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ð:ð :ð :ð :ð :ð :ð :ð :ð :ð :à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ø .Ð .Ð .Ð .Ð .Ð .Ø +Ð +Ð +Ð +Ð +Ð +ðIð Ið Ið Ið Ið Ið Ið Ið Ið Ià 'Ð 'Ð 'Ð 'Ð 'Ð 'à€	ðð ð ð<Eð Eð EðXð Xð Xðv ð6ð 6ñ „ð6ð ðlLð lLñ „ðlLð^ ðð ñ „ðð  	ðX)ð X)ñ 	„ðX)ðv ðð ñ „ðð* ð&ð &ñ „ð&ðR ðð ñ „ðð, ð)ð )ñ „ð)ðX ðð ñ „ðð$ ðð ñ „ðð@ ðI'ð I'ñ „ðI'ðX ð;ð ;ñ „ð;ð@ ðð ñ „ðð8 ð/ð /ñ „ð/ðd ðð ñ „ðð8 ðð ñ „ðð" ðð ñ „ðð4 ð,ð ,ñ „ð,ð^9ð 9ð 9ðx*ð *ð *ðZ ð@$ð @$ñ „ð@$ðF5ð 5ð 5ð 5ð 5Ð(ñ 5ô 5ð 5ðpNð Nð Nð Nðb ðM4ð M4ñ „ðM4ð` ðð ñ „ðð 	ð%ð %ñ 	„ð%ðP ðð ñ „ðð8 ðð ñ „ðð  ðð ñ „ðð> ðð ñ „ðð  ðð ñ „ðð( ðw.ð w.ñ „ðw.ðt	 ð	ð 	ñ „ð	ð ðð ñ „ðð ðð ñ „ðð4 ð6$ð 6$ñ „ð6$ðr ð5ð 5ñ „ð5ðpDð Dð Dð Dð DÐ/ñ Dô Dð DðN:ð :ð :ð :ðz*ð *ð *ð *ð *rp   